CASE 02 / 04 · ai companion app

Ghola

AI companion app
PERIOD
2026 — NOW
ROLE
Software engineer
TEAM
STACK
Hono · Vite · Cloudflare Workers · Durable Objects · R2 · LLM APIs
LINK
Private beta
[ screenshot — Ghola — daily chat with your companion ]

Not another assistant — a companion. Ghola checks in every day, remembers what matters to you, and celebrates your small wins like a friend would.

What I did

  • Built an edge-native backend with Hono on Cloudflare Workers, on top of existing LLMs — no model training.
  • Used Durable Objects to hold per-user conversation state and memory, so each companion keeps context across sessions.
  • Stored media and conversation assets in R2; frontend built and shipped with Vite.
  • Shaped a consistent companion persona and daily check-in flows, with streaming replies served from the edge.

01 Problem

Most AI chats forget you the moment the tab closes. A companion only works if it remembers — and replies fast enough to feel like a conversation.

02 Approach

An edge-native backend: Hono on Cloudflare Workers, one Durable Object per user for state and memory, R2 for assets, streaming replies straight from the edge.

03 Result

Low-latency chat with memory that carries across sessions, on infrastructure that scales per user. [add a metric if you can share one]

decision.mdKey technical call

A Durable Object per user, not a shared DB + cache

Each user’s memory lives in its own single-threaded object, close to them. No cache invalidation, no race conditions between messages, and no central database on the hot path.