ποΈ System Architecture
Cloudflare-Native Infrastructure Design
π High-Level Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLOUDFLARE EDGE (300+ Locations) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β
β β PAGES β β WORKERS β β AI GATEWAY β β CALLS β β
β β React SPA β β API Routes β β Cache/Route β β WebRTC β β
β β FREE β β $5/mo β β FREE β β $0.05/GB β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββ¬βββββββ β
β β β β β β
β ββββββββββ΄βββββββββββββββββββββ΄βββββββββββββββββββββ΄ββββββββββββββββββββ΄βββββββ β
β β WORKERS AI MODELS β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββββ β β
β β β Whisper β β MeloTTS β β Llama 4 β β BGE β β Stable Diff β β β
β β β$0.0005/m β β included β β Scout β βEmbeddingsβ β (album art) β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β
β β R2 β β D1 β β VECTORIZE β β DURABLE β β
β β Audio Storage β β Database β β Sample Search β β OBJECTS β β
β β 10GB FREE β β 5GB FREE β β 5M FREE β β Collab β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FLY.IO COMPUTE (Multi-Region) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββββββββ β
β β SHUSH BRAIN β β TTS ENGINE β β GPU WORKERS β β
β β Intent Router β β Chatterbox/Fish β β HTDemucs (stems) β β
β β Model Selector β β Viseme Mapping β β Stable Audio (gen) β β
β β $3/mo β β $2/mo β β MusicGen β β
β β 12ms avg β β 75-150ms β β ~$0.05/job β β
β βββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PREMIUM AI (Gemini - Non-Negotiable) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββ
β β GEMINI 3 FLASH β β GEMINI 2.5 FLASH ββ
β β β’ Native audio understanding β β β’ Native audio OUTPUT ββ
β β β’ 1M token context β β β’ Real-time conversation ββ
β β β’ Thinking levels (LOW-HIGH) β β β’ 30 HD voices, 24 languages ββ
β β β’ Agentic multi-step tasks β β β’ Emotional expression ββ
β β β’ Complex music analysis β β β’ Avatar voice responses ββ
β β $0.075-0.30/1M tokens β β $0.15-0.60/1M tokens ββ
β βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π¦ Cloudflare Products Mapping
| Product | DAW Feature | Cost | Free Tier |
|---|---|---|---|
| Pages | Frontend hosting, React SPA | FREE | Unlimited |
| Workers | API routes, business logic | $5/mo paid | 100K req/day |
| Workers AI | Whisper, Llama, embeddings | $0.011/1K neurons | 10K neurons/day |
| R2 | Audio files, waveforms | $0.015/GB-mo | 10GB storage |
| D1 | Projects, users, metadata | $0.75/1M reads | 5GB storage |
| Vectorize | Semantic sample search | $0.01/1M queries | 5M vectors |
| Durable Objects | Real-time collaboration | $0.15/M requests | Included w/Workers |
| Calls | WebRTC for avatar battles | $0.05/GB | - |
| AI Gateway | Cache Gemini responses | FREE | Unlimited |
| KV | Sessions, cache | $0.50/M reads | 100K reads/day |
π Request Flow
Voice Command Flow
User speaks β Microphone capture β Workers AI Whisper β Text
β
Llama 4 Scout (classify intent)
β
Execute DAW command locally
β
Visual feedback to user
Total latency: ~200ms
AI Assistant Flow
User types/speaks β (Optional: Whisper) β AI Gateway cache check
β (cache miss)
Gemini 3 Flash API
β
Stream response to UI
β
Cache response (AI Gateway)
Total latency: 200-2000ms (depending on complexity)
Sample Search Flow
User searches "dark trap hi-hat" β Workers AI BGE embedding
β
ββββββββββββββ΄βββββββββββββ
β β
D1 keyword Vectorize semantic
search search
β β
ββββββββββββββ¬βββββββββββββ
β
RRF Fusion ranking
β
Return top 20 results
Total latency: ~100ms
πΉ Audio Engine Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AUDIO ENGINE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ βββββββββββββββββββ β
β β Tone.js β β AudioContext β β
β β Transport βββββΆβ (singleton) β β
β βββββββββββββββββββ ββββββββββ¬βββββββββ β
β β β
β βββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ β
β β AUDIO GRAPH β β
β β β β β
β β βββββββββββ βββββββββββ β βββββββββββ β β
β β β Track 1 β β Track 2 β β β Track N β β β
β β β GainNodeβ β GainNodeβ ... β GainNodeβ β β
β β β PanNode β β PanNode β β PanNode β β β
β β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β β
β β βββββββββββββββ΄ββββββββββββββββββ β β
β β β β β
β β βββββββββ΄ββββββββ β β
β β β Master Bus β β β
β β β GainNode β β β
β β β Compressor β β β
β β βββββββββ¬ββββββββ β β
β β β β β
β β βββββββββ΄ββββββββ β β
β β β AnalyserNode β βββ VU Meters β β
β β βββββββββ¬ββββββββ β β
β β β β β
β β βββββββββ΄ββββββββ β β
β β β Destination β βββ Speakers β β
β β βββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AUDIO WORKLET (DSP Thread) β β
β β ββββββββββββββ ββββββββββββββ ββββββββββββββ β β
β β β Waveform β β Meter β β Custom β β β
β β β Generator β β Processor β β Effects β β β
β β ββββββββββββββ ββββββββββββββ ββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
πΎ Data Models
D1 Schema
-- Users
CREATE TABLE users (
id TEXT PRIMARY KEY,
email TEXT UNIQUE NOT NULL,
name TEXT,
tier TEXT DEFAULT 'free',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Projects
CREATE TABLE projects (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
name TEXT NOT NULL,
tempo INTEGER DEFAULT 120,
time_signature TEXT DEFAULT '4/4',
data_url TEXT, -- R2 reference
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- Samples (metadata)
CREATE TABLE samples (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
path TEXT NOT NULL, -- R2 path
category TEXT,
bpm REAL,
key TEXT,
duration_ms INTEGER,
tags TEXT, -- JSON array
waveform_url TEXT,
embedding_id TEXT, -- Vectorize reference
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- User Favorites
CREATE TABLE favorites (
user_id TEXT,
sample_id TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id, sample_id)
);
R2 Structure
r2://flowstate-audio/
βββ system/ # System samples (10K)
β βββ drums/
β β βββ kicks/
β β βββ snares/
β β βββ hihats/
β βββ bass/
β βββ fx/
β βββ loops/
βββ users/{userId}/ # User uploads
β βββ uploads/
β βββ recordings/
β βββ projects/
βββ cache/ # Generated assets
βββ waveforms/
βββ previews/
π API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/auth/* |
POST | OAuth login/logout |
/api/projects |
GET/POST | List/create projects |
/api/projects/:id |
GET/PUT/DELETE | Project CRUD |
/api/samples/search |
POST | Hybrid sample search |
/api/samples/upload |
POST | Upload user sample |
/api/ai/transcribe |
POST | Whisper transcription |
/api/ai/chat |
POST | AI assistant (streaming) |
/api/ai/command |
POST | Voice command execution |
/api/export |
POST | Trigger audio export |
π Security Architecture
- Authentication: OAuth 2.0 (Google, Discord, Apple)
- Sessions: JWT in HttpOnly cookies, KV storage
- API Security: Rate limiting, CORS, request validation
- Data Encryption: TLS 1.3 in transit, AES-256 at rest (R2)
- File Access: Presigned URLs with expiry
π Scaling Strategy
Horizontal Scaling (Automatic)
- Cloudflare Workers: Auto-scale to millions of requests
- R2: Unlimited storage, global replication
- D1: Read replicas for query distribution
Scaling Triggers
| Users | Action Required |
|---|---|
| 0-1K | Stay on free tiers where possible |
| 1K-10K | Upgrade to Workers Paid ($5/mo) |
| 10K-50K | Add D1 read replicas, increase Fly.io |
| 50K+ | Consider Cloudflare Enterprise contract |