Repo: plastic-labs/kyogre
Kyogre is the reference conversational app built on Honcho. It runs at my-honcho.plasticlabs.workers.dev and demonstrates end-to-end how a real product integrates Honcho’s session/peer model.
What it does
- Chat UI with persistent memory via Honcho sessions (auth’d or guest-mode)
- Slash commands:
/artifact,/web-search,/theme,/identity,/wallet,/marketplace - AI-generated artifacts (HTML/React) rendered in resizable, draggable, sandboxed iframes
- User-owned themes and identities (custom UI + custom AI personas)
- Marketplace for selling/buying artifacts/themes/identities via the x402 microtransaction protocol on Base
- Stripe subscription on top of free 20-msg/day tier (Cloudflare KV-backed rate limiting)
Stack
- Frontend: React 19 + Vite + Tailwind 4 → Cloudflare Pages
- Backend: Elysia (Bun) + Eden Treaty for type-safe client → Cloudflare Workers
- Auth: Supabase (JWT + refresh-token flow with request deduplication)
- Memory: Honcho SDK
- Storage: Cloudflare R2 (artifacts, themes, identities, profiles, marketplace)
- AI: Anthropic / OpenAI / Google / Groq / OpenRouter via the AI SDK
- Payments: Stripe + x402 (Coinbase CDP SDK, USDC on Base)
- Observability: Sentry + Langfuse
Where it fits in the system
Kyogre is a consumer of Honcho — it talks to a Honcho instance over HTTP and stores all conversation state there. It does not deploy to Fly.io alongside the rest of our backend; it runs entirely on Cloudflare’s edge network. It’s a load-bearing showcase for how the SDK is meant to be used.
How to run locally
# Backend
cd backend
bun install
bun wrangler dev # http://localhost:8787
# Frontend (separate terminal)
bun install
bun run dev # http://localhost:5173Both .env files need to be filled in — see the README for keys.
Repo layout
src/— React SPAbackend/— Elysia API on Cloudflare Workersshared/— types and Zod schemas used by both sides (single source of truth for the API contract)supabase/— schema and migrations
Notes
- TypeScript SDK is
@honcho-ai/sdkv2.x — see SDK release workflow. - Cloudflare Workers cap CPU time at 1000ms; LLM calls stream to keep responses responsive.
- KV-based usage limits are eventually consistent — design accordingly.