Victories
Every milestone across every project. One founder, one AI, zero excuses.
March 10 – May 11, 2026Product
App
- 30-point UX overhaul: icons replaced text, voice guides every action
- Dual narrator system: "Classic" adult voice + "BQ Buddy" kid-friend voice with parent toggle
- 193 voice scripts rewritten in 6-year-old language, 2 voice profiles (battle vs. descriptive)
- COPPA P1 complete: camera off by default, consent dialogs, privacy policy rewrite
Landing Page
- Buttondown email capture with iOS interest tags and segmentation
- Outcome-driven copy, fresh screenshots, video carousel
- GitHub Pages deployment with custom domain and HTTPS
Voice & Audio
- 70 monster card descriptions, 12 shop unlock intros, 18 brushing arcs, 12 victory arcs
- Batch generation script: 5 concurrent workers with auto-retry on rate limits
- Music health-check every 5s recovers stuck AudioPlayer on Android
Graphics
- Effect rebalancing: learned not to stack too many effects (characters disappear)
- Rive animation brief written for post-launch polish
Merch
Play Store
- Home screen redesign: badge icon, greeting popup, animated stat counters
- Trophy wall: monster silhouettes for uncaught, voice on locked taps
- Shop UX: icon-only snackbars, evolution arrows; victory flow: auto-open chest, route exits through _goHome
- COPPA: delete cloud data button; audio: crossfade, K.O. voice variety, legendary first-only
Google Play Approved
- First real store review cleared — COPPA compliance, content rating, and all policies passed
- Release status flipped from draft to completed — testers can now install directly from Play Store
Cycle 14
- Audio, lifecycle, parent trust, and consistency categories addressed
- Delivered through the /cycle framework end-to-end — audit, plan, ship
iOS Platform
- Sign in with Apple design spec written and committed
- iOS platform folder scaffolded; cross-platform strategy captured in-repo
Cycle 16 v20
- Hero tap lock, countdown voice restored, world-intro voice bleed, greeting dialog readability
- 784 tests passing,
dart analyzeclean
Alpha Closed Test
brush-quest-testers@googlegroups.com) with open self-enrollment so any parent can join without manual allow-listing. First real step from internal-only testing to external distribution.
- 4 countries approved: US, CA, UK, AU
- Public Google Group with open self-join — zero-friction tester onboarding
- Firebase v20 Crashlytics access restored (Chrome + jmchabas@gmail.com) to monitor incoming crashes
Android Public Beta
- 10 listing changes: title rebranded to "Kids Toothbrush", 8 captioned screenshots, 26s promo v5 with 6-voice ElevenLabs
- Closed Testing track live in US/CA/UK/AU plus a new Early Access track
- Privacy policy updated for Kids Category compliance; Nicole added to
brush-quest-testersGoogle Group
iOS Port Plan
docs/ios-port/PLAN.md. GTM restructured to decouple Android Phase 1 from iOS via docs/launch/CROSS-PLATFORM-GTM.md and docs/android-launch/PLAN.md — dual-platform launch path is now defined end-to-end.
- 50+ tasks across 4 phases; 11 compliance gaps mapped (SIWA, parental gates, privacy manifests, COPPA)
- Apple Business org verification escalated — case #102880286319, May 4 ETA
- iOS name conflict discovered with existing "Brush Quest" app — differentiation needed before submission
v22 Dual-Platform Release
fastlane beta + ASC API key, with 3 external testers (Jan Deloach, Antoine Markarian, Matt Ganser) invited and feedback requests sent. The cross-platform launch path mapped in April is now live.
- Parent-gated camera onboarding (4th page) + home camera-discoverability nudge + 20s→15s default brush phase
- 788 tests pass; new
voice_camera_prompt.mp3audio asset shipped - iOS Family-and-Friends 409 STATE_ERROR worked around via builds-attach +
betaTesterInvitationsPOST
Business
LLC
- Chose California (cheapest since the $800/yr franchise tax applies regardless of state)
- COPPA requires a physical address in the privacy policy — LLC solves that
Pricing
- "$2.99 signals cheap and doesn't reflect the health value" — raised to $4.99
- Free parent activity log + weekly email as conversion funnel
- Monster card collection gap (21/70 free) as kid-driven conversion engine
Accounting
- Stack: Mercury (bank) + QuickBooks Simple Start ($15/mo)
- Built
/accountingcommand: 4-step pipeline (scan, review, import, close)
Compliance
Strategy
/ceo) for strategic decisions.
GTM-v4 Phase 1
- 3 Substack pitches drafted for PRD-007
- instagram-executor-agent stub built and passed a smoke test
Ops
Testing
dart analyze + flutter test on every push and PR. Security scanning (semgrep) and secret detection (gitleaks) added. 122-item manual audio checklist for pre-upload verification.
- Audio alone: 370 tests (logic, asset verification for 164 files, regression, integration)
- Core services: streak, hero, weapon, world, card, achievement, sync
Dev Cycle
- Modes:
/cycle(full audit),/cycle ship(verify+ship),/cycle quick - Operational dashboard: STATUS.md parser with workstreams by category and metrics trends
Tooling
/cycle, /ceo, /llc, /accounting, /status, /weekly, /retro. Global playbook with structured decision-making (3+1 agents), task-matched context loading, and automatic quality gates. Claude Code hooks auto-run dart analyze on every file edit.
Dashboard Cards
/win command — push-based dashboard across all projectsdata/cards.yaml and render to HTML via render-cards.py. The new /win command (registered in Claude Code and the Telegram bridge) lets Jim push dated achievements from any project in seconds.
/win <project> <text>stamps today's date and pushes to the dashboard; max 3 per card- YAML-to-HTML renderer with tests;
/editwalks through description, metric, next action, blocker, status - EOD pipeline refactored around the push model — simpler, human-driven, less fragile
Dispatcher Phase 2
/p <slug>, reply-threading, /main, /job, /status, /project add) validated end-to-end. This unlocks the push-based /win, /edit, and per-project chat workflow from the phone.
- Mac agent poll latency dropped 60s → 10s; session tagging via
ANEMOSGP_SESSION_ID - 4-hour idle sweeper + auto-upsert of warm sessions; LaunchAgent stale-copy fix synced from repo
- Foundation for Phase 3: per-session mutex, lease semantics,
/sleep,/kill, persistentprojects.json
Dispatcher Phase 3A
tg ask live — the bot can now ask Jim a question and wait for the answertg askCLI with long-poll; numbered-question flow usingQ<N>tags- New
/ask+/await/:iddispatcher endpoints backed by apending_questionstable - Inbound resolution supports both
Q<N>prefix and native tap-reply
The Timeline
Day by day, how it all came together
v6 Engagement Features + Shop Voices
Two major drops in one day: the engagement system that keeps kids coming back, and the voice-overs that make every unlock feel special.
- Monster card collection system: 70 cards across 10 worlds with rarity tiers
- Daily login rewards and card album
- 12 ElevenLabs voice-overs for hero and weapon shop unlocks
- Kid feedback round: richer voices, cleaner battle UI, scrollable victory screen
v6.5: Doubled the Content + Production Hardening
Five new worlds, 35 new monsters, weapon art, 70 voiced card descriptions, and production hardening to make it Play Store-ready.
- 5 new worlds: Frozen Tundra, Toxic Jungle, Crystal Cave, Storm Citadel, Dark Dimension
- 35 new monster cards with battle backgrounds and planet art
- 6 weapon art images (gpt-image-1, replaced Flutter icons)
- 70 monster card voice descriptions (ElevenLabs TTS)
- Removed morning/evening 2-brush-per-day restriction
- Production hardening: error handling, edge cases, Play Store prep
v7: The Non-Reader Overhaul + Landing Page Launch
The biggest UX overhaul yet. Rewrote every screen for a 7-year-old who can't read. Then built a full marketing site from nothing and shipped it.
- v7 (30-point UX overhaul): Icons instead of text, voice guidance everywhere, simplified flows, no-text companion bubbles, mouth guide improvements
- Landing page live at brushquest.app: 5 iterations in one day. Outcome-driven copy, fresh screenshots, video carousel, family photo
- Custom domain: Bought brushquest.app, configured DNS, GitHub Pages, HTTPS
- COPPA compliance (all P1 done): Camera default OFF, consent dialogs, privacy policy rewrite, "Delete child's data" relabel
Business Foundations: Research, LLC, Pricing, CI
Went from "indie dev project" to "real company with a strategy" in a single day.
- Business research (6 reports, ~25K words): Every competitor analyzed, monetization models evaluated, pricing benchmarked
- Pricing approved: Space Ranger Pass at $4.99/mo or $39.99/yr
- AnemosGP LLC filed: California LLC, Articles of Organization (Doc# B20260127451), registered agent hired
- Dev Cycle framework: New repo,
/cyclecommand, 3 analysis agents, 3 personas, benchmark rotation - GitHub Actions CI:
dart analyze+flutter teston every push and PR - Key finding: camera motion detection cannot verify brushing — killed the feature to stay honest
Five Workstreams in One Day
The biggest single day of the project. Test bench, graphics, merch, accounting, and a dashboard — all from scratch.
618 Tests from Zero
- Core services: 107 tests (streak, hero, weapon, world)
- Supporting services: 98 tests (card, achievement, sync)
- Audio: 370 tests (logic, asset verification for 164 files, regression guards, integration)
- Security scanning (semgrep) + secret detection (gitleaks)
- Global playbook created: structured decision-making, automatic quality gates
Graphics Overhaul
- Transparent hero and monster PNGs
- Hit juice, combos, Lottie effects
- Fragment shaders: dissolve, shockwave, slow-motion, boss shield, weapon trail
- Learned: don't stack too many effects — characters disappear
App Icon + Merch Assets
- New 3D battle scene app icon (gpt-image-1), all Android densities
- Merch: Shadow & Blaze action poses, Monster Squad group, logo badges
- T-shirt layouts, die-cut stickers, all upscaled 4x via Real-ESRGAN
Accounting: Zero to Clean Books
- Gmail scan: 69 transactions identified ($5,702, Sep 2025 – Mar 2026)
- Built
/accountingcommand: 4-step pipeline (scan, review, import, close) - 70 transactions imported to QuickBooks, 82 Stripe receipt PDFs downloaded
- ~$320/mo recurring burn identified across 14 SaaS subscriptions
Dev Cycle v2 + Dashboard
- 4-agent analysis: UX Critic, Code Health, Voice Experience, Kid + Parent Trust
- New modes:
/cycle quickand/cycle resume - 21 UX fixes from real playtest feedback
- Operational dashboard: STATUS.md parser, workstreams by category, metrics
Dual Narrator: Kid Voice System
What if the app talked to kids like a friend, not an adult? Designed a custom voice from scratch, wrote 193 scripts in 6-year-old language, and shipped a parent-facing toggle to switch narrators.
- 5 rounds of ElevenLabs Voice Design (~20 previews) to find the right "excited best friend" voice
- 193 voice scripts rewritten for 6yo: "oh my gosh", "look look", "yay" — pure wonder, zero cool-kid attitude
- Two voice profiles: high-energy for battle, warmer for descriptions
- Batch generation script with 5 concurrent workers, auto-retry on rate limits
- Parent settings toggle: "Classic" (adult narrator) vs "Buddy" (kid friend)
- Architecture:
assets/audio/voices/{classic,buddy}/with AudioService routing
Memory Management System: Three-Layer Architecture
Claude Code now has structured, scalable memory across all projects. A 394-line design spec, an 8-task implementation plan, and a full migration — all in two sessions.
- Three-layer hierarchy: global rules, cross-project orchestration, per-project tiered memory
- Four-tier model per project: HOT (index), WARM (topic files), COLD (archive), CACHE (session handoff)
- Cross-project brain: routing rules, write gate, staleness protocol, size limits — all codified
- Knowledge graph seeded: 11 entities + 12 relationships via MCP server for cross-project queries
- All 6 projects migrated to the new structure with proper frontmatter and size compliance
- D-U-N-S application submitted (expedited) — unblocks Play Store org account ~April 1
Built by Jim Chabas + Claude Code
Solo founder. One AI partner. Zero excuses.