Fathom is a free, open-source (AGPL) Jellyfin client for Linux, Windows and Android, with YouTube, Seerr requests and internet radio built in.

Thanks to feedback here, 0.13.1 adds an Interface Size setting on Linux and Windows (75% to 200%). On Linux it also sizes up on its own on a dense 4K screen when the desktop's scaling is left at 100%.

Also new:

  • Android YouTube downloads are saved to Movies/Fathom and Music/Fathom, where your Files app, gallery and other players see them
  • Windows includes ffmpeg, so YouTube downloads above 360p work with nothing else to install
  • Quick Connect works on Jellyfin 12
  • Android notification, lock screen and earbud controls no longer stop responding
  • Downloaded movies and episodes get readable names with their real file extension
  • Radio reconnects within seconds after a dropped connection

Release and downloads: https://github.com/Fathom-Media/fathom/releases/tag/v0.13.1 Docs: https://fathom-media.github.io/fathom/


AI Disclosure

Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

  • Design (architecture, system design): Hint: I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
  • Implementation (production code): Pair: roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
  • Testing (writing tests, test plans, QA): Assisted: real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
  • Documentation (docs, comments, README, CHANGELOG): Pair: release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
  • Review (code review, PR feedback): Assisted: I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
  • Deployment (CI/CD config): Hint: Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
 

Fathom is a free, open-source (AGPL) Jellyfin client for Linux, Windows and Android, with YouTube, Seerr requests and internet radio built in.

Thanks to feedback here, 0.13.1 adds an Interface Size setting on Linux and Windows (75% to 200%). On Linux it also sizes up on its own on a dense 4K screen when the desktop's scaling is left at 100%.

Also new:

  • Android YouTube downloads are saved to Movies/Fathom and Music/Fathom, where your Files app, gallery and other players see them
  • Windows includes ffmpeg, so YouTube downloads above 360p work with nothing else to install
  • Quick Connect works on Jellyfin 12
  • Android notification, lock screen and earbud controls no longer stop responding
  • Downloaded movies and episodes get readable names with their real file extension
  • Radio reconnects within seconds after a dropped connection

Release and downloads: https://github.com/Fathom-Media/fathom/releases/tag/v0.13.1 Docs: https://fathom-media.github.io/fathom/

AI Disclosure

Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

  • Design (architecture, system design): Hint: I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
  • Implementation (production code): Pair: roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
  • Testing (writing tests, test plans, QA): Assisted: real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
  • Documentation (docs, comments, README, CHANGELOG): Pair: release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
  • Review (code review, PR feedback): Assisted: I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
  • Deployment (CI/CD config): Hint: Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
[–] [S] 2 points 1 month ago* (last edited 1 month ago)

