
How We Built a 162K-Word Database on Cloudflare Workers + D1
We needed a dictionary that runs at the edge. Not a wrapper around an existing API — a full database with definitions, etymology, translations, pronunciation data, and age-appropriate explanations, all served from SQLite co-located with the compute. Here's how we built it. The Requirements Our product ( thedailylesson.com ) serves 62,000 lesson segments in 11 languages and 3 age groups. Every lesson needs vocabulary: definitions, translations, pronunciation, and explanations calibrated for the learner's age. We needed: 162,250 words with verified definitions and etymology 846,000 translation rows across 47 languages with native script 240,000 audio files for pronunciation Sub-50ms response globally No cold starts — educational applications can't tolerate 500ms+ delays Why D1 (SQLite at Edge) The first decision was the database. Options: Option Pros Cons Postgres (Neon, Supabase) Familiar SQL, rich features Connection pooling overhead, cold starts, network round-trip D1 (SQLite at edge)
Continue reading on Dev.to Tutorial
Opens in a new tab


