/decisions · 2026-08-31 · printables · studio charter

The printables studio: charter, org, architecture, and unit cost

Source: founder rulings 2026-08-30 evening, on top of the step-1 memo. Owner: Both. Priority: High.

Amended 2026-08-31 after publishing, on founder input the same evening: the account model in section 6 is confirmed rather than guessed and is adult-first; every pack now opens with a parent-facing overview page (section 3); and section 5 is now a two-family shortlist with two founder-picked finalists, Little Press and Scribble Works. Both .com domains turn out to be listed for sale rather than in use, and an existing-use search found an active New Jersey children's publisher already trading as The Little Press.

What this page is. The step-1 memo scoped one rung. This page stands up the thing that climbs the rest of them: a standing studio of role-scoped agents with a nightly cadence, a critic gate per artifact class, and a Cloudflare architecture that reaches rung 4 without a rewrite. It also prices the whole thing, twice — once on the founder's Max subscription, once on the Claude API — and checks six candidate names against live registries.

What is already settled and not relitigated here. Step-1 scope is approved. Kill criteria are dormant until launch is declared. Multilingual is an engine property, not Spanish positioning. The target is tiers 1 through 4. Cloudflare is the platform. Generation stays local until volume forces the API. Pricing shape is a cheap subscription plus customization credits. Ray operates, the founder is the board.

What this page asks. Three decisions: accept or amend the charter, pick a name from a shortlist that now has facts behind it, and greenlight the nightly studio cron. Section 6's account model and the parent-overview page in section 3 are founder additions from the same evening, recorded here as settled rather than asked. Nothing here spends money except the $5/month Workers floor, and that only when rung 2 is actually built.

1. The standing objective

Climb tiers 1 through 4 of the trust ladder. Static catalog, then just-in-time customization, then a Model Context Protocol (MCP) endpoint, then scheduled delivery. Tier 5, the turnkey service, is explicitly out of scope for this charter and gets its own decision when tier 4 is real.

Work self-arrives. The studio does not wait to be told what to build. The seasonal calendar, the taxonomy gaps in the existing library, and the next rung's build list are all readable inputs; the nightly round dequeues from them. The founder is not a task queue.

Done means critic-gated and deployed. Not "drafted," not "ready for review." An artifact is finished when its assigned critic passes it and it is live. Anything that cannot pass its gate goes back into the queue, not to the founder.

The founder touchpoint is a decision page. Not a status thread, not a standup. When the studio needs a judgment it cannot make — a name, a price, a rung transition, a spend, that becomes a page like this one with buttons on it. Between pages, the studio is expected to be silent and productive.

The load-bearing claim in that objective is the third one, and it is worth being honest about it: "done = critic-gated deploys" is only as good as the critics. The existing critic family has a real track record on this exact product — the bilingual pack went four review rounds and the critic caught a muñeca illustration that read as "girl" rather than "doll" across two independent fresh-eyes reads. That is a working gate. It is also a gate that has never run unattended overnight without the founder seeing the output the next morning, which is precisely what decision (c) below asks permission to try.

2. Org design

Four role-scoped agents, dispatch-driven, following the pattern already approved and implemented for the support-agent fleet on 2026-08-08: named sessions, per-agent handoff files, crossSessionInbound: accept, and the standing traffic rule that only Ray talks to the founder. The studio roles are additions to that manifest, not a new mechanism.

product

Owns what gets built next and why. Reads the seasonal calendar, the library's taxonomy gaps, and the rung backlog; writes the specs the other three work from. Holds the catalog roadmap and the activity registry.

autonomous — choosing the next activities, writing build specs, splitting existing pack pages into catalog entries, reordering the queue, retiring an activity that critics keep failing.

escalates — any change to the ladder ordering or to what a rung means, any pricing or credits change, any commitment made to a person outside the household.

design

Owns the visual system: templates, themes, render profiles, and the print-genre conventions in the library README. Keeps templates and parameters separate so rung 2 extends the schema rather than replacing it.

autonomous — new templates, theme variants, layout iteration, render-profile work (full-color, accents, pure black-and-white), and any revision a critic asked for.

escalates — the brand mark, the name, the typographic identity, and anything that changes how the product looks to someone who has already seen it.

engineering

Owns the Cloudflare surface and the publish rails: the Astro site, R2, the rung-2 Worker and queue, the credits ledger, the MCP endpoint, the rung-4 Workflow. Builds through the worktree rail so a publish never disturbs a working tree.

autonomous — reversible builds, branches, pull requests, preview deploys, schema migrations on non-production data, and anything inside an existing free tier.

escalates — production deploys, creating any resource that starts a bill (including the flip to the Workers Paid plan), and anything touching payment or a live credits balance. This is a hard gate, not a preference.

growth

Owns discovery and the instrumentation the kill criteria depend on: taxonomy-as-navigation, sitemaps, seasonal timing, listing copy, search-console wiring, and download counting that can tell the household apart from the world.

