Back

Announcing nuPodder: A New Take on Podcast Synchronization

vendion

After months of heads-down work on evenings and weekends, I’m excited to share a side project finally: nuPodder, a lightweight podcast synchronization service now live at https://nupodder.app/.

What It Does

nuPodder implements the gPodder protocol, which means if you listen to podcasts on more than one device or across different apps, you can sync your subscriptions and playback progress across all of them. You can also manage your podcast library directly from the web UI, and any changes propagate down to your connected clients automatically.

Why I Built It

The gPodder ecosystem already has a hosted sync service, but in my experience it leaves a lot to be desired. Written in .NET, it tends to be sluggish and unstable, frequently returning HTTP 500 errors due to problematic SQL queries and database design decisions that don’t scale well under load.

Rather than patch around someone else’s stack, I decided to build something fresh. nuPodder is designed to be 100% API-compatible with the existing service, so any podcast client that currently connects to gPodder-based sync should work with nuPodder as a drop-in alternative. No client-side changes needed.

Under the Hood

Layer Technology
Language Go
Web Framework Goravel (a Laravel-inspired framework for Go)
Frontend HTMX, WebAssembly, TailwindCSS
Design Prototyped with Google’s Stitch (https://stitch.withgoogle.com/)
Distribution Progressive Web App (installable on any device)

I chose Goravel because it brings the developer ergonomics of Laravel, the framework I know and love from PHP, into Go’s type-safe, compiled ecosystem. HTMX keeps the frontend simple without dragging in a heavy JavaScript framework, and WebAssembly handles the interactive bits where vanilla JS would get unwieldy.

On the design side, I experimented with Google’s Stitch tool for rapid layout prototyping. It’s an interesting approach to “vibe design”, describing what you want and iterating on generated layouts, which helped me move quickly on UI without getting bogged down in CSS architecture early on.

What’s Next

nuPodder is live and functional today, but these are still early days. I’m treating this as a public beta and actively looking for feedback on everything UX, API compatibility, performance, and edge cases you hit while syncing.

I haven’t decided yet whether to pursue listing it in the App Store or Play Store; the PWA installation experience covers most use cases for now, but I’m open to arguments either way.

Give it a try at https://nupodder.app/ and reach out with any feedback. Happy listening!

About the Author

Adam Jimerson is a freelance software engineer based in Cleveland, Tennessee, with over 17 years of experience specializing in NixOS, Go, PHP/Laravel, and FreeBSD. He maintains several open-source projects and serves the Chattanooga.Digital community.

Comments

No comments yet. Be the first to share your thoughts!

Leave a comment

Name
Email
Website
Comment Markdown supported: bold, italic, links, lists, code