Popsicle Boat

Projects
Elixir
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).

Discuss this post aboard Popsicle Boat →