autonomous — metadata, structured data, internal linking, keyword research, analytics wiring on non-child-facing surfaces, and drafting any copy.

escalates — every paid-media dollar, every new external account, every outbound email to anyone who is not the founder, and any analytics placed on a surface where a child profile exists.

Ray is the operator: dispatches the roles, runs the gates, writes the decision pages, and is the only session that speaks to the founder. The founder is the board: names, prices, rung transitions, spend. No role agent has channel plugins bound, so none of them can message anyone even by mistake.

Cadence

The QA gate map

Which critic gates which artifact class. Every one of these already exists; nothing here is a new critic. Following the fleet proposal's deliberate exclusion, no critic is a standing agent — fresh-eyes review requires zero context, so every critic stays a per-dispatch subagent that never accumulates the build's framing.

Artifact classGateBlocks what
Printable page or pack (visual)design-critic, images onlyProofs reaching the founder. Standing library rule, already in force.
Rendered PDFverify-pdf-outputPublication to R2.
Site page or catalog surfacebuild-landing-page four-layer + design-criticProduction deploy.
Deployed behavior (customization endpoint, MCP endpoint, download flow, credits deduction)behavior-critic, source-blind, against a pre-written contractCalling a rung live. This is the gate that matters most from rung 2 on, because a page that looks right and charges wrong is the failure mode.
Vault noteverify-vault-writeFiling.
Decision page or strategic recommendationverify-strategic-outputThe founder seeing it. This page is gated by it; the trail is at the foot of the page.
Dispatch prompt to a role agent (required tier)verify-dispatchThe dispatch being sent.
The gap in this map. There is no gate on the queue — on whether product picked the right next thing. Critics score artifacts, not priorities. A studio that ships four critic-passing activities nobody searches for has passed every gate on this page and still wasted a month. Growth's instrumentation is the only feedback that closes that loop, which is one more reason it is on the critical path rather than a nice-to-have. Stated here rather than solved, because solving it needs live traffic that does not exist yet.

3. Cloudflare architecture, tiers 1 to 4

One platform, four rungs, no rewrite between them. The through-line is that the queue is the seam: from rung 2 onward every generation request lands on a queue, and what drains that queue is an implementation detail that can be a local machine tonight and an API call later without the rest of the system noticing. That is what makes "generation stays local until volume forces the API" an architecture rather than a temporary state.

Tier 1 — static catalog  ·  Pages + R2

What gets built
Astro site on Cloudflare Pages, catalog pages generated at build time from the library's meta.yaml files. PDFs in an R2 bucket. Publishing runs through the worktree rail. Plus the parent overview page on the front of every pack, described below.
State
PDFs in R2. Catalog metadata in git — there is no database at this rung and adding one would be premature. Stable activity IDs assigned here and never reissued.
Stays local
Everything. The whole engine, every render, every critic round.
Cost
$0.00/month, inside free tiers. See section 4.

Every pack opens with a page for the parent

founder addition, 2026-08-30 evening Page one of every pack is not for the child. It is a parent-facing overview: what the activities in this pack are, and what the child is meant to learn from each one. The child's pages start on page two.

This is cheap and it is not cosmetic. Cheap, because the generator already carries the skills tags for every page it produces, so the overview renders information the engine holds and currently discards. Not cosmetic, because it does three things at once:

Scope note. This is one more page per pack, one more template, and one more thing the design critic gates. It is not free work, and the step-1 sizing already flagged that "we mostly have it" is how scope estimates go wrong. Budget it as a real template, not as a header.

Tier 2 — just-in-time customization  ·  Worker + Queues + D1

What gets built
A Worker takes a customization request (activity ID, child name, language, theme), checks and reserves credits, enqueues a job, and returns a job handle. A Durable Object holds per-job status and does the per-account rate limiting. When the job completes, the artifact lands in R2 and the handle resolves to a download.
State
Credits ledger, accounts, orders and the activity registry in D1. In-flight job status in a Durable Object — D1 is the wrong place for state that changes every few seconds. Generated artifacts in R2 under a time-to-live, because a personalized sheet has no reuse value.
Stays local
The generation itself. A local runner drains the Cloudflare queue, produces the pack, and uploads to R2.
Cost
$5.00/month Workers Paid floor. Against the published Paid-plan allotments: Workers 10 million requests and 30 million CPU-milliseconds per month; Queues 1 million operations; D1 25 billion rows read, 50 million rows written, 5 GB storage; Durable Objects 1 million requests and 400,000 GB-seconds. A year-one volume of, say, 500 customizations a month sits about three orders of magnitude below the binding ones, which are the 1 million Queues operations and the 1 million Durable Object requests. A single customization consumes several queue operations rather than one, so the true headroom is smaller than a naive 500-against-1,000,000 reading, and still not close. assumption the 500/month volume; the allotments are published rates.
The honest consequence of keeping generation local at tier 2. A web visitor cannot be served by a Max subscription. Keeping generation on the founder's machine means the queue is drained by a machine that is on but not guaranteed instant, so the "magic moment" at rung 2 is not an eight-second spinner. It is "we're making it, check back in a few minutes" or an email when it is ready. That is a product consequence of a cost decision, not just a cost decision. It may well be the right trade at low volume, and the queue seam means flipping to the API later is a runner swap rather than a redesign. But it should be chosen knowingly: rung 2 is called the magic moment, and asking someone to wait is a different moment.

