PHASOR · SOLO OPERATION
SHEET 05 · PART 04 DETAIL · PRODUCT STATUS: PREVIEW LIVE
PART 04 · OWN PRODUCT · 2026, CHAT IN TESTING

Koimo

A character-first AI chat and roleplay platform, built around memory that holds up over long stories, with a private backup tool that runs entirely in your browser.

PREVIEW LIVE · KOIMO.CHAT ↗

FUNCTION
Character chat with long-term memory
STATUS
Backup tool live · chat in testing
IN SERVICE
2026 – present
ROLE
Solo · design → support
Koimo landing page with an original character scene
FIG. 01 — LANDING · SCRIPTED CHARACTER SCENE
Koimo backup tool converting a character card and chat archive
FIG. 02 — BACKUP + CONVERT · ON DEVICE

01The problem

People put months into conversations with AI characters, then the character forgets what happened, or the platform changes and the history is stuck.

Koimo starts from both ends. It gives people a way to get their characters and chats out of other tools today, and it's building a chat product where continuity is the core feature rather than whatever happens to fit in the context window.

02Approach

The backup tool shipped first because it needs no servers and no trust: files are parsed in a browser worker and never leave the device. It reads Character Card V1, V2 and V3 (JSON and PNG), SillyTavern and Oobabooga chats and CAI Tools exports, and writes them back out in formats other apps can load.

The chat side treats the stored conversation as the source of truth. The model is fed a rolling summary, recent messages verbatim, pinned memories and facts retrieved from earlier in the story, assembled inside a token budget for each request.

03How memory works

  1. Every message is stored with its parent, so a chat is a tree. Swipes, edits and branches are paths through it, not overwrites.
  2. A background worker folds older messages into a rolling summary and commits it with its boundary atomically, so nothing drops out before its replacement exists.
  3. A second pass extracts durable facts with links back to the messages they came from, stored for keyword or vector retrieval.
  4. Each reply gets the character, the persona, the summary, retrieved facts, pins and recent turns, then a safety check before generation.

04Capabilities

  • On-device import and export of character cards and chat archives
  • Structure-only inspector for unknown export formats
  • Character creator and editor with a draft test chat
  • Personas, swipes, branches, edit and continue
  • Visible memory panel with summaries and pins
  • Streaming chat with regional model routing
  • Per-account spending limits and quota holds
  • 34 original character profiles with scene guides

05Stack

LANGUAGE
TypeScript
FRAMEWORK
Next.js 16 · React 19 · Tailwind v4 · Vercel
DATA / AUTH
Supabase (Postgres + RLS · pgvector · Auth · Storage · cron workers)
MODELS
DeepSeek API, with EU/UK/Swiss traffic routed to a separate host
CLIENT
Web workers · streaming JSON parser · fflate zip
TESTING
Vitest · PGlite · Playwright · memory and voice evals

06Engineering notes

  1. Round-trip tests on real files. Every supported format is tested against real exports, then imported, exported and compared, so a card survives the trip with every field intact. A 120 MB archive runs in CI.

  2. Never guess a file format. When a file isn't recognized, the inspector produces an outline of its structure with no content in it. A parser only gets written once a real sample exists.

  3. Spend is held before the model runs. Each generation reserves quota against the chat first, so retries, regenerations and background summaries can't push an account past its limit.

  4. Characters that don't sound like a chatbot. Voice and turn evals check for stock phrases, characters interviewing the user, and openings that give away the plot.

07In service

PREVIEW LIVE · CHAT IN TESTING

Built: the on-device backup and conversion tool, the landing site with original characters and scripted scenes, accounts, private library, streaming chat, the memory system, the character editor, personas, branches, exports, and test-mode billing for a Plus tier.

Now: live acceptance of accounts and chat on the hosted database, then public browsing and payments.

08What's next

  1. Open live chat once signup, model routing and safety checks pass on production.
  2. Public character browsing, creator profiles and reporting.