CineTrack is my personal movie and TV tracking app. It helps me keep track of what I want to watch, what I'm watching, what I've finished, ratings, rewatches, and episode progress.
The app runs locally and keeps my library on my machine. Movie and TV information comes from TMDb.
- React and TypeScript
- Vite
- Tailwind CSS
- Recharts
- SQLite with
sql.js - TMDb API
- Vitest
- Node.js 22.12 or newer
- npm
- A TMDb API key
Install the dependencies:
npm ciCreate a .env file in the project root and add your TMDb key:
TMDB_KEY=your-key-hereStart the development server:
npm run devThe app will run at the address shown in the terminal.
Build the app:
npm run buildStart the local production server:
npm run startnpm test # run tests
npm run typecheck # check TypeScript
npm run build # create production build
npm run start # run production serversrc/contains the React app and UI.src/components/contains the main app components.src/lib/contains the library, TMDb, and settings logic.data/contains the local database..github/contains the CI workflow.
CineTrack is made for personal, local use. Your library stays on your machine apart from requests to TMDb for movie and TV metadata.
CineTrack collects nothing: no analytics, no tracking, no accounts, and no data leaves your machine except direct requests to the TMDb API for movie and TV metadata. Your entire library lives in the local SQLite database in data/ and your browser storage.
CineTrack is open source under the MIT License. You can use, copy, modify, merge, publish, distribute, sublicense, and sell copies of it, including for commercial purposes, as long as the copyright notice and permission notice are kept with the source.
Movie and TV metadata, posters, and stills are provided by TMDb. This project is not endorsed by or affiliated with TMDb, and TMDb's own terms apply to its data and imagery.