Tier 3 — MCP endpoint  ·  Workers MCP over the same queue

What gets built
A remote Model Context Protocol server on Workers (McpAgent, Durable-Object-backed), exposing the catalog as searchable tools and customization as a callable tool. It is a second front door onto the tier-2 machinery, not a second system: same queue, same ledger, same R2.
State
Per-session MCP state in the Durable Object. Auth tokens and their credit association in D1. Nothing new invented.
Stays local
Still the generation, still via the queue.
Cost
No new floor: rides the same $5.00/month. Durable Objects on the Paid plan include 1 million requests and 400,000 GB-seconds per month, and an MCP session is a handful of requests against a short-lived object. assumption that MCP traffic stays in the same order as web traffic. If an agent-driven channel actually works, this is the first line to re-check, because it is the rung whose whole thesis is that traffic arrives from somewhere new.

Tier 4 — scheduled delivery  ·  Workflows + Cron + Resend

What gets built
A Cron Trigger fires a Cloudflare Workflow per subscriber per period. The Workflow is the right primitive here specifically because it is durable across steps: select activities against the child profile → enqueue generation → wait for completion → assemble the booklet → render → send. A week-long, multi-step, resumable job is exactly what Workflows exist for, and doing it with a plain cron plus retries would be rebuilding them badly.
State
Subscription schedules and delivery history in D1. Workflow instance state is managed by Workflows itself. Booklets in R2 under a time-to-live.
Stays local
Generation, still — though this is the rung where that gets strained: scheduled delivery means a deadline, and a deadline is exactly the thing a best-effort local runner is worst at. Expect this to be where the API flip actually happens, regardless of what volume says.
Cost
Same $5.00/month floor plus Workflow steps beyond the 500,000 per month included on the Paid plan, and storage beyond the included 1 GB at $0.20/GB-month. At roughly six steps per delivery, 500,000 steps is on the order of 80,000 deliveries a month. Cloudflare's Workflows pricing page states that billing for steps and storage begins 2026-08-10, so this is a real line rather than a free preview.

