CinePro - 230M Rows, 16GB Database, Instant Queries with DuckDB
Published: January 28, 2026

230M rows, 16GB database. Instant queries. Just DuckDB. Built dashboards on IMDb data to see what it can handle (12M titles, 15M people).
Running on my $7/month Hetzner server, sharing resources with 40 of my other backends. Queries hit a single DuckDB file via an API layer. Easy to setup, fast and cost efficient.
Live: https://www.tigzig.com/movie-explorer
What You Can Do
- Search as you type: results show up instantly
- Instant Filter: rating, votes, era, genre, names, titles - all together
- Find similar movies: Jaccard similarity on cast, director, genre
- Click any actor: get full career, timeline charts, automatic co-stars
- Compare people: side by side career stats
- Live query timer: shows execution time in milliseconds on every page
Tech Stack
- 12M titles, 15M people, 230M+ rows, 16GBs - all in a single DuckDB file
- Backend: FastAPI layer for DuckDB, React frontend
- Fast queries: Pre-aggregated flattened tables
- Two servers: Hetzner and Oracle OCI replicated - switch with UI toggle
- Security: Serverless proxy, backend API keys, per-IP rate limiting
- Smart Search toggle, Concurrency, Auth (Clerk - enable via toggle)
Fully Open Source
Hit 'Docs' on app site. Frontend, backend, DuckDB setup, processing scripts and the full DuckDB file also if you'd like to download. Pick-and-choose components and patterns that you like for your own dashboards.
Note: Built with IMDb's public datasets. Used as per license terms for non-commercial purposes.