Verdct: a film site with no database.
A film site you can browse by genre, year and certificate, search as you type, and review. Behind it: no database, no ORM, no search cluster, no schema — just two Search Stack lists. Delete them and there is nothing left to render.
No database at all
No persistence layer in the app. Every film, person and review is a record in a list; every page is one or more search calls.
The catalogue keeps itself
Films come from TMDB through an API feed we poll and stage. New releases appear, films that fall out are deactivated, and nobody re-imports anything by hand.
The search box isn't its code
Typeahead is our published npm widget calling suggest straight from the browser, across a group of two lists. Verdct's own server never sees a keystroke.
Every feature, and the call behind it
Each row is something you can click on theverdct.com, beside the documented Search Stack call that produces it.
| On the site | What Search Stack does |
|---|---|
| Browse, filter, sort and page the catalogue | one search call with filters and ordering |
| The genre, year and certificate rails, with their counts | facet values, asked for alongside the search |
| Suggestions as you type, over films and people at once | suggest across a group of two lists |
| Typing a phrase from a review and finding the film | the same query run over a second list |
| Finding a director or an actor by name | a people list, plus the cast and director fields on each film |
| Posters, backdrops and trailers on every film | resource fields — carried with the record, never matched as text |
| New films arriving as TMDB updates, old ones dropping out | an API feed we poll and keep the list in step with |
| The median verdict and review count on each film | stamped onto the record by that same feed |
| The search box itself | the @searchstack/autocomplete widget, calling us straight from the browser |
Reviews written in prose, not stars
- Nobody picks a score. You describe the film, and a scoring guide turns that into a number on the same scale for everyone.
- Each film carries the median of those scores, not the mean, so one furious reviewer can't move it.
- The median is stamped onto the film's record by the same feed that keeps the catalogue fresh — a single record can never compute a figure across many.
What it took to build
Two lists, one feed endpoint, and a front end. No migrations, no index tuning, no search server, and nothing to re-import when the data changes. Keeping the catalogue current, filtering it fast and searching it as you type are all configuration on a list.
If you want to build the same shape of thing with your own data, the search box lesson starts from an empty list and finishes with a working search box on a page.