← All work
Case study · §02 Mobile + AI · 2025–

A cross-platform AI chat app that remembers you.

Mooncake is the AI chat app I’d been waiting for someone else to build. Cross-platform from day one, automatic context memory across conversations, no “forget what I said” loops. React Native first, then iOS and Android, all on one codebase.

  • 1Codebase across iOS, Android, and the web
  • AutoContext memory, no manual prompt management
  • 0Backend servers I rent (Hono + edge runtime)
  • 2Stores pending release (App Store + Play Store)

The brief

The AI chat apps I used kept forgetting things I’d told them ten minutes earlier. Every conversation felt like an introduction. I wanted an app that built up a quiet model of who I am and what I’m working on across sessions, so I could pick up a thread three weeks later without re-explaining myself.

And I wanted it to run everywhere. Phone on the bus, tablet at the kitchen table, browser at the desk — same threads, same memory, no copy-paste between platforms.

What shipped

  • Cross-platform from day one. React Native first, with the same codebase compiling to iOS, Android, and a web build. No platform-specific forks.
  • Automatic context memory. A retrieval layer summarises and indexes prior conversations on the fly. The app remembers facts you’ve mentioned, projects you’re shipping, and people you’ve named — without you ever managing a prompt.
  • Streaming responses. Token-by-token rendering with cancel-mid-stream, retry, and message editing.
  • Tool calling. The model can call a small set of internal tools (memory search, link preview, calculator) when the conversation needs it.
  • Account sync. Threads, memory, and settings sync across devices the moment you sign in.

The stack

  • Frontend. React Native, TypeScript, Expo router. Custom design system tuned for long reading sessions on phone and tablet.
  • Backend. Hono on the edge runtime — sub-100ms cold starts, no server I have to babysit. TypeScript end-to-end so types flow from DB through API to UI.
  • Data. Drizzle ORM over Postgres, with a memory index in the same database. One migration story, one source of truth.
  • AI. Provider-agnostic chat layer with a streaming inference path and the memory-retrieval tool wired in as a callable.

Why it matters

Mooncake is the proof that the same engineer who ships regulated platforms can move fast on consumer mobile. The discipline travels: the audit-style logging that keeps a credit union out of trouble is the same discipline that turns an AI chat app into a reliable daily tool.

It also unlocks the React Native + edge stack for client work. When a customer asks for a cross-platform app with a real backend, this is the codebase the pattern came from.

Want a mobile app built like this?

Start a project