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.
  • Saiwal@utsukta.org
    link
    fedilink
    arrow-up
    0
    ·
    8 days ago

    this is all i see
    Image/photo

    i am using the linux Appimage, quick connect simply times out, no messages in console except :

    ./Fathom-x86_64.AppImage Gtk-Message: 18:26:14.006: Failed to load module "xapp-gtk3-module"Gtk-Message: 18:26:14.006: Failed to load module "canberra-gtk-module"package:media_kit_libs_linux registered.[W][18:26:18.213431] pw.conf      | [          conf.c: 1209 pw_conf_load_conf_for_context()] setting config.name to client-rt.conf is deprecated, using client.conf
    

    I have jellyfin running on a domain with proper certs and jellyfin’s official client works perfectly.

    • TraceApps@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 days ago

      Sorry about that. That message is a network timeout, so the Quick Connect request isn’t getting a response back within the window. Since you had to enter the server address to reach that screen, plain reachability and your cert are should be fine, so it’s something specific to the Quick Connect path.

      Two things would help me narrow it down:

      Does normal username/password sign-in work against the same server, or does that time out too? If password works and only Quick Connect hangs, that isolates it to the Quick Connect endpoints.

      Is Jellyfin behind a reverse proxy (nginx/Caddy/Traefik), and which Jellyfin version?

      • Saiwal@utsukta.org
        link
        fedilink
        arrow-up
        0
        ·
        8 days ago

        was running v10.11.9, updated to 10.11.11 and it started working. 
        interface looks nice! but playback stutters, with hardware acceleration on or off (makes no difference).

        • TraceApps@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          8 days ago

          Glad 10.11.11 fixed the login. Since it’s the same with hardware acceleration on or off, decoding isn’t the bottleneck, it’s likely delivery or frame timing. Two quick checks: in your Jellyfin dashboard, is that session Direct Play or Transcode? And does the same file play smoothly in plain mpv/VLC (Fathom uses libmpv underneath)? That’ll tell us if it’s server/network vs. something on the Fathom side.

          • Saiwal@utsukta.org
            link
            fedilink
            arrow-up
            0
            ·
            8 days ago

            def. on fathom side since it plays smooth in jellyfin official client. and its direct playing. there is tearing, stuttering in video, audio is good.