correction Email Routing cannot send the booklets. Cloudflare Email Routing routes inbound mail and its sends go only to verified destination addresses — it is not a transactional sender to arbitrary customers. Use it for the inbound side (a hello@ that lands in the founder's mailbox) and use Resend for outbound delivery, which is already the newsletter's sender. Cited because it is the kind of thing that looks fine in an architecture diagram and fails on the first real send.

4. What it actually costs

Phase one: generation local, hosting on Cloudflare

Every rate below was read off Cloudflare's own published pricing pages on 2026-08-30. The step-1 memo estimated "pennies per month" with no source; the estimate was wrong in the harmless direction.

LinePublished rateStep-1 volumeCost
GenerationMax subscription, already paid for other reasons15 activities$0.00 marginal in dollars — not free in capacity, see below
Pages — static assetsFree and unlimited requestsany$0.00
Pages — buildsFree plan: 500 builds/month~30/month$0.00
R2 — storage$0.015/GB-month; first 10 GB-month free15 PDFs ≈ 4 MB$0.00
R2 — Class B (downloads)$0.36/million; first 10 million/month freehundreds$0.00
R2 — Class A (writes)$4.50/million; first 1 million/month freetens$0.00
R2 — egressFreeany$0.00
Tier 1 total$0.00/month

All Cloudflare rates and allotments on this page, including the tier 2 to 4 figures above, come from developers.cloudflare.com: R2 pricing, Pages pricing, Pages limits, Workers, Queues, D1, Durable Objects, Workflows, Email Routing. All fetched 2026-08-30. Pages bandwidth limits are not stated on the limits page and are therefore not claimed here.

The one cost this table does not price: rate-limit capacity. "$0.00 marginal" is true in dollars and misleading as a whole truth. A nightly round of four role agents plus per-artifact critic subagents draws on the same Max plan capacity that phData work, the newsletter, the investing crons and everything else RDCO runs draws on. This page prices founder hours carefully and then treats founder compute as free and unbounded, which is not a thing it has any evidence for. It is unmeasured. No instrumentation exists today that would say what one studio round costs in capacity or what it displaces. That is a real reason to be careful with ask (c), and it is the argument for the round budget in section 7(c) rather than an unbounded nightly loop.

Where zero stops being zero. R2's 10 GB free tier holds roughly 38,000 activities at the observed PDF size of ~260 KB. The 10-million-Class-B free tier covers roughly 5 million downloads a month, at an assumed 2 Class B operations per download (assumption; the divisor is printed because nothing else on this page divides by an unstated number). Neither is a constraint this product will meet before something else breaks first. The first real bill is the $5/month Workers Paid plan at rung 2, and it is a flat floor, not a variable cost.

Phase two: generation on the API

This is the number that decides whether a subscription can exist, because it is the only cost that scales with customers. Modeled on a 7-page custom pack: the same shape as the bilingual pack actually built on 2026-08-30.

What is measured, and what is not. The page counts, file sizes and round counts below are read off the library and the session transcript. The token split is derived from those measurements, not observed directly, and the reason is worth stating: both packs were built inside the always-on channels session, so the transcript's token totals for that window include roughly 41.5 million cache-read tokens of long-session context replay that have nothing to do with printables. Using that figure as a per-pack cost would overstate it by more than an order of magnitude. What the transcript does give honestly is 131,938 output tokens across the whole window — two packs plus narration plus unrelated replies — which is a usable ceiling on the two builds' generation output.

InputValueProvenance
Pack size7 pagesmeasured meta.yaml, bilingual pack v2
Final artifact33,066 bytes of HTMLmeasured pack.html on disk
Review rounds4 recordedmeasured meta.yaml, verbatim: "4 review rounds"
Model passes behind those rounds~6 reconstructed (2 builder, 3 critic, 1 concept swap)assumption reconstructed from the working-context trail. It does not sum to the recorded 4 because a "round" there is a review cycle, not a model call
Model calls the cost model bills8 (4 build/revise + 4 critic)assumption, and deliberately a ceiling above the ~6 reconstructed passes. The reconstruction is from a narrative trail, not a call log, so it is more likely to under-count than over-count; billing 8 buys margin rather than pretending to a precision the evidence does not support. Cost scales with calls, so if the true count is 6 the per-pack figure below is about a third higher than that pack would actually cost ($0.71 against roughly $0.53)
Window output tokens, both packs + narration131,938measured transcript usage sum
Artifact emissions per pack4 full rewritesassumption one per build/revise round
Output tokens per emission~8,300 (33 KB at ~4 bytes/token)assumption derived from file size
Critic verdict output~1,500 × 4 roundsassumption
Output total per pack39,200 tokens, carried as 40,000derived: 4 × 8,300 + 4 × 1,500 = 39,200, rounded up to 40,000 in the cost line below. Rounding up rather than down, for the same ceiling-not-estimate reason as the call count above. Sits under half the 131,938 two-pack ceiling
Build/revise call input~25,000 × 4 (contract + template + prior HTML)assumption
Critic call input~14,000 × 4 (rubric + 7 rendered page images)assumption images dominate
Input total per pack~156,000 tokensderived, clean-room; excludes long-session replay
ModelInput rateOutput rateInput costOutput costPer pack
claude-sonnet-5$2.00/M$10.00/M$0.31$0.40$0.71
claude-opus-5 (what tonight's packs actually ran on)$5.00/M$25.00/M$0.78$1.00$1.78

sourcing Model rates read from the local claude-api skill's model table, which carries its own cache date of 2026-06-24. They were not fetched from a live pricing page, unlike every Cloudflare rate above, which was. On a page that makes a point of sourcing, the rate that matters most is the one with the weakest sourcing, and that is worth knowing before leaning on the break-even numbers. Confirm against anthropic.com/pricing before any of this sets a price. (The research behind this page was done on the evening of 2026-08-30; the page carries the 2026-08-31 dateline it was published under.)

Read that comparison, not just the first row. The packs built on 2026-08-30 ran on Opus. Modelling the business on Sonnet 5 is a 2.5× cost improvement that assumes Sonnet produces packs the critics pass at the same rate — which has not been tested, because it has never been tried. That assumption is doing real work in every number below it. The cheap version of testing it is to run the next few library packs on Sonnet and watch the round count; if rounds go from four to seven, the saving evaporates and Opus was cheaper all along.

Sensitivity. The derived token split could plausibly be half or double. At Sonnet 5 that is a band of $0.355 to $1.420 per pack, which is exactly half and exactly double the $0.710 basis, central estimate $0.71. Prompt caching is an unpriced downside lever — roughly 20,000 of the 25,000 input tokens per build call are a stable prefix (design contract plus template) and are exactly what caching is for, but no cache-read rate was verified for this page, so no discount is claimed. Treat $0.71 as a ceiling that engineering should be able to beat.

Break-even at three candidate prices

The founder's pricing shape is a cheap subscription plus customization credits, where credits are the cap on runaway generation. That makes the design question not "what price" but "how many credits at that price," because the credits allotment is the only thing standing between a subscriber and unbounded cost. Every allotment below is therefore checked at full burn, the worst case, not at an assumed average.

Every figure in the two tables below is computed from $0.710 per pack and from the rounded values printed in its own row, so each cell is reproducible from what is on the page rather than from an unrounded intermediate. Subscriber counts round up to whole people. assumption Payment processing modeled at 2.9% + $0.30 per transaction, the commonly published US online-card rate. This was not fetched from a live processor pricing page and is unverified. It moves contribution by cents, not by conclusions, but it is not a sourced number.

PriceCreditsNet of feesCost at full burnContribution, full burnContribution, 60% burn
$4/mo3 packs$3.58$2.13$1.45$2.30
$7/mo6 packs$6.50$4.26$2.24$3.94
$9/mo10 packs$8.44$7.10$1.34$4.18
$9/mo (repaired allotment)7 packs$8.44$4.97$3.47$5.46
The $9 tier as drawn is the worst of the three, and that is the finding. At ten credits it earns less per subscriber at full burn ($1.34) than the $4 tier does at three credits ($1.45), because the allotment grew faster than the price. Credits must scale sub-linearly with price or the top tier becomes the loss-leader — and the heaviest users are precisely the ones who pick the top tier. Whatever prices get chosen, the rule to keep is that full-burn contribution must not fall as price rises. A $9/7-credit tier fixes it (contribution $3.47); ten credits does not.

Break-even against infrastructure

The only fixed cost is the $5.00/month Workers Paid floor. Using full-burn contribution, the conservative case:

These numbers are true and almost meaningless. Three or four customers covers the hosting. Nobody should feel encouraged by that; it is a restatement of the fact that Cloudflare is cheap, not evidence that anyone will pay.

Break-even against the thing that is actually scarce

The step-1 memo already identified founder attention as the only genuinely scarce input, and the kill criteria cap it at 2 hours a week — about 8.7 hours a month. Pricing that time is the only way to get a break-even number that means anything.

assumption Founder time valued at $150/hour, giving $1,300/month. This is a placeholder chosen to be in the right neighborhood of a senior data-consulting rate; the founder should replace it. Every number below scales linearly with it — halve the rate, halve the subscriber count.

Price / creditsSubscribers to cover $1,300/mo — full burn— at 60% burn
$4 / 3897566
$7 / 6581330
$9 / 10971312
$9 / 7 (repaired)375239

So the real number runs from about 240 to about 970 subscribers, depending on price, allotment, and how hard people actually burn credits. For scale: the step-1 kill criterion asks for ten non-family downloads in ninety days. The distance between that bar and several hundred paying subscribers is the actual size of the bet, and it is worth looking at directly rather than past. Nothing in this section argues the bet is winnable; it argues what winning would have to look like.

No price is being picked on this page, deliberately. The step-1 memo's standing recommendation is to ship free and instrumented and not to price until there is a non-zero number in the dashboard, and nothing here supersedes that. What this section produces is not a price but a design rule worth carrying to whenever the pricing decision does get made: full-burn contribution must not fall as price rises. The $9/10 row violates it; the $9/7 row repairs it. Read these tables as a constraint on future allotments, not as a shortlist. If these numbers start reading like a recommendation, they have been over-read.

5. Name shortlist: two finalists, two families

The founder named two instincts across the evening of 2026-08-30. One is warm, small-scale, paper-and-press, with Little Press his stated favorite. The other is playful and childish, citing Humongous Entertainment (Putt-Putt, Freddi Fish, Pajama Sam) as the formative influence, and from that family he picked out Scribble Works. Fifteen candidates were checked against live registries. Both favorites turned out to be interesting for the same unexpected reason.

The finding that changes the question: both favorites are for sale.

littlepress.com is registered through Atom (formerly Squadhelp), a premium brand-name marketplace. Its nameservers are ns1/ns2.atom.com and the domain 302-redirects to atom.com/name/LittlePress, which is a listing page. It is not a business; it is inventory.

scribbleworks.com sits on ns1/ns2.namefind.com, which is GoDaddy's domain-investment arm, and serves a redirect to a /lander page. That is the standard shape of a parked domain offered for sale.

So the naming question is not "which of these is available." It is "what are these two worth, and which one is worth paying for." That is a materially better position than the one this page was in an hour ago, and it is a question with a number attached that nobody has looked up yet.

Neither price was obtained. The Atom listing sits behind a bot check that refused an automated fetch, and the GoDaddy lander renders its price client-side. Getting both numbers is a two-minute job in a browser and is the obvious next step, not a decision.

The two finalists

Little PressScribble Works
FamilyWarm / pressPlayful (Humongous)
.comTaken — listed for sale on Atom. Registered 2011-11-10, currently at Dynadot, nameservers atom.com, redirects to the listing pageTaken — parked for sale via GoDaddy NameFind. Registered 2002-12-18, nameservers namefind.com, serves a for-sale lander
.coTaken. 1API, created 2014-02-22, DNSimple nameserversLikely available. Returns "DOMAIN NOT FOUND", nothing resolves
.devUnknown — registry gave no signalUnknown — registry gave no signal
PriceNot obtained. Atom listings are typically premium-priced brand packages rather than bare domainsNot obtained. NameFind is a bulk portfolio, which usually means a lower ask than a curated brand marketplace
Fallback if the .com is too dearWeak. The .co is also taken, so a fallback means a modifier such as thelittlepress or littlepress.studio. Not checkedStrong. scribbleworks.co, thescribbleworks.com and scribbleworks.kids all came back likely available, so the name survives a failed .com negotiation intact
Existing useDirect active collision. The Little Press, LLC, a New Jersey children's book publisher with 2025 trade-press coverage. Same country, same customerTwo softer collisions. An active Ghanaian edtech firm on .tech, and a 1999 USPTO filing for children's coloring material that was abandoned in 2002
What it saysMade carefully, by people, on paper. Sells the "curated education plan" half of the founder's own sentenceFun, concrete, sayable by a four-year-old. Sells the "print-off games" half. "Works" keeps a workshop connotation that a pure silly-word name would lose
Against itReads earnest and is interchangeable with a lot of educational-printables brands. The harder acquisition, no cheap fallback, and an active US children's publisher already has the nameLess serious on its face, which cuts against a product selling a plan. Longer to say and to type

The asymmetry worth noticing. Scribble Works has a free .co and Little Press does not. Scribble Works can be adopted today at zero cost and upgraded to the .com later if the price is right; Little Press has to be resolved by a purchase or a modifier before it can be used at all. Beyond the domains, thescribbleworks.com and scribbleworks.kids also came back likely available, so that name has fallbacks and Little Press does not. None of this argues Scribble Works is the better name. It argues it is the cheaper one to be wrong about — and the existing-use findings below argue something stronger.

Existing-use check: this is where the two finalists separate

A registry check tells you who holds a domain. It does not tell you whether a company is already trading under the name. That search was run, and it found something on both.

Little Press has a direct, active collision in exactly this space. The Little Press, LLC is a children's book publisher in Wood-Ridge, New Jersey, founded 2016 as a self-publishing vehicle and operating as a traditional publisher since 2020, distributed through Independent Publishers Group. It is not dormant: Publishers Weekly and the Children's Book Council both carried coverage in 2025.

Same country, same customer, adjacent product, and they already have the name in the market. This is a materially worse problem than a taken domain, and it is the strongest single fact on this page about the naming decision. It does not make the name legally unusable — that is a question for someone qualified — but a parent searching for either brand will find the other, which is the practical version of the problem regardless of what a lawyer says.

Scribble Works has two softer collisions. Neither looks disqualifying, and both should be seen:

What this check is and is not. It was run through web search against third-party aggregators (Justia, Crunchbase, trade press), not against the USPTO's own database, and no state or international registries were checked. An active registration could exist and not have surfaced. Absence of a hit is weak evidence, not clearance, and clearance for whichever name is picked is a prerequisite to adopting it, not a formality to do afterwards.

Family one: warm / press — the rest

Name.com.co.devEvidence
Table Pageslikely availablelikely availableunknown.com returns "No match for domain TABLEPAGES.COM"; .co returns "DOMAIN NOT FOUND"; nothing resolves. The only clean .com of the fifteen
Paper Sprouttakenlikely availableunknown.com TurnCommerce/NameBright (a reseller), created 2021-09-15; .co "DOMAIN NOT FOUND"
Kitchen Table Presstakenlikely availableunknown.com GoDaddy, created 2011-03-23, resolves; .co "DOMAIN NOT FOUND"
Sprout Presstakenlikely availableunknown.com GoDaddy, created 2004-06-19, resolves; .co "DOMAIN NOT FOUND"
Sprout Printtakenlikely availableunknown.com Tucows, created 2009-02-16, nameservers resolve; .co "DOMAIN NOT FOUND"
Penny Presstakentakenunknown.com GoDaddy, created 1999-04-16, resolves; .co Dominet (HK), created 2025-07-03
Pocket PresstakentakentakenAll three registered; .dev resolves on Cloudflare nameservers
PagePresstakentakentakenAll three registered; .dev resolves to a live host
Playprinttakentakenunknown.com Blacknight, created 1996-07-23; .co NameCheap, created 2026-06-25; both resolve

Family two: playful — the rest

What the Humongous names actually do is put a character in the name: silly, concrete, sayable by a four-year-old, promising play rather than instruction. None of them contain a word like "press," "learning," or "academy." These were generated against that pattern.

Name.com.co.devEvidence
Scribblesaurustakenlikely availableunknown.com at Cloudflare, created 2026-07-06 — registered seven weeks ago; .co "DOMAIN NOT FOUND"
Giggle Presstakenlikely availableunknown.com GoDaddy, created 2018-07-07, resolves; .co "DOMAIN NOT FOUND"
Noodle Presstakenlikely availableunknown.com IONOS, created 2009-01-19, resolves; .co "DOMAIN NOT FOUND"
Doodlebugtakenlikely availabletaken.com created 1999-01-31, resolves; .dev resolves on Google nameservers; .co "DOMAIN NOT FOUND"

read this before reading the tables Every "unknown" in the .dev column is genuinely unknown, not a soft yes. The .dev registry returned only a top-level referral record with no registrar data for most names, and those lookups produced no signal either way. The .dev results that are evidence are Pocket Press, PagePress and Doodlebug, all of which resolve to live hosts. Do not read the blanks as available.

The pattern across both families. Fourteen of fifteen names have a taken .com and, in most cases, a free .co. That is not bad luck; it is what the two-word English compound namespace looks like in 2026. Unless the pick is Table Pages, this product ships on a .co or buys a .com, and both finalists happen to be buyable.

No recommendation is offered and no name is being decided by the studio. The step-1 memo's third brand direction, the founder's own name, is on neither list and has not been withdrawn. What this section adds is that the naming conversation now has facts under it instead of sketches — including the useful surprise that both favorites are purchasable, and the uncomfortable one that Little Press is already the name of an active American children's publisher.

6. The account model: adult-first, household-scoped

confirmed by the founder 2026-08-30 evening This section is no longer a guess. The reading is the account model, and the shape is adult-first: the person who signs up is a parent, not a child.

The framing, in the founder's words: "a curated education plan or tutor, packaged up as print-off games."

That sentence is worth more than the schema below it, because it settles what the product is. It is not a worksheet catalog with a personalization feature bolted on. It is a plan for a specific child that happens to be delivered as paper. The catalog is the storefront; the plan is the product. Everything at rungs 2 through 4 is in service of the plan, which is also why rung 4 stops looking like a retention gimmick and starts looking like the actual thing being sold: a plan arrives on a schedule, because that is what a plan does.

The shape

LevelFieldsNotes
HouseholdAccount email, billing, credits balance, adult members (1 or 2), render profile (ink)The unit of billing and the unit of privacy scope. Credits belong here, not to a child. Render profile lives here because it is a property of the household's printer.
AdultEmail, name, role (owner or invited)Both adults see everything in the household. Invitation is by email from the owner.
Child (sub-profile)Name, birthday, interests, focus topics, languages plus dominance, per-skill progress (introduced / practicing / secure)Birthday rather than an age band, now that the account model is confirmed. Languages stay a list with a dominance marker, because multilingual is an engine property. Skill progress stays three states rather than a percentage, because a percentage implies measurement this product cannot do.

Why birthday and not an age band, reversing the earlier sketch. The previous draft argued for a band on the grounds that a precise date is personal data bought for no gain. Under the plan framing there is a gain: a curriculum that runs for months has to know when a child crosses a developmental threshold, and a band cannot tell you that a child turned four last week. The founder specified birthday. The privacy answer is not to degrade the field, it is to keep it inside household scope.

Privacy: household-scoped, concretely

What the adult-first ruling costs, stated plainly. The earlier draft proposed a local-first profile living in the browser through tier 3, becoming a server-side pseudonymous record only at tier 4. An account with a spouse invitation, a billing relationship, and a plan that advances over months cannot be local-first: two devices have to see the same household, and a schedule has to run when nobody's browser is open. So the profile is server-side from tier 2, in the D1 the credits ledger already needs, and the privacy story is carried by scoping and retention rather than by where the bytes sit. That is a genuinely weaker guarantee than local-first, and it is the honest cost of the account model rather than a detail. It is written here rather than discovered in a schema later.

Not legal advice and not a compliance review. A parent providing information about their own child under their own account is the lower-risk shape, which is part of why adult-first matters beyond product tidiness, but this is still children's data and a real product should have someone qualified look at it before it takes a payment.

7. The case against this whole page

Everything above argues locally against itself and never once argues against the headline ask. That is a gap, and the Archive button at the bottom deserves a section that actually makes its case. Here it is at full strength.

This is premature scaling, and the page's own numbers say so. The step-1 catalog is not live. It has never had a single download from outside the household. The kill criterion asks for ten non-family downloads in ninety days, and section 4 puts the smallest viable subscriber count somewhere north of two hundred. That is a gap of more than an order of magnitude between "we have any evidence at all" and "this is a business," and the proposal on this page is to build a four-role standing organization to cross it before the first step of it has been taken.

The classic failure shape is exactly this shape. Build the org, build the machine that feeds the org, and let the machinery become the work. Four role agents with a nightly cadence will produce output every night, because that is what they are for. Output is not the constraint. The step-1 memo already named the constraint, twice: discovery is the whole problem, and the market largely clears at zero. Nothing in this charter touches either. A studio that ships thirty critic-passing activities into a site nobody has found has spent thirty nights confirming that production was never the bottleneck.

The cheaper version of this decision exists and is not on the page. Ship step 1 by hand. Ten to fifteen activities is a couple of weekends of the loop that already works. Instrument it. Wait ninety days. If the number is not zero, then build the studio, and build it knowing which of the four roles actually mattered. That path forgoes nothing except speed on a road with no evidence there is a destination, and it keeps the founder-time meter at its lowest possible reading in exactly the window where the kill criteria are supposed to be protecting it.

And the compute is unpriced. Section 4 is honest that nobody knows what a nightly round costs in Max capacity or what it displaces. The main bet is phData. Standing up a nightly loop of uncertain capacity cost against the same subscription is the sort of thing that shows up as "everything feels slower lately" three weeks later, with no line item to blame.

The counter-argument, stated fairly. The charter is cheap and reversible: no spend beyond a $5/month floor that only starts at rung 2, no external commitments, and a manifest line that deletes the whole studio. The nightly cron is a switch that can be turned off tomorrow. And the argument for building the org before the evidence is that the org is what makes the ninety-day read arrive at all, because a hand-built step 1 competing for founder weekends against everything else is exactly how this ends up shipping in March. Both of those are real. The honest summary is that the charter is defensible and the nightly cron is the genuinely contestable half, which is why they are separate buttons.

What would prove the studio frame wrong

Pre-registered here so it is not reinterpreted later, and separate from the product kill criteria, which are dormant until launch. Any one of these means the studio was the wrong shape, independent of whether the product works:

8. What I need from you

(a) The charter: accept or amend

Sections 1 through 3: the standing objective, the four roles with their autonomy and escalation boundaries, the cadence, the QA gate map, and the tier-1-to-4 architecture. The specific things most worth pushing back on are the escalation lines — particularly engineering's hard gate on anything that starts a bill — and the tier-2 consequence that keeping generation local turns the magic moment into a wait.

(b) The name

Facts are in section 5, no recommendation. Two finalists, one from each family you named: Little Press and Scribble Works. The useful surprise is that both .com domains are listed for sale rather than in use, so this is a price question, not an availability question — and neither price has been looked up yet, which is a two-minute browser job. The asymmetry that matters: scribbleworks.co is free, so that name works today at zero cost and can upgrade to the .com later; littlepress.co is taken, so Little Press needs the purchase or a modifier before it can be used at all. The uncomfortable finding: The Little Press, LLC is an active New Jersey children's book publisher with 2025 trade-press coverage, which is a direct collision in exactly this market. Scribble Works has two softer ones, a Ghanaian edtech firm on .tech and a 1999 USPTO filing abandoned in 2002. Neither name is cleared, and clearance comes before adoption. "Get me both prices first" is a real answer, and so is "the founder's own name," which is still live from the step-1 memo.

the expensive one Of the three decisions on this page, this is the one that gets costly to undo. The charter is a document and the cron is a switch; both reverse in a turn. A name accumulates search authority, an audience association, and a story that returning visitors have already learned, and none of that transfers. It is reversible today at essentially zero cost and materially expensive by rung 4, which is the same framing the step-1 memo now uses for the founder's-own-name option. Picking one tonight is cheap; picking one after the catalog has ranked is not. That argues for deciding it early, not for deciding it quickly.

(c) The nightly studio cron

Greenlight or hold the nightly round: product dequeues, a role builds, a critic gates, Ray files what passed. This is the one decision on the page that changes what happens while the founder is asleep, and it is the ask this page is least able to reassure you about, because section 1 concedes the gate has never run unattended overnight.

So it comes with a circuit breaker, not just escalation boundaries. If the cron is greenlit, these are part of the greenlight:

Holding it costs nothing except that the studio runs only when asked. Not holding it costs some Max capacity of unmeasured size and the standing risk that unattended work is wrong in a way nobody sees until morning.

Already answered, not asked

The account model in section 6 and the parent-overview page in section 3 came from the founder on the evening of 2026-08-30 and are recorded as settled. They are noted here so it is obvious they were not decided by the studio. Both have consequences worth pushing back on if the founder disagrees with how they were read: the account model forces the child profile server-side from tier 2 and gives up the local-first guarantee the earlier draft claimed, and the overview page adds a template and a critic gate to every pack in step-1 scope.

Lock in

Charter

Accept as written, or say what to change. Roles, boundaries, cadence, gate map, architecture.

Send charter call
Name

Pick one, name your own, or say keep looking. Section 5 has two finalists with facts: Little Press and Scribble Works, both with a purchasable .com.

Send name pick
Nightly studio cron

Greenlight the nightly round, or hold it and keep the studio on-demand only.

Send cron call
Archive

Drop the studio frame. The engine stays a household tool and the step-1 catalog decision stands on its own. One-line reason.

Archive + send
Defer

Push this to a date. Step 1 proceeds either way; only the studio waits.

Defer + send

Verification trail

Fresh-eyes /verify-strategic-output gate, three rounds, zero build context each. The producer of this page did not score it.