Popsicle Boat
July 5, 2026
If you’ve looked at the front page of this site lately, you may have noticed a little card pointing at popsicleboat.com. I’ve been building Popsicle Boat for a while now — the first commit is from November 2019 — and I’ve never actually written about it here. Time to fix that.
What it is #
Popsicle Boat is a small social web project. The short version I keep coming back to: low-friction posting, real conversation, and keeping personal spaces on the internet playful.
Instead of one giant feed, Popsicle Boat is organized around interests. Each interest opens into a shared space where people can post work, ask questions, share notes, and keep up with what others are making. A few things I care about in how those spaces behave:
- Interest spaces stay open to browse, so you can get a feel for a place before joining in.
- Following an interest keeps it close at hand and makes it easy to return to active discussions.
- Anyone can propose a new space, or just follow the ones that fit what they care about.
Around that core there are the things you’d hope for from a small social site: profiles, replies and likes, private messages, friend discovery, and invitations for bringing people aboard.
Why bother building a social network in this day and age #
The big platforms optimize for scale, and scale has a way of making everything feel the same — same feed, same outrage, same engagement mechanics. I wanted the opposite: something closer to the small-forum internet I grew up with, where a space could have its own personality and posting something didn’t feel like a performance.
I don’t have ambitions of unseating anybody. It’s a boat made of popsicle sticks. The point is that it floats and that the people on it are having a good time.
How it’s built #
Under the hood it’s a DIY special.
- Elixir and Phoenix, with LiveView for the interactive surfaces (feeds, replies, likes, uploads) and plain controller-rendered pages for everything that doesn’t need to be clever. Keeping a clear boundary between those two styles has been one of the more useful architectural decisions in the project.
- Postgres underneath.
- Fly.io for hosting, with deploys gated behind a pile of predeploy checks and browser smoke tests that has grown embarrassingly large — and keeps catching real problems before they ship.
- Internationalization from early on, which seemed like overkill for a small project and has quietly become one of its best features.
Seven years and a couple thousand commits in, and still going. That feels like the real success metric for this kind of thing.
What’s next #
More polish, more interests, more people. If any of this sounds like your kind of internet, take a look around popsicleboat.com — and if you want aboard, say so in the comments below (they’re new — powered by GitHub Discussions).