We Built an Entire Video Platform with Claude Code. Here's How.
3 founders, no investors, one AI-powered workflow. How we used Claude Code to architect, build, and ship a complete video recording platform — SDK, API, dashboard, docs, and website.
TL;DR
- We built a complete video recording platform — SDK, backend API, dashboard, documentation site, and marketing website — using Claude Code as our core development tool.
- Not copilot. Not autocomplete. Full orchestration across a monorepo with 6 projects.
- The key insight: AI-assisted development isn’t about writing code faster. It’s about maintaining coherence across an entire product at a speed that shouldn’t be possible with 3 people.
3 Founders, No Investors, One Workflow
VIDTREO is a video recording API. Record, transcode, and deliver video at $0.01/minute. But this post isn’t about the product — it’s about how we built it.
Every single piece of our platform was architected, built, and shipped using Claude Code. Not as a suggestion engine. As the orchestration layer for our entire development workflow.
Here’s what that actually looks like.
Plan → Iterate → Ship → Repeat
Every feature starts as a plan. We describe what we want to build, and Claude Code drafts an implementation strategy across our entire stack — SDK, API, dashboard, docs.
We review it. Push back. Refine. Sometimes we iterate a plan 5 or 6 times before writing a single line of code.
Then we execute. Same session. Full codebase context.
A change in the SDK triggers updates in the API. The dashboard reflects the new functionality. The docs explain it. The deployment pipeline handles the rest. One coherent system, not scattered tickets across 4 repos.
Feature request
↓
Plan (Claude Code drafts architecture across SDK, API, dashboard, docs)
↓
Review (founders push back, refine, iterate 3-6 rounds)
↓
Execute (same session, full monorepo context)
↓
Deploy (automated pipeline across all services)
This is the difference between “AI writes code” and “AI orchestrates a product.”
Everything Is Code-Controlled
Most companies have a wiki for branding guidelines. A Notion page for communication rules. A Confluence doc for architecture decisions that nobody updates.
We put everything in code.
- Branding rules? In code.
BRAND_GUIDE.mddefines every color, font, and usage rule. - Communication patterns? In code.
BRAND_VOICE.mdsets the tone for every touchpoint. - Architecture decisions? In code.
CLAUDE.mdfiles in every project directory describe how each system works. - Marketing voice guidelines? In code. Even this blog post followed our documented brand voice rules before being written.
- Image generation prompts? In code. A Nano Banana style guide ensures every AI-generated image matches our visual identity.
We don’t have a wiki that nobody reads. We have a codebase that enforces consistency across every touchpoint — from error messages to LinkedIn replies.
When Claude Code writes a component, it reads BRAND_GUIDE.md and uses the correct hex values. When it drafts a blog post, it checks BRAND_VOICE.md and avoids words like “revolutionary” and “seamless.” When it modifies the API, it reads the architecture guide and follows our hexagonal architecture pattern.
The documentation is the enforcement mechanism.
The Context Is the Superpower
Here’s where Claude Code diverges from every other AI coding tool we’ve tried.
Claude Code remembers everything. Our architecture decisions. Why we chose Cloudflare Workers over Lambda. How our upload queue handles chunked transfers. The exact CSS variable names in our recorder component. The Drizzle ORM schema for our Neon PostgreSQL database.
When we say “add a new encoding option,” it knows:
- Where the schema lives in the backend (
src/modules/videos/domain/) - Which API endpoint to modify (
src/presentation/http/videos/) - How to update the dashboard UI (
src/components/videos/) - What the docs page should say (
src/content/docs/) - How to write the migration (
drizzle/)
Because it’s been there since day one.
We’re not prompting a chatbot. We’re working with a team member that has read every line of code we’ve ever written.
The Stack We Shipped
Let’s be concrete about what this workflow produced:
SDK — A multi-package video recorder. Core TypeScript library, React component, and Web Component. Client-side transcoding via WebCodecs. IndexedDB persistence for the upload queue. 40 KB total.
@vidtreo/recorder → Core capture, transcoding, upload
@vidtreo/recorder-react → React component with built-in UI
@vidtreo/recorder-wc → Web Component <vidtreo-recorder>
Backend API — Cloudflare Workers with Hono.js. Domain-Driven Design with hexagonal architecture. Neon PostgreSQL via Drizzle ORM. R2 storage (zero egress fees). Stripe billing. Better Auth for authentication.
Dashboard — TanStack Start with React 19. Video management, analytics, environment configuration, API key management, billing. 50+ components.
Documentation — Fumadocs on Next.js 16, deployed to Cloudflare Workers via OpenNext. Trilingual (EN/ES/PT). Interactive code examples with the actual SDK.
Marketing Website — Astro 6 with live product demos. Multilingual. Competitor comparison pages. Blog with MDX.
Deployment — Automated across all services. Cloudflare Workers for backend, dashboard, and docs. npm registry for the SDK.
All at $0.01/minute. No subscriptions. No hidden fees. 83% gross margins.
What This Looks Like Day-to-Day
A typical day with Claude Code:
Morning: “We need to add environment-level recording limits.” Claude Code plans the schema change in the backend, the API endpoint modification, the dashboard UI for configuring limits, the SDK enforcement logic, and the documentation update. We review. Three rounds of refinement. Execute.
Afternoon: “The mobile recorder needs a native mode for iOS Safari.” Claude Code reads the existing recorder architecture, understands the device detection system, proposes a new recording mode that hands off to the native camera app. We debate the UX implications. Refine the plan. Execute across the SDK’s three packages simultaneously.
Evening: “Write a blog post about our pricing model.” Claude Code reads our cost analysis in BUSINESS_PLAN.md, checks BRAND_VOICE.md for tone, and produces a draft that hits every brand checkpoint. We edit for voice. Publish.
One session. Full context. No context switching.
The Rules We Follow
This workflow doesn’t work by accident. We’ve developed specific principles:
1. Plans before code. Every non-trivial feature gets a written plan that spans all affected projects. No “just start coding.”
2. CLAUDE.md in every project. Each directory has a context file that explains the architecture, conventions, and patterns for that project. This is how Claude Code maintains consistency.
3. Strict TypeScript everywhere. No any. No shortcuts. This gives Claude Code the type information it needs to make correct cross-project changes.
4. No barrel files. Import from actual source files. This keeps the dependency graph explicit and helps Claude Code understand the real connections.
5. Domain-driven boundaries. Each module owns its domain logic. Claude Code respects these boundaries because they’re documented.
6. Review everything. Claude Code proposes, we approve. Every plan gets iterated. Every change gets reviewed by at least one founder before merging.
What We Learned
AI quality scales with documentation quality. The better our CLAUDE.md files, the better Claude Code’s output. Writing documentation isn’t overhead — it’s training data for your AI workflow.
Coherence beats speed. We could ship individual features faster with a simpler tool. But maintaining consistency across 6 projects with 3 people? That requires orchestration. Claude Code doesn’t drift. It follows the documented patterns every time.
Small teams can build big products. Without AI orchestration, our stack would need 12-15 engineers. We know because we’ve worked on teams that size building less. The constraint isn’t intelligence — it’s coordination. And coordination is exactly what AI is good at.
The codebase is the source of truth. Not Slack, not Notion, not a wiki. When every rule is in code, the AI can enforce it. When every decision is documented in the repo, the AI remembers it.
The Real Takeaway
AI-assisted development isn’t about writing code faster. It’s about maintaining coherence across an entire product at a speed that shouldn’t be possible with 3 people.
Every plan reviewed. Every pattern enforced. Every deployment consistent.
We didn’t just use AI to build a product. We used AI to build a system that builds a product.
That’s what code-controlled, AI-powered product development looks like.
Try the result: vidtreo.com · docs.vidtreo.com
We’re curious — is anyone else using AI tools to orchestrate their entire development workflow, not just write code? We’d love to hear what your process looks like.
Related Posts
Add Video Recording to React in 5 Minutes
A step-by-step tutorial on integrating browser-based video recording into your React app using the VIDTREO SDK.
AI Transcription & Summaries: Why Your Video Platform Needs Them Built In
AI transcription services cost $0.002-0.036/min and require complex integrations. Learn how VIDTREO bundles transcription and AI summaries into every recording at no extra cost.