Creator of Algora here, thanks for sharing! This was a pleasant surprise :) I posted about our Elixir bounties yesterday on Reddit, and I was not expecting to see it on HN front page the next day.
I've been building this since early this year. Over the past few months, developers like Daniel Roe (Nuxt.com maintainer), Chris Griffing, Andras Bacsai (Coolify.io maintainer) have been livestreaming with Algora their coding sessions, office hours, product launches, podcasts, and more.
Algora TV supports free multistreaming to Twitch, X, YouTube, custom RTMPs [1] and aggregates live comments from these platforms.
I chose to build Algora in Elixir because of a few reasons: 1) Productivity gains from using Phoenix LiveView are unparalleled as a solo developer 2) OTP is super helpful for handling complex streaming pipelines. Things like multistreaming, mirroring chat messages, capturing thumbnails etc. can fail at any time, and OTP makes it easier to build fault-tolerant processes 3) BEAM clustering allows distributing the system across multiple nodes with ease, which helps reduce latency between streamers and viewers.
As the sole maintainer of the project, I'd love to get your help with improving Algora! If you're up for contributing, I've put up a bunch of bounties [2] to prioritize some issues.
In any case, I'd love to hear from you if you have any feedback or questions!
Documentation sucks. It doesn't explain what it is. Why open source Twitch?
Introduction doesn't explain anything.
Is it a Twitch competitor?
Is it a restream competitor?
... annoying
The dependency on github is giving me pause. I think it is nice to give the option for developpers to connect with github, but local accounts should always be a possibility imho.
Also it is not clear from the readme if Tigris is a requirement or if any S3 API compatible storage can be used. It doesn't seem to be the case according to the environment variables given so I find it strange that Tigris is even mentionned.
Duly noted, we're probably going to add local accounts at some point. For the time being, limiting to GitHub auth has been really helpful to keep the platform focused on developers and combat spam.
Any S3-compatible storage should work fine! That being said it would require a lot more work to set it up as you also need to worry about caching, replication, distribution etc. For a livestreaming platform it's super important to ensure livestreams are available globally to minimize latency for viewers.
Tigris has all of this built-in, so it already behaves like a CDN. It's what we use on https://algora.tv and we wanted to make getting started as easy as possible for our contributors and anyone who's looking to self-host.
> While other cloud providers tax you for each GB of data transferred, we don't. At Tigris, we don't charge for regional data transfer, region-to-region data transfer, or data transfer out to the internet (egress) in the majority of use cases. However, if your bandwidth requirements are extraordinary, please reach out to us at sales@tigrisdata.com to discuss your requirements.
I wonder if a successful live video platform would count as extraordinary usage, I would assume so.
Tigris CEO and co-founder here. Unless it is in tens of PB range we don’t count it as extraordinary. And even then the goal is not to tax for bandwidth.
They seem to have partnered in the past, which sounds like Tigris is on board with Algora's usage:
> Every time Tigris partnered with Algora for live media & distribution we saw more developers try Tigris and experienced increased inbound from prospective customers.
That depends on what you would qualify as successful :) It’s early days but AlgoraTV is seeing a lot of success in my opinion. I am generally happy to support folks in however way I can.
> the cool thing is they don't interrupt the stream and show across all platforms
This is probably the wrong approach to selling this audience on an ads feature. A different approach that would be equally true (I assume) would be:
"The cool thing is that since these ads are embedded in the stream there's no tracking and no client-side JavaScript of any kind—the ads are targeted at the content, not individuals!"
Titling this as "open source Twitch" makes me think this is somehow related to twitch. Why not just say "open source streaming platform for developers"?
Might just be the level of support they’re interested in offering.
I’ve definitely used similar language as a kinder way to say “I have no interest in maintaining this to a degree where I think Joe Schmoe can use it, and I don’t want support tickets from people who can’t install Postgres on their own”.
Looking at the install instructions, it seems like something where you’d need to be familiar with Postgres, object storage, enough Linux to install dependencies, and enough networking to be able to do at least a cursory check for whether a stuttering or delayed stream was due to your network, the servers network, Tigris or something else entirely. That’s pretty much just gonna be IT folks
I was wondering the same, maybe the goal is more features specific to gamers? But I could see this being useful to more than just programmer streamers.
I’ve recently been streaming decompilation on Twitch[0]. I find the intersection of gaming and tech enthusiasts nice (it’s pretty basic educational decomp and describing the mechanics of the game).
Ultimately where are people going to watch and discover? Glad to see interest in dev streaming.
Great start, do you plan to implement some features that are specific to this type of content? E.g. interactive coding with viewers, text-only streams, other quality of life improvements. Because now it’s not clear what is the incentive to use it instead of Twitch (from the standpoint of content creator)
Why would I use this instead of something like streaming directly on Twitch or YouTube? Since they also bring the audience it helps to stream there.
There used to be a livecoding.tv back in the day which slowly died out so I would love to have something like this but I don't fully get why to use it.
Anecdotally, they cold-emailed me in 2016 "looking for cool projects developers are building", using an email address they probably scraped from Github. Not a good sign when you're resorting to spamming people to beg for content.
Wow. Thanks for sharing this. I just had no idea or might have just deleted this from my mind. Now I see why they died out. I didn't know YC was involved so much.
You may want to not have your content disappear suddently if for some reasons Twitch or Youtube decide unilateraly that they want to get rid of your account. Ditto if at some point you realise you don't want to be associated with them and want to close your account. You would still have that place you control where you can redirect people.
Most of our users multistream to Twitch, YouTube and X through Algora! We also support aggregating live chat comments from these platforms and embedding them on your screen, and more recently, livestream monetization via in-video ads
Personally I think it would be useful to have "as well as" Youtube and Twitch streams
Use the bigger established sites to find an audience, direct them to your personal stream if they want to support you without Twitch or YouTube taking a cut
I've been building this since early this year. Over the past few months, developers like Daniel Roe (Nuxt.com maintainer), Chris Griffing, Andras Bacsai (Coolify.io maintainer) have been livestreaming with Algora their coding sessions, office hours, product launches, podcasts, and more.
Algora TV supports free multistreaming to Twitch, X, YouTube, custom RTMPs [1] and aggregates live comments from these platforms.
I chose to build Algora in Elixir because of a few reasons: 1) Productivity gains from using Phoenix LiveView are unparalleled as a solo developer 2) OTP is super helpful for handling complex streaming pipelines. Things like multistreaming, mirroring chat messages, capturing thumbnails etc. can fail at any time, and OTP makes it easier to build fault-tolerant processes 3) BEAM clustering allows distributing the system across multiple nodes with ease, which helps reduce latency between streamers and viewers.
As the sole maintainer of the project, I'd love to get your help with improving Algora! If you're up for contributing, I've put up a bunch of bounties [2] to prioritize some issues.
In any case, I'd love to hear from you if you have any feedback or questions!
[1]: https://algora.tv/docs/streaming/multicast
[2]: https://algora.io/org/algora/bounties