Chocopie direction: own the moments of an app

October 5, 2026. Built from the repo history, 7 live GPT-6.1 Sol runs, a hands-on primitive spike, competitor pricing pulled today, and independent consults with gpt-6-astra and gpt-6.1-sol.

Six weeks of directions taught us one thing clearly: language models draw well enough when they author the whole illustration with named parts, and nothing cheaper beats them at taste. The product that fits that fact is narrow. Chocopie draws the welcome, empty and success moments of your app, in your colors, with motion that suits the moment, and hands you a React component.

  • Pick Chocopie Moments. Describe a moment in your app, watch it draw, change a part, ship a React component. One thing to do, one work on screen.
  • 100 credits buys 10 moments. A moment is 10 credits, 50 cents, and includes one alternative draft and two changes. Extra changes are 3. Two moments are free at signup. Failed drawings cost nothing. Colors, motion and downloads are free.
  • Sol 6.1 is cheap enough. A drawing costs about $0.04 and a change about $0.06, against 50 cents a moment. No paid moment runs below cost, even at the full allowance. The open question is whether developers ship and pay, not model cost.
  • Do not pivot to primitive. It blurs good art and morphs into mush. Cut sprites from the product. Train nothing.
  • Add card checkout before testing demand. USDC-only reaches about 2.5% of US consumers, and the release docs still say payments need a first live purchase.
  • LottieFiles could ship this. It already has prompt to vector, prompt to keyframes, state machines and an MCP, at about the same price per piece. Our edge has to be finished output for developers, proven head-to-head.
  • Run a two-week test with written gates, including a blind comparison against LottieFiles, and obey the result.

What we built, and what each attempt proved

Every row ended for a measured reason. The pattern: whenever a model had to animate art it did not draw, part ownership broke.

WhenDirectionWhat it provedWhy it stopped
Sep 5Lottie and Rive agent workbenchTyped edits, state machines and exports workA 647-file corpus hit 70,119 unsupported fields; edits took 143 s
Sep 6 to 9Hosted native studio, vectorization, USDC walletAccounts, ledger, R2 and wallet checkout run end to endAgent art was less detailed than references; one vectorization run burned 86 credits
Sep 10Recraft SVG and specialist toolsStatic SVG at $0.08 imports pixel exactFlat unnamed paths; Sol spent $0.23 failing to animate them
Sep 11Sprite states and raster puppetsWhole clips for $0.10 per 5 statesA codex-pets clone with rigid cutouts and a separate editing model
Sep 15 to 16Pie runtime, cheap models, fine-tunesCorrect, fast, under a centCraft stuck at 2.6 to 3.0 of 5; blind votes preferred astra 21 to 0
Oct 1 to 2Illustration studio on SolNamed parts, motion states, scoped edits, React exportStill local and uncommitted, on the old base
OctProduction studio moves to GPT-6.1 SolSol drives the live character studio with synced chatStill a broad studio with sprites, deployed by hand from chocopie-release

Across all of it: 11 accounts before the September 9 wipe, payments only ever tested with mocks, and PostHog probably off in production because CI sets no key.

Today's evidence: Sol drawing one app's moments

Three briefs for a sample invoicing app, Tally, sharing one house style and four brand colors. These came out of the real local studio with its validation and render review, unedited.

Three illustrations for Tally: a paper plane buddy waving beside an invoice, the buddy resting by an empty tray on a desk, and the buddy cheering as a coin drops into a jar
Welcome, empty and paid. All three were accepted on the first try, at $0.036 to $0.044 and 49 to 60 seconds each. The recurring character and palette held across the set.
The welcome illustration, the same illustration with a marigold scarf on the buddy, and an alternative composition with the buddy flying toward an inbox tray
The welcome moment, then the same moment after "Give the buddy a little marigold scarf" with only the buddy group changed ($0.067, 79 s), then the included alternative draft ($0.040, 78 s).
RunCostTimeResult
Welcome drawing$0.04458 saccepted
Empty drawing$0.03649 saccepted
Paid drawing$0.04260 saccepted
Alternative welcome$0.04078 saccepted
Change: clearer face$0.06250 sapplied, barely visible
Change: marigold scarf$0.06779 sapplied, scoped
Scarf attempts on a broken local DNSnone10.5 sfailed, no cost

