2026-06-18 17:13:24 +02:00
2026-06-18 17:13:24 +02:00
2026-06-18 17:13:24 +02:00
2026-06-10 18:30:46 +02:00
2026-06-18 17:13:24 +02:00
2026-06-17 20:35:57 +02:00
2026-06-10 18:30:46 +02:00
2026-06-10 17:25:59 +02:00
2026-06-17 20:35:57 +02:00
2026-06-10 17:25:59 +02:00
2026-06-10 18:30:46 +02:00
2026-06-10 18:30:46 +02:00
2026-06-10 18:30:46 +02:00
2026-06-10 18:30:46 +02:00
2026-06-18 17:13:24 +02:00
2026-06-10 18:30:46 +02:00
2026-06-18 17:13:24 +02:00
2026-06-17 20:35:57 +02:00
2026-06-18 17:13:24 +02:00

Film Intel

Reliable film age ratings, explained. Search any film and get a clear breakdown of why it received its age rating, plus how that rating differs across countries.

Requirements

  • Node.js 22
  • A TMDB API key (https://www.themoviedb.org/settings/api)
  • An LLM API key (OpenRouter or any OpenAI-compatible endpoint)
  • PostgreSQL for caching generated rating cards (optional but recommended)

Copy .env.example to .env and fill in the keys.

Starts the app (with live reload) and the database, and runs migrations automatically on first start:

docker compose -f docker-compose.dev.yml up --build
  • Open http://localhost:3000
  • Source code is mounted for live reload (npm run dev inside the container)
  • Stop with docker compose -f docker-compose.dev.yml down

Development without Docker

npm install
npm run dev

Without a database the rating cards will still generate (they just won't be cached), thanks to graceful cache handling. Run npm run db:migrate against a reachable Postgres to enable caching.

Production

docker compose -f docker-compose.yml up --build

Scripts

  • npm run dev — start the Next.js dev server
  • npm run build — production build
  • npm run start — serve the production build
  • npm run lint — run ESLint
  • npm run db:migrate — apply database migrations
S
Description
No description provided
Readme
365 KiB
Languages
TypeScript 93.3%
JavaScript 2.8%
Dockerfile 2.4%
CSS 1.2%
Shell 0.3%