Examples
Complete Reboot applications to run and take apart. Each one is a real project, not a snippet.
Start here
bank-pydantic
reboot-dev/reboot-bank-pydantic
— Python backend; React web app, Expo mobile app, and MCP UIs
The most complete example, and the one that shows what "general
purpose" means in practice: one backend, one User per person, and
three frontends. A multi-user bank with signup, accounts,
transfers, and interest.
It demonstrates:
- Sign-in and
Userauto-construction: signing in enrols the user as a bank customer, inUserServicer.create. - A web app under
frontend/web/, signing in withuseSignIn()and branching onuseUser(). - A React Native app under
frontend/mobile/, signing in withexpoAuth(...)against the same OAuth server — same hooks, same user. - MCP UIs under
frontend/mcp/, so a chat client can open accounts and read balances too. - A debit/credit transaction that atomically moves funds between accounts.
- A task that pays out interest.
chat-room / hello
reboot-dev/reboot-hello
— Python backend, React frontend
The simplest possible app: one singleton chat room, one reactive frontend. Open two browsers on the same backend and watch messages flow.
It includes:
- A reactive frontend.
- Optimistic updates: sent messages render as pending until the backend confirms them.
- A
Dockerfileshowing how to publish to Reboot Cloud.
Because of its simplicity it uses no
transactions — see bank or counter for
those.
Web apps
counter
reboot-dev/reboot-counter
— TypeScript backend, React frontend
The most concise demonstration of a Reboot transaction plus a reactive frontend:
- Multiple instances of the same state type.
- A transaction that atomically moves counts between counters.
- A Next.js frontend using server components.
bank
reboot-dev/reboot-bank
— Python backend, React frontend
A sibling of bank-pydantic that adds the
Mailgun integration, sending an email
transactionally as part of signup.
bank-zod
reboot-dev/reboot-bank-zod
— TypeScript backend, React frontend
The same bank with its API defined in Zod.
prosemirror-zod
reboot-dev/reboot-prosemirror-zod
— TypeScript backend, React frontend
Integration with the ProseMirror rich-text editor.
It demonstrates:
- How to sync a React frontend with a Reboot backend.
- A long-lived control loop as a
workflowmethod, checkpointing the ProseMirror document.
boutique
reboot-dev/reboot-boutique
— Python backend, React frontend
The largest example: a fairly complete web shop, factored into components that separate teams would plausibly own. Originally forked from GoogleCloudPlatform/microservices-demo.
Of particular note:
- A more complex React frontend.
- Many state types and interactions between them.
- A multi-faceted "checkout" method that transactionally composes calls to many other services — if any part fails, the whole thing aborts atomically.
- Calls to Reboot-hosted gRPC services.
Start with hello, counter, or bank before this one.
MCP UIs
mcp-ui-counter
reboot-dev/reboot/…/mcp-ui-counter
— Python backend, React MCP UIs and a web app
A counter with visual UIs that run inside ChatGPT, Claude, VS Code, or Goose — plus a standalone browser SPA that the MCP UI deep-links to.
It demonstrates:
UImethods that open React apps inside the MCP client.- The
Usertype as an entry point that creates other state types. - Generated React hooks (
useCounter()) working unchanged in both the MCP UI and the browser.
Ask Claude Code or Codex to build something like it.
chick-potle
reboot-dev/reboot-chick-potle
— Python backend, React MCP UIs
A small food-ordering app. The AI calls tools to start an order, browse the menu, and change the cart; the human sees a menu grid and a cart rendered alongside the conversation.
It demonstrates:
- Two
UImethods sharing one generated hook (useFoodOrder()), so adding an item in one view updates the other immediately. User.start_orderas aTransactionentry point.- MCP
Tools (get_menu,get_cart,add_to_cart,remove_from_cart) that let the AI drive the order.
agent-wiki
reboot-dev/reboot-agent-wiki
— Python backend, React MCP UIs
A shared knowledge base that humans and AIs both read and write. Users hand in raw conversation transcripts; a background "librarian" agent distils them into a small, well-organized set of markdown pages.
It demonstrates:
- A long-running
workflow(Wiki.ingest) acting as a per-wiki background agent. Transactions that atomically create related state across types.- Cross-state references as
<StateType>:<state_id>URIs embedded in markdown, building a page graph with no link table. - An in-process test suite driving the librarian with a scripted
Pydantic AI
FunctionModel, so CI needs no real model calls.