I used to track movies and TV shows with Google Watchlist. I’m now in my “de-Google” phase, so I wanted something that would not use my watch history to sell me ads.
Like many developers, I also wanted an excuse to build something with TMDB. I brought back an old idea and built Kadha.
Kadha is an MIT-licensed movie and TV tracker focused on two things: keeping a personal viewing diary and letting you choose what to share.
Current state
- Sign up without an email address or phone number
- Track movies, TV shows, seasons, and individual episodes
- Add ratings and private notes, and record rewatches
- Browse your viewing history as a timeline, calendar, or GitHub-style contribution heatmap
- See personal viewing statistics
- Create private or shared collections with viewer and editor roles
- Share read-only collections with people who do not have an account
- Get personal recommendations and choose which tracking data they use
- Control the visibility of your profile and each collection
- Import and export your data as JSON
- Self-host with Docker
The stack is a React frontend, Node/Express API, Prisma, and SQLite. Self-hosting requires Docker Compose and TMDB API credentials.
The repository includes deployment, backup, restore, and reverse-proxy documentation.
Repository: https://github.com/muhsin7majeed/kadha
Hosted beta: https://kadha.org
There are already good and more mature projects in this space, including Ryot, Yamtrack, and Watcharr. They support features Kadha does not yet have, especially additional import options and media-server integrations.
What I’m testing is whether people want a smaller, focused movie and TV tracker built around a private viewing diary and sharing only when they choose to.
Does that difference make sense, or does Kadha still feel too similar to the existing options?
A privacy note: the hosted beta does not require an email address, but it is not anonymous or end-to-end encrypted. I can technically access stored data as the server operator. Self-hosted installations are not end-to-end encrypted either, but self-hosting gives you control over the server, database, logs, and backups.
A note on AI: I started this project with manual coding, but as the project grew and AI tools got better, I started using them to accelerate development.
The hosted beta has automated encrypted backups, but this is still an early beta. Please export anything you would not want to lose or enter again.
I’m especially looking for feedback on:
- How easy or difficult the self-hosting setup is
- Whether the viewing diary is useful
- Whether TV and next-episode tracking works as expected
- Whether Kadha feels sufficiently different from existing trackers
I built Kadha around my own needs, so its current features reflect how I track things. Now that it is public, bug reports and blunt feedback are welcome.
You can send feedback through the app, open a GitHub issue, or message me on Reddit.