Seven runs is a smoke test, not an acceptance rate. The face change shows the review step can approve an edit nobody would notice. The two-week test measures the real rate on strangers' briefs.

Why not primitive

The spike ran fogleman/primitive on a fox drawn by gpt-image-2.5-flare for $0.014, in six shape modes at 50, 150 and 400 shapes, and built assemble, scatter and morph demos.

A crisp cartoon fox, a blurry version built from 150 triangles, a closer version built from 400 polygons, and a chaotic halfway frame of a morph between two poses
The source, 150 triangles (12 KB SVG, 5 s), 400 polygons (57 KB SVG, 49 s), and the halfway frame of a 200-triangle morph to a waving pose.
  • At best it reproduces the source, softer. The flat PNG was sharper and smaller than any SVG worth looking at.
  • Shapes carry no meaning, so a morph between poses passes through mush. Warm-starting the second pose from the first was no better than matching.
  • No named parts means no "change the scarf" and no part motion. Every past rigging failure was about part ownership, and primitive has none.
  • The market already gives it away. geometrize and SQIP are free, vectorizer.ai converts without limit for $9.99 a month, and Fogleman's own app is now free.

Reopen it only if buyers ask for a geometric reveal as a look. Then it becomes a style inside Moments, not a product.

The product

Chocopie draws the moments of your app as illustrations that move, in your colors, ready for React.

The buyer is a frontend developer or small team shipping a real screen. Free libraries are static and generic. Recraft returns static unnamed paths. LottieFiles' AI is a toolkit inside its editor: generate a vector, then animate it, then add a state machine, on a subscription. Chocopie gives an original, matched set with motion that suits each moment, in one step, as a component that needs no key.

  1. Name the app and its colors once.
  2. Describe a moment. The kind is inferred and shown.
  3. Watch it draw. Named parts appear as they validate.
  4. Change a part by selecting it, or adjust colors and motion for free.
  5. Use it: React first, then HTML and image files.
KindDefault behaviorIn the host app
WelcomePlays once on arrival, then restsMounts with the screen
EmptyRests and breathes gentlyHover reacts, nothing loops loudly
SuccessCelebrates once, then restsHost sets state="celebrate" when the event lands

The prototype has all 30 screens in six flows, the stored state machine, and the engineering notes for each screen. Every artwork in it is the Sol output above, played by the real export runtime.

Economics

Price the outcome, not the provider. Today one credit is $0.01 of provider spend, so customers see variable charges and the pricing page cannot say what a pack makes. A fixed 10 credits per moment fixes both.

Provider cost per momentMeasured basisCostWith 20% failure overhead
Typical: one drawing and one change$0.041 drawing, $0.064 change$0.105$0.13
Full allowance: two drafts and two changessame$0.210$0.25
PackPer momentProvider, typical to fullCard fee and infraContribution, typicalContribution, full
$5, 100 credits, 10 moments$0.50$0.13 to $0.25$0.055$0.32, 63%$0.20, 39%
$20, 500 credits, 50 moments$0.40$0.13 to $0.25$0.03$0.24, 60%$0.12, 30%
Extra change, 3 credits$0.12 to $0.15$0.08small36% to 49%
  • Free trial is the acquisition spend: two moments on email verification instead of 100 credits, about $0.26 per verified signup. It pays back if about 8% of verified signups buy the $5 pack. Burn here, where it is capped per email, and never below cost on paid moments.
  • Retire the $10 for 250 and $50 for 1,500 packs for new purchases and honor existing balances.
  • Against LottieFiles: its AI credits come with a subscription, 300 a month on Individual. Prompt to vector is about 2 credits and keyframes or state machines about 3 each, so an animated piece is roughly 50 cents of credits. We are not cheaper per piece. We are cheaper to start, $5 with nothing renewing, and we hand over a finished component.
  • Cost-down to about $0.05 a moment: a cheaper model for scoped changes (Pie measured edits near $0.003), a cheaper vision reviewer than a second Sol call, and prompt caching. That lifts the $5 pack to about 80%.

