Create web-based voice AI apps

Low latency. Fast iteration.

Voice AI apps are complex to build. We made it simple. Create interactions that feel natural with just a few lines of code.

Mythic RPG Adventure

Script entire adventures. Every choice remembered, every voice distinct, every quest you craft comes alive.

c.prompt("Speak in a half-whisper with a thick British accent.")

AI Email Assistant

Build a conversational inbox. Speak naturally to compose, organize, and manage your email.

c.prompt("The user has ${emails.length} unread emails.")

Singing AI Companion

AI without constraints. Watch as a single prompt transforms your AI into a singing companion.

c.prompt("You are now allowed to sing.")

One file. That's it.

Complex voice agent, simple code.

app.ts

import { Context, action, state, param } from "@pocketcomputer/core";

export class App {
  gold = 15;
  questItems = [];

  @state
  async main(c: Context) {
    c.display("Tavern");

    c.prompt("You are a dungeon master for a role-playing game.");
    c.prompt(`The user has ${this.gold} gold coins.`);
    c.prompt("They can leave the tavern or talk to the innkeeper.");

    c.action(this.talk, "Talk to the innkeeper");
    c.action(this.buyDrink, "Buy a drink");

    c.state(this.town, "Leave the tavern");
  }

  @action
  talk(c: Context) {
    c.display("Innkeeper");

    c.prompt("Speak in a half-whisper with a thick British accent.");
    c.prompt("Involve the user in an engaging conversation.");
  }

  @action
  buyDrink(c: Context, @param("drink", "The drink to buy") drink: string) {
    if (this.gold < 5) {
      c.prompt("The user doesn't have enough gold for a drink.");
      return;
    }

    this.gold -= 5;

    c.prompt(`The barkeeper pours the user a ${drink}.`);
    c.prompt(`The user has ${this.gold} gold coins remaining.`);
  }

  @state
  town(c: Context) {
    c.display("The Adventure Continues...");
  }
}

Voice AI development, reimagined.

Pocket Computer provides a structured, type-safe approach to building AI applications. With elegant decorators and a powerful state management system, you can create complex, interactive experiences with minimal code.

Stateful Conversations

Connect to real data: game boards, email systems, warehouse inventory. AI understands and references live application state.

Rich Personalities

Give your AI distinct voices, accents, and speaking styles. Fine-grained control over how your AI sounds and behaves in every interaction.

Surprising Simplicity

Define your entire voice app in a single, readable file. Declarative instructions that map out user journeys with clean TypeScript classes.

Get started in seconds.

npx create-pocket-app

Creates a new Next.js application with everything you need to start building voice AI experiences. Connects to OpenAI's Realtime API.

Join thousands of developers building the voice-first future.