Skip to main content

choco.tools MVP: Live in Five Days

The Pitch

We had a 24-service, 7-layer architecture designed. OpenAPI specs for 13 services. Protobuf schemas for 10 event domains. Helm charts. GitOps pipelines. Kubernetes manifests. We shipped the MVP with 3 services, 1 database, and $0/month infrastructure. choco.tools — a CRDT-native, verifiable documentation platform — went from architecture diagrams to live users in 5 days. Here’s how.

What We Shipped

The Stack

ComponentTechnologyCost
FrontendNext.js 15, React 19, Tailwind CSSVercel free tier
API GatewayGo + chi router, Clerk JWT authRailway hobby ($5/mo)
Golden PressGo singleton, Ed25519 signingRailway (same project)
DatabasePostgreSQL 16 + pgvectorNeon free tier
Total: ~5/month.Comparetothefullstack:EKS+RDS+NATS+Redis+Linkerd+Flux+OTel=5/month. Compare to the full stack: EKS + RDS + NATS + Redis + Linkerd + Flux + OTel = 200+/month minimum.

What Users Get

  • Rich document editor with syntax highlighting and real-time save
  • Workspace management with role-based access
  • Dashboard with activity feed and document metrics
  • Golden Tickets — 5 cryptographically signed NFT-style tickets with Ed25519 verification
  • Dark mode with chocolate factory theme (naturally)

What We Deferred

  • Real-time CRDT collaboration (needs WebSocket service)
  • Full-text search (PostgreSQL pg_trgm covers basics)
  • Code verification sandbox (needs Firecracker/WASM runtime)
  • AI document generation (needs Claude integration service)
  • Observability stack (structured logs are enough for now)

The Methodology: Design for Production, Deploy as MVP

The architecture documents weren’t wasted work. They defined:
  • Exactly which endpoints to build (OpenAPI specs → gateway handlers)
  • Exactly which tables to create (migration files → psql one-liner)
  • Exactly which error format to use (_common.yaml Error schema)
  • Exactly when to scale (documented triggers: >100 users → Redis, >1000 DAU → K8s)
The MVP is a deployment topology decision, not a rewrite. Every gateway handler maps 1:1 to a future microservice. When traffic demands it, extract handler/documents.go into a standalone service. Zero refactoring.

Key Messages

For Indie Hackers / Founders

“Stop building infrastructure for users you don’t have. choco.tools had Kubernetes manifests and Helm charts ready — and shipped on Railway for $5/month. The full stack is waiting for the moment it’s needed, not before.”

For Engineering Teams

“Your OpenAPI specs, migration files, and architecture diagrams are your best MVP accelerator. We wrote the gateway in 3 days because the contract was already defined. The frontend didn’t change — it was already calling the right endpoints with graceful fallbacks.”

For Platform Engineers

“In-memory rate limiting. Inline JWT auth. Reverse proxy to sidecar services. No Redis, no separate auth service, no API gateway product. Just Go + chi + pgx. Add complexity when traffic demands it.”

Content Trail

1. Technical Blog Post

“How We Shipped a 24-Service Platform as a 3-Service MVP”
  • Architecture vs deployment topology
  • Gateway-first pattern
  • Scaling triggers framework
  • Cost comparison (5/movs5/mo vs 200+/mo)

2. Show HN / Product Hunt

“choco.tools — Documentation that verifies itself. CRDT-native, cryptographically signed, dark chocolate theme.”
  • Lead with the product (editor, golden tickets, verification)
  • Technical depth in comments (Go gateway, Ed25519, pgvector)

3. Design Journal Entry

“The Chocolate Factory: Building a Documentation Platform with a Theme”
  • Factory metaphor throughout (vault = database, press = ticket service, factory = workspace)
  • How thematic design creates memorable developer experiences

Campaign Owner: Dev4rno Session Date: 2026-04-07 Archive: devarno-cloud/atlas/campaigns/2026-04-07-choco-mvp-live-in-five-days.md