Hey! Just launched https://buzzbear.ai after quite a bit of time working on it on and off. It monitors Reddit and uses semantic matching to find posts related to whatever you want to track… your product, competitors, topics you care about, whatever. And sends you emails when it finds relevant stuff.
I wanted to share how Elixir made this way easier than expected.
The Stack
- Phoenix LiveView for everything UI
- Oban for background jobs
- Bumblebee for ML
- Libcluster over Tailscale for connecting my local GPU to the cloud
The fun part: Running ML Models on my personal GPU instead of renting cloud GPUs
I needed to run text similarity models to match Reddit posts against user queries. Checked GPU instance pricing and… yeah, no. $700+/month for something that would sit idle most of the time.
Then I remembered: I already have a perfectly good GPU sitting in my closet.
Here’s the setup: The ML model runs on a local server w/ gpu. My Phoenix app runs on Fly.io. They talk via distributed Erlang over a Tailscale VPN. From the code’s perspective, it’s just calling another node in the cluster. Libcluster handles discovery, Tailscale handles the secure connection, and Erlang handles the RPC.
The best part? When I eventually need to scale, I just spin up more GPU nodes and libcluster automatically discovers them. The calling code doesn’t change at all. Right now my janky home server handles everything (~1M comparisons/hour on a single RTX 3080). Later, I can move to proper cloud GPUs without rewriting anything.
What surprised me
Distributed Erlang was easier than expected. I thought clustering would be this complex thing. Nope. Install Tailscale, configure libcluster, done. It just works.
Bumblebee is legit. Running production ML workloads on consumer hardware works great. The EXLA backend with CUDA just works out of the box.
Oban is a cheat code. Retries when Reddit is flaky. Concurrent processing. Cron scheduling. I didn’t have to build any of this. Just define a worker and Oban does the rest.
Anyway, this was a fun build. The Elixir ecosystem made so much of this just work, that I actually enjoyed building it instead of fighting infrastructure.
Happy to answer questions about any of this!






















