Skip to content
← Work

Case study · 2026 · live

JotterDown

A writing app for novelists. Public site is a hold page today; the app lives in the repo (TipTap, entity graph). Ambition: change one fact and see every page it touches before you commit. Collab infra (Yjs/Hocuspocus) paused until paying demand is proven.

Astro 6·React islands·Tiptap·Supabase·Cloudflare Workers·Claude

01 · Problem

Novelists need a writing surface that respects long-form structure — characters with psychology, timelines that branch, prose you can interrogate — without becoming yet another AI-everything writing toy.

02 · Approach

  1. 01

    TipTap as the editor primitive, customized for chapter / scene / character contexts.

  2. 02

    Supabase + Stripe for auth and subscriptions; Claude as an opt-in analytical layer, never a generator-by-default.

  3. 03

    Worked the prose-analysis surface in tight 1–3 minute iteration cycles to keep felt latency invisible.

03 · Outcome

Live at jotterdown.app. Currently being used to write a novel — the dogfooding loop drives the roadmap.

Anthropic
Claude
Gemini
xAI / Grok
TypeScript
Python
PowerShell
React
TanStack
Astro
Tailwind CSS
Vite
Node.js
Three.js
Radix UI
shadcn/ui
Supabase
PostgreSQL
Drizzle ORM
Express
Stripe
Firebase
Resend
Cloudflare
Vercel
Sentry
GitHub
VS Code
Unreal Engine / UEFN
UiPath
Anthropic
Claude
Gemini
xAI / Grok
TypeScript
Python
PowerShell
React
TanStack
Astro
Tailwind CSS
Vite
Node.js
Three.js
Radix UI
shadcn/ui
Supabase
PostgreSQL
Drizzle ORM
Express
Stripe
Firebase
Resend
Cloudflare
Vercel
Sentry
GitHub
VS Code
Unreal Engine / UEFN
UiPath