Hi HN,
I’ve been working on a desktop client for Storytel, as there is currently no official app for PC/Mac. I wanted something that felt more "native" than a browser tab and included features like offline listening and system tray integration.
The stack:
• Frontend: React 18, Tailwind CSS, Vite.
• Backend: Fastify (embedded within the app to handle API logic and streaming).
• Desktop: Electron with TypeScript.
One of the challenges was managing the streaming API and session persistence in a way that feels seamless across different OSs. It currently supports Windows, macOS (x64/ARM64), and Linux.
It is still a work in progress, but the core player and library management are stable. Any feedback on the architecture (especially the Fastify-within-Electron approach) or the app itself would be greatly appreciated.
Repo:
https://github.com/debba/storytel-player
Releases:
https://github.com/debba/storytel-player/releases