Hey all,

For quite a long time now I’ve been working Pinepods. It’s a Rust based podcast management system that manages podcasts with multi-user support and relies on a central database with clients to connect to it. It’s complete with a browser based client where your podcasts and settings follow you from device to device due to everything being stored on your server. There’s installable clients on just about every platform - now including a beta build of an Android client! (Also a flatpak, aur, Mac, windows, deb, appimage, and rpm client as well)

Over time this project has really grown into something great, and many quality of life features have been baked in. The experience of using Pinepods at this point is getting close to some of the larger self-hosted projects such as Immich, and as feature complete as a client such as AntenaPods. I can’t believe that a project hasn’t previously heavily focused on becoming a fully feature complete Self-hosted Podcast platform because of how rooted in the spirit of open source the podcast ecosystem is built to be.

So many nice to haves have been added at this point:

  • chapter support
  • sorting/filtering/searching throughout
  • RSS feed hosting for other apps to use
  • Great mobile support everywhere (PWA, beta android client)
  • Nextcloud/Gpodder sync support -Postgres or MariaDB
  • simple API’s for things like Homepage Widgets!

And lately I’ve even been working on a feature that allows you to subscribe to hosts! This will let you follow them from show to show. I’ve built a side project called PodPeopleDB for that: https://www.pinepods.online/blog/2024/12/08/podpeople-db

Chances are, if there’s a feature in a podcast app that’s a must have for you, it’s already built in, and if it isn’t, I want to know about it so I can add it!

If you’re on the fence you can try it out without installing the server too! Check the website for more info!

Now is the perfect time to check it out and enjoy continued feature updates! Feel free to open issues or PRs if you experience any problems. Or drop a line on the discord. I’m happy to help!

GitHub: https://github.com/madeofpendletonwool/Pinepods

Official site: https://pinepods.online

In case you’re unware. What is podcasting 2.0?

  • madeofpendletonwool@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    15
    ·
    edit-2
    1 day ago

    It’s a carryover from the original project. I did a complete rebuild of the frontend at one point to wasm due to rust having good frontend support with Yew. I plan to rebuild the backend too. All in due time.

    I’m likely to rebuild the backend in Go, and while there will be a speed difference to a degree, the api isn’t sending complicated data. The bottleneck in response times usually isn’t what you’d make up for using a lower level language. Usually it’s more likely query times and Frontend processing. The Frontend rebuild MASSIVELY sped things up. Which is why I started there.

    And yeah, doc site needs a refresh. I spend too much of my Pinepods time programming.

    • rutrum@lm.paradisus.day
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 day ago

      And how do you like yew? Long ago I used seed.rs, which was more like ELM than react. But I think that project has since gone unmaintained. I also tried yew when I think they were in the middle of a huge API transition. Do you think its easier to write in yew than it would be in react/vue/svelte?

      • madeofpendletonwool@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 day ago

        I like it a lot. It’s not particularly difficult to write and once you get a feel for building components it’s pretty simple to conceptualize just about anything you’d need to build. I’d probably say difficulty is about the same to write react/svelte etc… Primary difference is that I don’t need to deal with webpack/npm dependencies. Absolute worst. web_sys support is great in rust and does absolutely everything you’d need to interact with a browser.

    • d_k_bo@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      I’m likely to rebuild the backend in Go

      Why bother with another language? Rust offers multiple great backend options. Using the same language for both ends might allow reusing some parts.

      • madeofpendletonwool@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        Go is simpler to write and is great for apis. Also has strong library support for interacting with databases. That’s the primary reason. They both create compiled binaries which means no library dependencies taking up space on the container. That’s the primary issue with python currently. I have no problem using actix in rust and that might be a good direction to go honestly, the primary concern is removing the compile at runtime language.