We Built a Full-Stack Flutter Short Video + Live Streaming App in 90 Days — Here's What We Shipped
Description and use
DTok delivers a complete TikTok‑style app with live streaming, creator tools, and monetization in 90 days, achieving <1.8s cold start, zero crashes in beta, and a scalable microservice architecture.
Problem
Demonstrate that a small team can deliver a production‑grade TikTok‑style app with live streaming, creator tools, and monetization in a single quarter.
Outcome
DTok delivers a complete TikTok‑style app with live streaming, creator tools, and monetization in 90 days, achieving <1.8s cold start, zero crashes in beta, and a scalable microservice architecture.
Workflow
- 1. Define core features: feed, live, creator tools, social graph, monetization.
- 2. Choose tech stack: Flutter 3.x, Riverpod, video_player, Go/Gin, gRPC, WebSocket, Firebase, MinIO, PostgreSQL, Cloudflare R2, GitHub Actions, Fastlane.
- 3. Implement state management with Riverpod + AsyncNotifier, reducing boilerplate by ~40%.
- 4. Create per‑item video controllers for proper pause/resume and avoid ghost audio.
- 5. Add optimistic UI for likes, follows, comments with rollback queue.
- 6. Integrate feature flags from day 3 for gradual rollouts.
- 7. Build live streaming: RTMP push from phone, HLS pull, WebSocket chat, virtual gifts.
- 8. Develop creator tools: in‑app recording, filters, multi‑clip editing, caption/music overlay, one‑tap publish.
- 9. Set up backend microservices (12) with Go/Gin and gRPC, storage with MinIO/PostgreSQL, CDN with Cloudflare R2.
- 10. Configure CI/CD with GitHub Actions and Fastlane, push to App Store.
- 11. Test, iterate, and ship.
- 12. Publish open‑source repo and live demo.
Evidence
We shipped 47 screens, 12 microservices, 3,200+ commits, ~0 crashes in beta, cold start <1.8s
Riverpod + AsyncNotifier reduced boilerplate by ~40%
Feature flags from day 3 saved us twice when a live streaming feature broke on specific Android OEMs
- Record date: 2026-09-20T16:02:00.743Z