About
Built to keep your lists current.
Biinge is an open-source, self-hosted iOS app for tracking movies, TV shows and games. It organizes each medium in a way that fits, while keeping your library in a database you control.
Progress sets the state
Movies move from Want to Watched. TV shows add Watching in between, and Biinge works out where a show belongs from the episodes you mark. Games use Want, Playing and Played, with every state under your control.
-
Want
Movies, TV shows and games you plan to start. Each medium keeps its own list.
-
Watching
TV shows move here after the first episode you mark. Games use Playing, which you set yourself.
-
Watched
Finished movies and ended TV shows. Games use Played; completed movies and episodes contribute to watch-time totals.
Your library stays current
Release dates change and finished shows sometimes return. A background worker periodically refreshes eligible movies and TV shows from TMDB so corrected details reach your library without you reopening every title. If an ended show is renewed, it returns to Watching.
Your server, your database
There is no hosted Biinge service. You run the API, create an account on it, and keep your library and watch history in your own PostgreSQL database. There is no advertising and nothing to subscribe to.
Your server requests movie and TV metadata from TMDB and game metadata from IGDB. Optional Sentry crash reporting remains off until you configure it.
How it's built
A Go REST API owns the library, episode progress, Up Next and statistics. It talks to TMDB and IGDB on the app's behalf, keeping provider credentials on your server instead of inside the app. The native client is built with SwiftUI for iOS 26.
- Go
- Fx
- chi
- PostgreSQL
- sqlc
- goose
- Redis
- TMDB
- IGDB
- SwiftUI
- iOS 26
Open source
The API and iOS app live in one repository, each with its own build and tests. The project is MIT licensed; fork it, run it and make it your own.