Glad you are liking it so far! Yes i have thought about adding Kanban support, but i am not sure if its the right fit to implement in the app. Will surely continue to think about and consider it for the future! I've been thinking about putting all my apps on F-Droid, so i will say coming soon!. With respect to the color... you can change it to literally whatever you want in Settings under Apperance, so you are not stuck to the purple if you prefer something else.

  • source
  • parent
  • context
  • [–] [S] 5 points 1 month ago

    Yes. You can share any note or checklist with other people on your server, with view or edit access. Pins, labels, colors and reminders stay personal to each person, so a family member can pin the grocery list without it jumping to the top of your grid.

    It isn't live yet, though. Changes sync rather than stream. The Android app syncs every 30 seconds and whenever you open it, so a checked-off item shows up on the other phone within about half a minute. In the web app, changes from someone else show up when you refresh, reopen the note, or pull down on the list.

    If you both edit at the same time:

    • Checklists merge item by item. You can both tick things off or add items in the same list and nothing gets lost, which covers the usual shared shopping list case.
    • For text notes, the last save wins, and the other version is kept in the note's version history, so nothing is ever thrown away.

    Live updates, where a tick or edit shows up on the other person's screen within a second or two, are very doable, and I'd like to add them. If you open a feature request for it, it goes on the list and you'll get a notification when it's in: https://github.com/TraceApps/notetrace/issues/new?template=feature_request.yml

    A couple of lines about how you'd use it (for example, two phones on one shopping list at the store) will help me with envisioning how this should work.

  • source
  • parent
  • context
  • [–] [S] 3 points 1 month ago* (last edited 1 month ago)

    Please do! Google Keep was my go to, and for self hosting i did enjoy Blinko. I feel this is the best of both worlds! Let me know your thoughts. I do my best to continue to improve my apps and implement bug fixes, new features, and be as responsive as time allows me.

  • source
  • parent
  • context
  •  

    NoteTrace is a self-hosted alternative to Google Keep, Evernote and Apple Notes: notes, checklists and reminders in a card grid, on your own server. AGPL-3.0, a single Docker container, a web app that works offline, a native Android app, and a Wear OS app. No telemetry, no cloud. This is the first stable release.

    Part of the TraceApps family: NutriTrace (nutrition), CookTrace (recipes / pantry / shopping), LiftTrace (strength / lifting).

    What it does

    • Notes and checklists. Pins, colors, nested labels, archive, trash, version history, and full-text search that also finds words in voice transcripts and in photos.
    • Reminders and Tasks. Repeating reminders that keep their local time, exact alarms on Android, and one view of everything that's due.
    • Offline everywhere. The installed web app keeps editing with no connection and syncs later; Android and the watch work offline too.
    • Wear OS. Tick off lists, read notes, see what's due, and speak a note ("call the plumber tomorrow at nine" sets the reminder), with a tile and a watch face complication.
    • Voice notes and drawings. Record with the screen off and get a transcript you can tap to jump to.
    • Bring your notes with you. Import from Google Keep, Evernote, Memos, Blinko and Markdown vaults; export everything as Markdown with images.
    • Optional AI. Tidy up, summarise, or turn a note into a checklist, with the provider of your choice. Off unless you set it up.

    Links


    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint: I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair: roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted: real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair: release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted: I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint: Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
     

    CookTrace is a self-hosted alternative to Mealie / Tandoor / Paprika: recipes, pantry inventory, shopping lists, and a cook diary in one app. AGPL-3.0, single Docker container, native Android app.

    Part of the TraceApps family: NutriTrace (nutrition), CookTrace (recipes / pantry / shopping), LiftTrace (strength / lifting).

    What v1.2.0 adds

    • Ingredient links on recipe steps. Link specific ingredients to the step that uses them, and Cook Mode shows each step's linked ingredients inline with their quantities, no more scrolling back up to check how much flour a step needs. Tapping one checks it off the main list too, and finishing a step checks off everything linked to it. Tandoor imports carry this linkage over automatically.
    • Wide-screen desktop layouts across six main pages plus Cookbooks. Settings, Manage, Shopping, Diary, Pantry, and Recipes all get real desktop treatments instead of a stretched-out phone layout: masonry shopping lists, a two-pane Settings shell, denser pantry and diary grids, and wider content caps on ultrawide monitors.
    • Cookbooks get search, drag-and-drop reorder, and a cover image. Pick a recipe card up from anywhere on it to reorder, not just a tiny handle. Cookbook cards now show the same info as the main Recipes grid (category, rating, tags, pantry match).
    • Kitchen auto-share was silently dropping recipes created on the Android app. Recipes made on your phone weren't fanning out to other Kitchen members. Fixed, and toggling auto-share off then back on backfills anything missed.
    • Mobile ingredient-name suggestions no longer cover the keyboard. The field used the browser's native suggestion picker, which some mobile WebViews render as a full-screen overlay fighting the keyboard for space. Replaced with an in-app dropdown that sizes itself to whatever room is actually free.
    • A batch of smaller fixes: CSRF errors on file/URL import dialogs, email links rendering as http:// behind a reverse proxy, single-user-mode data getting stranded on upgrade, pantry items disappearing when sorted A-Z with an orphaned category, and more in the full changelog.

    Community contributions this release: @clifmo (email-link proxy fix), @xiaojwus (pantry sort bug report).

    Security

    fast-uri, browserslist, @xmldom/xmldom, and qs bumped, closing 8 advisories (4 high, 4 moderate: host confusion / SSRF via URL normalization, unbounded memory growth, XML fragment injection, denial of service). No app behavior changes.

    Links

    docker compose pull && docker compose up -d

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint, I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair, roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted, real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair, release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted, I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint, Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
     

    Fathom is an all-in-one client for Jellyfin, on Linux, Windows, and Android (with experimental Android TV). It puts movies, shows, music, and Live TV in one window, with most of Jellyfin's server-side management built in, plus optional Seerr requests and a full YouTube client. Everything plays through mpv (via media_kit), so you get direct play, hardware decoding, and real subtitle and audio track control. Free and open source (AGPL-3.0), built by one person. This is my first update post since the v0.11.0 rundown, so here's what's new across v0.11.1 and v0.12.0.

    Feedback is very welcome: bug reports and feature requests on GitHub Issues, questions in Discussions.

    Downloads

    Downloads is now a full offline library instead of a flat list: separate Movies, TV Shows, Recordings, and Music sections, with the same poster covers and rating badges as the regular library.

    A downloaded title opens the same detail page as its library page (backdrop, cast, ratings, overview), scoped to what's downloaded: only the episodes you have, with local-only play, mark watched, and remove that never touch the server.

    Download a whole series or season in one go, picking a scope, plus a download option on every episode's own menu.

    Download music too, a single track or a whole album or artist, and it plays in the music player with the familiar album view, fully offline.

    Live TV recordings can be downloaded as well, and can be found in their own Recordings section.

    YouTube

    Fixed playback being blocked entirely by YouTube's "confirm you're not a bot" gate.

    Fixed multi-language videos defaulting to a dubbed audio track instead of the original.

    Shuffle and repeat for background audio, plus skip back to the previous track.

    Live streams start in a couple of seconds instead of tens of seconds.

    Account and updates

    Change your own password from the Profile screen (current, new, confirm). Leaving the new password blank removes it, the same option the official Jellyfin clients offer.

    Update checks now have a frequency setting: on or off, plus Every Launch, Daily, or Weekly.

    A new build is announced with a floating banner and a native system notification on Linux and Android.

    Also since v0.11.0

    Tapping an episode row opens its page; the thumbnail or play icon plays it directly.

    Background audio no longer freezes on an unplayable track, and recovers from brief network drops.

    Saved radio stations are no longer left out of settings backups.

    Importing YouTube subscriptions on Android no longer greys out cloud-storage files.

    Settings and your Jellyfin login now persist on minimal Linux desktops where the system keyring starts cold, such as Hyprland.

    In-app updates on Android work again; a build-numbering issue was rejecting newer builds as a downgrade.

    A Nix flake for Linux, so you can build and run Fathom with nix build / nix run.

    Platforms: Linux and Windows (self-contained downloads) and Android (APK; Android TV experimental). macOS and iOS still need Mac hardware I don't have yet.

    Links

    Repo: https://github.com/Fathom-Media/fathom

    Latest release: https://github.com/Fathom-Media/fathom/releases/latest

    Bugs and feature requests: https://github.com/Fathom-Media/fathom/issues

    Docs: https://fathom-media.github.io/fathom

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements, AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD, release pipeline): Hint — GitHub Actions and the release pipeline are largely conventional; AI-suggested improvements only.
     

    Fathom is an all-in-one client for Jellyfin, on Linux, Windows, and Android (with experimental Android TV). It puts movies, shows, music, and Live TV in one window, with most of Jellyfin's server-side management built in, plus optional Seerr requests and a full YouTube client. Everything plays through mpv (via media_kit), so you get direct play, hardware decoding, and real subtitle and audio track control. Free and open source (AGPL-3.0), built by one person. This is my first update post since the v0.11.0 rundown, so here's what's new across v0.11.1 and v0.12.0.

    Feedback is very welcome: bug reports and feature requests on GitHub Issues, questions in Discussions.

    Downloads

    Downloads is now a full offline library instead of a flat list: separate Movies, TV Shows, Recordings, and Music sections, with the same poster covers and rating badges as the regular library.

    A downloaded title opens the same detail page as its library page (backdrop, cast, ratings, overview), scoped to what's downloaded: only the episodes you have, with local-only play, mark watched, and remove that never touch the server.

    Download a whole series or season in one go, picking a scope, plus a download option on every episode's own menu.

    Download music too, a single track or a whole album or artist, and it plays in the music player with the familiar album view, fully offline.

    Live TV recordings can be downloaded as well, and can be found in their own Recordings section.

    YouTube

    Fixed playback being blocked entirely by YouTube's "confirm you're not a bot" gate.

    Fixed multi-language videos defaulting to a dubbed audio track instead of the original.

    Shuffle and repeat for background audio, plus skip back to the previous track.

    Live streams start in a couple of seconds instead of tens of seconds.

    Account and updates

    Change your own password from the Profile screen (current, new, confirm). Leaving the new password blank removes it, the same option the official Jellyfin clients offer.

    Update checks now have a frequency setting: on or off, plus Every Launch, Daily, or Weekly.

    A new build is announced with a floating banner and a native system notification on Linux and Android.

    Also since v0.11.0

    Tapping an episode row opens its page; the thumbnail or play icon plays it directly.

    Background audio no longer freezes on an unplayable track, and recovers from brief network drops.

    Saved radio stations are no longer left out of settings backups.

    Importing YouTube subscriptions on Android no longer greys out cloud-storage files.

    Settings and your Jellyfin login now persist on minimal Linux desktops where the system keyring starts cold, such as Hyprland.

    In-app updates on Android work again; a build-numbering issue was rejecting newer builds as a downgrade.

    A Nix flake for Linux, so you can build and run Fathom with nix build / nix run.

    Platforms: Linux and Windows (self-contained downloads) and Android (APK; Android TV experimental). macOS and iOS still need Mac hardware I don't have yet.

    Links

    Repo: https://github.com/Fathom-Media/fathom

    Latest release: https://github.com/Fathom-Media/fathom/releases/latest

    Bugs and feature requests: https://github.com/Fathom-Media/fathom/issues

    Docs: https://fathom-media.github.io/fathom

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements, AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD, release pipeline): Hint — GitHub Actions and the release pipeline are largely conventional; AI-suggested improvements only.
    [–] [S] 3 points 3 months ago* (last edited 3 months ago)

    Thank you. Alot of time was put into this locally, prior to releasing anything on github.... and happy to look into your request! To help me track it, would you mind submitting a feature request on the GitHub repo? I appreciate your input!

  • source
  • parent
  • context
  •  

    Fathom is an all-in-one client for Jellyfin, on Linux, Windows, and now Android. It brings movies, shows, music, and Live TV into one window, with most of Jellyfin's server-side management built in, plus optional Seerr requests and a full YouTube client. Everything plays through mpv (via media_kit), so you get direct play, hardware decoding, and real subtitle and audio track control. Free and open source (AGPL-3.0).

    Feedback is very welcome. Bug reports and feature requests both belong on GitHub Issues, and questions are fine in Discussions. Fair warning: the new Android TV build is still rough around the edges, so testers and reports there especially would help a lot.

    I'd really value testers and feedback. This is a big release, and as a solo dev I only have so many devices to test on, so the new Android and especially Android TV builds need real-world eyes. If something breaks, feels off, or is missing, please open a bug report or a feature request on GitHub Issues, or start a thread in Discussions. Bug reports with a diagnostics export (Settings shows how) are gold, and feature requests are genuinely welcome, not just tolerated.

    This is my first update post since the 0.9.0 launch, so here's everything added since then.

    New platforms

    • Android phones and tablets, from a single universal APK.
    • Android TV, experimental for now: D-pad navigation and a 10-foot interface, still being refined.
    • Android Auto (audio-only): browse Jellyfin music, internet radio, and YouTube, search by voice, and control playback from the car.
    • ARM64 (aarch64) Linux builds alongside x86_64.

    Player

    • Up Next over the credits (a poster card or a compact Netflix-style pill) that rolls into the next episode, with configurable timing and autoplay.
    • Skip Intro, Skip Credits, and Skip Recap.
    • Audio passthrough: bitstream Atmos, Dolby Digital, and DTS to a receiver on the desktop player.
    • Playback Info overlay: play method, codecs, resolution, the live hardware-decode path, and dropped frames.
    • Display Sync for smoother playback on high-refresh displays.
    • Chromecast casting from Android.

    Library and management

    • A per-item menu on posters, episode rows, and the detail page: Play or Resume, mark watched, favorite, add to a playlist, refresh metadata, and delete.
    • Delete media from the app (with the right server permission): a whole series, a season, a single episode, or a movie.
    • In-app plugin configuration as a real form with toggles and fields, instead of a raw JSON blob.
    • Backup and Restore your settings to a portable file, by group.

    Beyond Jellyfin

    • Internet radio: add stations by URL or from the radio-browser.info directory, organize them into groups and favorites, with live time-shift to pause and rewind a live station.
    • OS media controls: system media keys and on-screen controls on Linux (MPRIS) and Windows (SMTC), covering video, Live TV, YouTube, and radio.
    • The built-in YouTube client gains a Shorts viewer, background audio, a playlist queue, and much faster browsing, on top of the existing SponsorBlock, DeArrow, and downloads.

    Quality of life

    • Unified search, drag-to-reorder lists, and a customizable Home and navigation.
    • Diagnostics screen with exportable logs, internal/external server address auto-switching, and a documentation site.
    • Reliable HTTPS on Windows, and in-app updates that verify the download's size and architecture before installing.

    Platforms: Linux and Windows (self-contained downloads) and Android (APK; Android TV experimental). macOS and iOS need Mac hardware I don't have yet.

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint — the GitHub Actions build and release pipeline (Linux AppImage, Windows, Android APK) is largely conventional; AI-suggested improvements only.
     

    Fathom is an all-in-one client for Jellyfin, on Linux, Windows, and now Android. It brings movies, shows, music, and Live TV into one window, with most of Jellyfin's server-side management built in, plus optional Seerr requests and a full YouTube client. Everything plays through mpv (via media_kit), so you get direct play, hardware decoding, and real subtitle and audio track control. Free and open source (AGPL-3.0).

    Feedback is very welcome. Bug reports and feature requests both belong on GitHub Issues, and questions are fine in Discussions. Fair warning: the new Android TV build is still rough around the edges, so testers and reports there especially would help a lot.

    This is my first update post since the 0.9.0 launch, so here's everything added since then.

    New platforms

    • Android phones and tablets, from a single universal APK.
    • Android TV, experimental for now: D-pad navigation and a 10-foot interface, still being refined.
    • Android Auto (audio-only): browse Jellyfin music, internet radio, and YouTube, search by voice, and control playback from the car.
    • ARM64 (aarch64) Linux builds alongside x86_64.

    Player

    • Up Next over the credits (a poster card or a compact Netflix-style pill) that rolls into the next episode, with configurable timing and autoplay.
    • Skip Intro, Skip Credits, and Skip Recap.
    • Audio passthrough: bitstream Atmos, Dolby Digital, and DTS to a receiver on the desktop player.
    • Playback Info overlay: play method, codecs, resolution, the live hardware-decode path, and dropped frames.
    • Display Sync for smoother playback on high-refresh displays.
    • Chromecast casting from Android.

    Library and management

    • A per-item menu on posters, episode rows, and the detail page: Play or Resume, mark watched, favorite, add to a playlist, refresh metadata, and delete.
    • Delete media from the app (with the right server permission): a whole series, a season, a single episode, or a movie.
    • In-app plugin configuration as a real form with toggles and fields, instead of a raw JSON blob.
    • Backup and Restore your settings to a portable file, by group.

    Beyond Jellyfin

    • Internet radio: add stations by URL or from the radio-browser.info directory, organize them into groups and favorites, with live time-shift to pause and rewind a live station.
    • OS media controls: system media keys and on-screen controls on Linux (MPRIS) and Windows (SMTC), covering video, Live TV, YouTube, and radio.
    • The built-in YouTube client gains a Shorts viewer, background audio, a playlist queue, and much faster browsing, on top of the existing SponsorBlock, DeArrow, and downloads.

    Quality of life

    • Unified search, drag-to-reorder lists, and a customizable Home and navigation.
    • Diagnostics screen with exportable logs, internal/external server address auto-switching, and a documentation site.
    • Reliable HTTPS on Windows, and in-app updates that verify the download's size and architecture before installing.

    Platforms: Linux and Windows (self-contained downloads) and Android (APK; Android TV experimental). macOS and iOS need Mac hardware I don't have yet.

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint — the GitHub Actions build and release pipeline (Linux AppImage, Windows, Android APK) is largely conventional; AI-suggested improvements only.
    [–] [S] 1 point 3 months ago

    One thing I wish ai would teach vibe coders is how to use semantic versioning.

    Trying to infer state of project from versions in ai-assisted software is an exercise in confusion.

    Thank you. Hoping to continue to improve the products in meaningful ways. Always appreciate your continued support!

  • source
  • parent
  • context
  •  

    CookTrace is a self-hosted recipe, pantry, and cook-diary app. Single Docker container, PWA + native Android app, no accounts on external services, no telemetry. Third app in the Trace family alongside NutriTrace and LiftTrace.

    v1.1.1 rolls up everything since v1.0.3 (a couple months of work, went straight from 1.0.3 to 1.1.0 to 1.1.1).

    Added

    • In-app updates. New Settings → Updates panel checks GitHub Releases for a newer version. On Android, downloads the signed APK and hands off to the system installer via FileProvider. One primary button drives the whole flow: Check Now → Download & Install → Downloading X%. Skip This Version link when an update's available, inline "What's new" markdown panel, opt-in Stable or Dev channels. Silent shade notification when the OS notification permission is granted; top-of-app banner as fallback.
    • Full i18n retrofit across the app. Every hardcoded UI string extracted into src/i18n/en.json and reads via svelte-i18n. ~460 new keys, Weblate-ready. Covers Settings, Pantry, Recipes, Cook Diary, Shopping, Trace AI, and every shared widget. Chicago-style title case for labels/buttons/headings, sentence case for body prose. Column-aligned values and paired <key>_desc sibling keys so translators get inline context.
    • Pull-to-refresh sync (Android). Swipe down from the top of any page to trigger a manual sync in native server mode.
    • Smart connection banner. When sync fails, the banner explains what actually went wrong (no network vs cellular-only vs server unreachable vs HTTP error) with a Retry button, instead of a generic "sync error".
    • Cloud icon in hamburger menu goes red on server disconnect. Previously only lit up when the OS reported offline; now also triggers on server-side outages and cellular-vs-LAN routing mismatches.
    • Pantry page: configurable default search source. New setting under Settings → Food Sources → Pantry Search picks which chip the Pantry page opens with (All, My Pantry, OFF, USDA). Sticks across sessions + devices.
    • Optional email on Create Admin Account form. Shows up when SMTP is configured via environment variables. Stored on the admin user record for password-reset and invite emails later.
    • Accent-tinted browser chrome. The browser tab bar picks up the current accent color via <meta name="theme-color">. Running CookTrace alongside NutriTrace / LiftTrace? Distinct accent per install makes tabs visually distinguishable at a glance.
    • Docker Hub mirror. Images now publish to both ghcr.io/traceapps/cooktrace (primary) and traceapps/cooktrace on Docker Hub. Identical multi-arch tag set on both registries.

    Changed

    • Bitwarden and other password managers show a real app identifier instead of "localhost" (Android). The Android app used to serve its WebView from https://localhost/, so autofill entries saved as "localhost" and were indistinguishable from any other localhost app. Now identifies as app.cooktrace.local, which reads clearly in autofill dialogs and saved-credentials lists. One-time upgrade cost: the origin change orphans locally cached web-only state, so on first launch after upgrading you'll re-enter your server URL + log in again (server-connected users) or lose theme / accent / display prefs (standalone users). Recipe, pantry, and shopping data is unaffected (that lives in a separate local SQLite DB).
    • SMTP "Username" field relabeled to "Email or Username". Most providers want the full email; the label change removes the guesswork.

    Fixed

    • OFF country filter works again + picker expanded 15 → 30 countries. The Pantry's Open Food Facts country filter was being passed with the wrong query shape (countries_tags_en=<slug>), so selecting Norway or any non-World option silently had no effect. Fixed by using search-a-licious's native inline Lucene syntax. While in there: alphabetized the picker and added Argentina, Austria, Belgium, Chile, Denmark, Finland, Ireland, Netherlands, New Zealand, Norway, Poland, Portugal, Singapore, South Africa, South Korea, Sweden, Switzerland.
    • App icon no longer shows a white halo. Bundled icon PNGs had ~15px of solid white padding baked into their corners; on tinted browser chrome the halo was visible around the tab favicon. Corners now clear cleanly. Icon URLs cache-busted with the app version so future icon fixes take effect without a browser cache clear.
    • Create Admin form password field no longer crushed. The password input on the Enable User Management form was rendering as a colored sliver because of a flex-layout bug. Password + Confirm now sit symmetrically side-by-side, each with its own eye toggle sharing show/hide state.
    • Server-connection banner no longer covers the phone's notification bar (v1.1.1). The red "server unreachable" banner sat edge-to-edge at viewport top:0, which on Android slid it up over the status bar / clock. Now floats as a rounded card below the status bar and the compact header.

    Where to Get It

    Docker Compose:

    services:
      cooktrace:
        image: ghcr.io/traceapps/cooktrace:latest  # or traceapps/cooktrace:latest on Docker Hub
        container_name: cooktrace
        ports:
          - "3003:3001"
        volumes:
          - ./data/db:/data/db
          - ./data/uploads:/data/uploads
        environment:
          JWT_SECRET: change-me-to-a-long-random-string
          DB_PATH: /data/db/cooktrace.db
          UPLOADS_PATH: /data/uploads
        restart: unless-stopped
    

    Then docker compose up -d and open http://localhost:3003/.

    AGPL-3.0. No accounts, no telemetry, no external cloud unless you opt in (Open Food Facts, USDA, or an AI provider you supply the key for).


    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint — Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
    [–] [S] 1 point 3 months ago (1 child)

    Yeah, unfortunately that's a Google account/billing thing, not a playback thing. Fathom only fetches the video stream on your machine; it doesn't touch your account or Premium. That "verify your country" check is much stricter than playback and wants a residential IP in the country, so datacenter VPN ranges like Proton's can get "flagged". Nothing i think a media client alone can get around.

  • source
  • parent
  • context
  • [–] [S] 3 points 3 months ago

    Unfortunately, it's Jellyfin-only. Emby and Jellyfin came from the same codebase originally, but their APIs and auth have drifted apart enough that Fathom's Jellyfin-specific calls won't work against Emby. No Emby support planned, the focus is Jellyfin, alongside the Seerr and YouTube pieces.

  • source
  • parent
  • context
  •  

    I've been building Fathom, a desktop Jellyfin client, for quite some time now and just put out the first public release (0.9.0) for Linux and Windows.

    The real draw is having everything in one place. Your Jellyfin movies, shows, music, and Live TV; most of Jellyfin's important server-side management (users, libraries, scheduled tasks, transcoding, Live TV and DVR, and more); and optional Seerr requests plus a full YouTube client, all without leaving the app. No bouncing between the web dashboard, a requests page, and a browser tab. One window does the lot.

    What's in it:

    • Server management, built in. Handle users, libraries, scheduled tasks, active sessions, transcoding, Live TV and DVR, and more, without opening the Jellyfin web dashboard.
    • Optional Seerr requests right from the detail page, with Jellyfin, local, or API-key sign-in.
    • Optional YouTube client. SponsorBlock, DeArrow, dislike counts, downloads, no ads and no account, off unless you turn it on.
    • One shared player. Jellyfin and YouTube use the same controls, seek bar, and shortcuts. Picture-in-picture, or pop a video out to a floating, always-on-top window on your desktop.
    • Plus: SyncPlay watch-together (works with other Jellyfin clients too), ratings (Rotten Tomatoes, IMDb, and more), in-app updates with a stable or beta channel, light/dark/AMOLED themes, and searchable settings. Everything plays through mpv, so you get direct play, hardware decoding, and proper subtitle and audio track control.

    It's Linux-first (built and tested on Arch/KDE) with a self-contained AppImage, plus a portable Windows build. Android and more features are on the roadmap.

    Download + source: https://github.com/Fathom-Media/fathom/releases/tag/v0.9.0 Repo (AGPL-3.0): https://github.com/Fathom-Media/fathom

    This is the first public release, so expect a few rough edges. All feedback is genuinely wanted: bug reports, feature requests, and ideas. The goal is to grow Fathom into one of the best Jellyfin clients out there, so open an issue or start a discussion and it'll get read.

     

    I've been building Fathom, a desktop Jellyfin client, for quite some time and just put out the first public release (0.9.0) for Linux and Windows.

    The real draw is having everything in one place. Your Jellyfin movies, shows, music, and Live TV; most of Jellyfin's important server-side management (users, libraries, scheduled tasks, transcoding, Live TV and DVR, and more); and optional Seerr requests plus a full YouTube client, all without leaving the app. No bouncing between the web dashboard, a requests page, and a browser tab. One window does the lot.

    What's in it:

    • Server management, built in. Handle users, libraries, scheduled tasks, transcoding, active sessions, Live TV and DVR, and more, without opening the Jellyfin web dashboard.
    • Optional Seerr requests right from the detail page, with Jellyfin, Seerr, or API-key sign-in.
    • Optional YouTube client. SponsorBlock, DeArrow, dislike counts, downloads, no ads and no account, off unless you turn it on.
    • One shared player. Jellyfin and YouTube use the same controls, seek bar, and shortcuts. Picture-in-picture, or pop a video out to a floating, always-on-top window on your desktop.
    • Plus: SyncPlay watch-together (works with other Jellyfin clients too), ratings (Rotten Tomatoes, IMDb, and more), in-app updates with a stable or beta channel, light/dark/AMOLED themes, and searchable settings. Everything plays through mpv, so you get direct play, hardware decoding, and proper subtitle and audio track control.

    It's Linux-first (built and tested on Arch/KDE) with a self-contained AppImage, plus a portable Windows build. Android and more features are on the roadmap.

    Download + source: https://github.com/Fathom-Media/fathom/releases/tag/v0.9.0 Repo (AGPL-3.0): https://github.com/Fathom-Media/fathom

    This is the first public release, so expect a few rough edges. All feedback is genuinely wanted: bug reports, feature requests, and ideas. The goal is to grow Fathom into one of the best Jellyfin clients out there, so open an issue or start a discussion and it'll get read.

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint — GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
     

    CookTrace is a self-hosted recipe manager. Runs in a single Docker container, PWA + native Android app, no accounts on external services, no data leaving your network, AGPL-3.0.

    Retiring -rc.N and moving to strict semver. Docker images now publish under multiple tags so you can pin :1.0, :1, or :latest depending on how aggressively you want updates. Also delivers a real Send Test email flow with recipient dialog, fixes two Android bugs (recipes showing the wrong creation date, SMTP settings loading blank), patches a high-severity adm-zip CVE in the backup restore path, and adds public contributor docs.

    Every future release uses strict semver: PATCH for bug fixes, MINOR for new features, MAJOR for breaking changes. Existing rc.N image tags and release assets stay live indefinitely; anyone pinned to a specific rc release is unaffected.

    Added

    • Multi-Tag Docker Publishing. :1.0.0, :1.0, :1, :latest. Pin :1.0 to auto-receive patches without opting into future 1.1.0 features.
    • :dev Docker Tag. Rolling image built from the dev branch.
    • Send Test Email Dialog. Asks where to send the test, pre-filled with your account email.

    Changed

    • Retired the -rc.N suffix.
    • Send Test actually sends an email now (was just verifying SMTP auth).
    • Email section moved under Admin.
    • Password field uses a Change button when the server has a stored value.

    Fixed

    • Recipes on Android showed the first-connect date instead of the real creation date. Heals on next sync after upgrade.
    • Email settings blank on the Android app.
    • Trace AI chef hat clipped at the top of the FAB.

    Security

    • adm-zip 0.5.x → 0.6.0 (CVE-2026-39244, high). Crafted ZIP file could trigger a 4GB memory allocation during full-backup restore.

    AI Disclosure

    Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

    • Design (architecture, system design): Hint, I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
    • Implementation (production code): Pair, roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
    • Testing (writing tests, test plans, QA): Assisted, real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
    • Documentation (docs, comments, README, CHANGELOG): Pair, release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
    • Review (code review, PR feedback): Assisted, I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
    • Deployment (CI/CD config): Hint, Docker / GitHub Actions / release pipeline is largely conventional; AI-suggested improvements only.
    view more: next ›