A tool for writers, not a replacement for them. Five minutes a day, one action line at a time, feedback that asks instead of dictates. I founded the company, designed the product, and shipped the app myself.
Client
Craft Five Solo project
Timeline
2026
Role
Designer & builder
01 Problem
Distracting action lines.
I’m a TV writer. In my own drafts and in scripts I read in a Rewrite Lab, the same issue kept surfacing: story was working, but overwritten action lines were getting in the way. Five-line chunks, narrated camera, one image stretched across three sentences.
02 Insight
Practice on someone else’s prose.
Rewriting action lines you’re unattached to teaches you to see unnecessary words, and that vision sticks when it comes to your own writing.
Spend five minutes a day on an exercise you didn’t write. Without ego in the prose, you can spot the issues, suggest a solution, and apply the skill to your own pages.
Refining action lines. Craft Five gives feedback, but doesn’t rewrite for you.
03 Design
The prompt is the product.
The Claude API call is the product surface. Most of the design time goes there, not into the UI. I’m still iterating on the exercises and feedback prompts.
Thirty single-moment scenarios. Each hidden flaw shows up as a behavior that’s getting in the character’s way. The distribution checks at the bottom keep the scenes from repeating — different flaws, different settings, different tempos. The system shouldn’t train writers on the same scene over and over.
The taxonomy the system prompt thinks in. Each draft embeds two named flaws — ADVERB_HEAVY, EMOTIONAL_TELEGRAPHING, UNFILMABLES, STAGE_DIRECTION_CREEP, and others.
Three rubrics, one loop
Underneath the prompts are three rubrics that have to agree with each other. A setup rubric for exercises, a draft rubric for the flawed scenes, and a critique rubric for evaluating rewrites. They feed two prompts: a scene generator and a critique engine that returns structured JSON, so the UI can render score and sections rather than a wall of text.
The two system prompts in production. The critique engine’s voice is set explicitly: not a grammar tool, not a cheerleader, not a harsh professor — the best script editor the writer has never had access to. Structured output. Named flaws. Feedback that remembers what you tried last time.
04 Build
Shipped solo, end to end.
Next.js 14 with App Router and TypeScript
shadcn/ui on the Mira preset with Tailwind
Supabase for attempts and completions
Clerk for auth
Anthropic Claude API server-side
Vercel for deploy
Lemon Squeezy — planned payment provider, not wired up yet
I’m a designer who codes. The hardest part was holding scope while learning enough of the stack to ship without cutting corners I’d regret.
05 Status
Live, and narrowing further.
Craft Five is live at craftfive.app. The prompt is still under active iteration. I’ll set up the payment provider when the critique quality holds up with real users.