Context
Estha for Mac runs AI models entirely on the customer’s own machine — no cloud, no data leaving the device, and instead of a subscription, one-time device-based economics: buy once, use forever. Which raises the strategy question that defined my year: what makes a local AI workspace feel worth buying on day one, when the cloud frontier models will always be smarter at open-ended chat?
My answer, written as a vision-and-strategy document the team aligned on:
We do not need to beat ChatGPT and Claude at being general-purpose chat tools. We need to beat them at being a practical shelf of ready-to-use everyday bots on a privately run local AI workspace. That is the wedge.
People don’t arrive with “prompts” — they arrive with jobs: rewrite this email, quiz me before the exam, tailor this resume, explain this contract. A library of focused bots that each do one clear job — understandable from the title alone, zero setup, useful output in one session — creates what a general chat box never does: perceived abundance, and proof of value before the first prompt is ever written. As the document put it: a bot called Email Rewriter beats a bot called Productivity Assistant.
Decision 1 · Write the thesis before writing any bots
The strategy document did three structural things. It committed us to library-first, agents-as-premium: a broad base of fast utility bots, a middle layer of structured workflow bots, and a small top layer of heavyweight agents (data analysis, presentations, meeting intelligence) — agents as the premium layer of the library, not the whole library. It ranked the 50 bot ideas into three build tiers so the first sprint produced a shelf that already felt broad — one cluster each from writing, learning, organisation, career, and utility. And it defined what “good” meant per bot, before any were built: one everyday problem, no setup, better than open chat at that job.
Decision 2 · Spec like an engineer, not like a wishlist
I had already built a first generation of bots for Estha’s web product, where large cloud models quietly forgive sloppy configuration. The Mac is a different discipline: it runs local models in the 9B–35B class, small enough that vague instructions simply stop working. And a 27-bot shelf collapses into chaos without system-level consistency. So the spec layer was engineered, not written:
- A hard 2,000-character budget for every bot’s behavioral customization — my own engineering constraint, not a platform limit. Smaller models follow short, unambiguous, tightly-scoped instructions far more faithfully than sprawling ones, so every spec was forced through the budget: all 27 script-verified, most tuned to within 50 characters of the ceiling. Knowledge bases capped at 500–800 words for the same reason.
- Per-bot mechanics chosen deliberately: Socratic hinting for homework (never give the answer), persona simulation for interview and language practice, an MCQ engine with plausible distractors for quizzing, structured-rubric grading for writing feedback.
- Product-level policies, not per-bot improvisation: four greeting styles distributed across the library; an emoji system with a deliberate no-emoji class for bots that needed gravitas (salary negotiation, legal explanation, interviews); a defined low-spec fallback per bot for weaker machines; live-data deflection where a bot could be asked about things a local model can’t know.
- Honesty flags built into the specs: bots touching regulated or high-stakes domains — legal explanation, dietary planning, workout programming, language teaching — carried explicit subject-matter-expert review flags before publish, with the reviewer type named.
Twenty-seven bots across seven categories came out of this system feeling like one product.
Decision 3 · Make the pipeline the product
One PM cannot hand-build, hand-test and hand-publish a library — so the process itself became software. Specs were written in a structured format that scripts could parse; build batches were generated and pushed through the platform’s API; a QA harness checked configurations mechanically; I ran the functional tests myself with AI assistance and audited every report, writing a combined review that did something I care about: it separated bot-behavior defects from a platform-level display issue that cut across every bot, so the release decision was made on clean evidence. Verdict: 22 of 27 pass, 5 partial passes with ranked P1–P3 fixes, zero hard failures — and a written note on exactly which fix had to land before retest.
Publishing got the same discipline. Before any bulk operation, I ran a single-listing rehearsal — and stopped mid-submit when the confirmation dialog disagreed with my intent, then verified how the backend actually treated create-versus-update semantics on a three-app batch. Only after the rules were proven did the bulk import run: 39 applications published in one operation, zero errors, growing the web marketplace catalog from 25 to 52 listings. Destructive changes followed a written two-phase protocol — snapshot first, build the replacement before deleting the original.
Results
- A strategy that shipped: from a 50-idea thesis to a live, browsable shelf on a one-time-purchase product — the wedge, made real.
- 27 bots fully specced and QA’d (22 pass / 5 partial / 0 failures) under one design system, alongside the earlier utility tier iterated through four revisions.
- The Mac Store carried 79 listings — 56 unique apps — by June 2026. I audited the full catalog and curated the 44-app clean list a distribution partner would actually see, keeping tests, duplicates and client-specific builds out of the first external cut.
- On the sibling web channel, 39 apps bulk-published in one zero-error operation, more than doubling market listings (25 → 52).
- The pipeline outlived the project: the spec format, build scripts, QA harness and publish protocol became reusable company assets — and the seed of a larger story about how I run product work with AI: the AI operating system behind my product work.
What I learned
- On small models, constraints are design material. The 2,000-character budget wasn’t a platform limit — it was a choice, and that discipline is what made 27 bots reliable on 9B–35B-class models.
- A library is a system, not a pile. Greeting patterns, emoji policy, fallback behavior — the unglamorous consistency layer is what makes a shelf feel like a product.
- The last mile is a protocol, not a click. “39 published, zero errors” wasn’t luck; it was a rehearsal, a stopped submit, a semantics test, and only then the batch. Boring process is what bold numbers are made of.