Your questions, answered

Remove sprites, or keep them as a style?

Remove them from the product and archive the code. A sprite is a raster clip with its own editing model and export. As a style option it brings back a second pipeline and a second set of expectations. Both consults said the same, independently.

Pivot to primitive with small neural nets?

No. The spike shows the output is a blurrier copy of the source with no parts to edit or animate. In September, six experiments showed fine-tunes buy speed and style, never craft. Small models may later help rank drafts by real buyer picks or cheapen changes, once there are buyers.

Is Sol 6.1 cheap enough for now?

Yes. At $2 and $10 per million tokens, a drawing is about 8% of the 50 cents a moment sells for, and every September attempt to replace the frontier author lost on taste.

Isn't a dollar a moment too expensive?

Yes, so the price is 50 cents. Even at the full allowance a paid moment keeps 39% on the $5 pack, so there is no need to burn on paid use. Spend on acquisition through the two free moments instead, and let the cost-down widen the margin later.

Are we better than LottieFiles, and can't they beat us tomorrow?

Not on price; it is about the same per piece. On the work, theirs is an editor toolkit for animators and ours is one finished step for developers, but nobody has compared outputs on the same briefs yet. And yes, they could ship this within a quarter, since nothing here is a technical moat. That is why the test includes a blind head-to-head on 10 briefs. If developers do not clearly prefer Chocopie, stop.

What did astra and sol say?

Both picked the Sol studio narrowed to one app moment (astra: success, sol: empty states), fixed per-outcome credits, card checkout, cutting sprites, and no training. This plan takes their narrowing and makes the set of moments the unit, because a matched set is what a free library cannot give.

What we cut from the product

  • Sprite states, raster puppets and the character studio's state board.
  • Community, public profiles, collections, and the publish-to-export gate. Exports become private and free.
  • Provider-cost credits, model choices, budget settings, the legacy Lottie and Rive editor, and the MCP surface as a marketed feature.

Keep the code. Build Moments on the production base in chocopie-release, which already runs GPT-6.1 Sol: port the illustration studio onto its Worker with the accounts, ledger and R2, and render reviews with the resvg WASM renderer that already runs there instead of the Node-only canvas.

Two-week test, gates written first

DaysWork
1 to 3Moments flow on the hosted base. Fixed 20-credit holds. Card checkout with USDC in the same sheet. PostHog on. Recruit 15 to 20 developers with a real screen to ship and collect 30 briefs.
4 to 7Run their briefs with no founder touch-ups. Record accepted moments, drafts and changes used, latency, provider cost and rescues. Run 10 of the same briefs through LottieFiles prompt to vector and Motion Copilot for a blind comparison.
8 to 14Sell the real $5 pack. Watch installs in their projects. Count second moments.
GatePass
Would ship itAt least 21 of 30 briefs accepted within the included drafts and changes
Unit costProvider spend over accepted moments at most $0.15; first drawing p95 under 120 s
PaysAt least 5 people pay $5 with real money, at 50 cents a moment
ShipsAt least 5 moments live in real apps, at least 3 buyers back for a second moment
Founder rescueFewer than 20% of briefs need a hand fix
Beats LottieFilesRecruits prefer Chocopie in at least 7 of 10 blind pairs on shared briefs

If any gate fails, stop expanding and diagnose that gate. A failed gate is not permission to pivot into primitive or training.

Risks

  • Quality at volume is unknown. Seven runs on one brief family. The review step approved a near-invisible change.
  • Waiting 50 to 80 seconds. Streaming named parts makes the wait watchable; without it the draw feels slow.
  • Purchase frequency. An app has only so many moments. Growth has to come from new apps, teams and agencies.
  • Incumbents move. LottieFiles already ships prompt to vector, Motion Copilot, prompt to state machines and a Creator MCP, and could ship one-step moments within a quarter. The Rive agent, Figma Make and open Lottie models from CVPR 2026 are close behind.
  • Provider dependence. Sol's price or behavior can change; keep the review harness model-agnostic.