Epilog

Self-hosted TV show and movie tracker

RoleFull-stack developmentVisit website
Epilog logo and presentation artwork

Epilog is a web app to track TV shows and movies: watched episodes, season-by-season progress, upcoming releases. It was born as a self-hosted alternative to TV Time, with a clear goal: own your data, with an essential, fast, ad-free experience.

Architecture

The project is a monorepo with three workspaces — server, web app and landing — with unified versioning and tagged releases.

  • Backend in Node.js/TypeScript with Express: REST API with server-side sessions, Google Sign-In authentication, rate limiting and security headers. Persistence on SQLite via Knex, with automatic migrations at startup.
  • Frontend in React 19 with Vite: client-side routing, IT/EN internationalization with i18next, carousels and lightweight animations, self-hosted fonts as a GDPR-friendly choice (no calls to external CDNs).
  • Landing built with Astro, bilingual, with complete legal pages.

Technical choices

Show and movie metadata comes from the TMDB APIs. Database backups are automated to AWS S3 with scheduled jobs, and transactional emails are sent through AWS SES. The app runs on Railway with healthchecks and automatic deploys; the landing lives on AWS Amplify, published by GitHub Actions with OIDC authentication — no credentials stored in the repository.