Playback statistics for Jellyfin.
FinStats is a self-hosted companion to a Jellyfin media server. It watches what the server plays and turns it into answers: who watches what, how it reaches them, what the library is really used for and, once a year, each person's year in review.
Jellyfin tells you what is playing right now. It does not tell you that one app transcodes everything it touches, that four people stream at once every Saturday, or that a third of the disk is films nobody has ever pressed play on.
The trackers that did answer those questions came with a database server of their own to run and look after. FinStats was made to be the small one: a single program with its own built-in database, set up in a couple of minutes and then left alone. It only ever reads from Jellyfin, keeps everything on your own machine, and shows each person their own statistics unless you decide otherwise.
→ Try the demo: FinStats in your browser, with invented people and titles. Nothing to install.
→ Get started: install it next to Jellyfin in a couple of minutes. Then what you get, and how to help.
The code is at finstats/finstats, and all of the documentation for the three projects is at finstats.no.
FinStats looks and moves the way it does because of two projects of its own, and both work outside it too.
- FinUI: the components FinStats is built from, in light and dark, with FinUI create to restyle them into a preset you install with one line. Vanilla ES modules and plain CSS, no build step. See every component, or read how to use it.
- FinMotion: how FinUI moves. One stylesheet and one call, and every FinUI component on the page moves on springs, at the pace each person picks and still for anyone who asks for reduced motion. See it move, or read how to install it.