Even as everyone gets online, the web feels kind of... lonely. Here you sit, on Substack, reading this post. Maybe a few hundred other people will read it today. Is anyone else reading it right now? Or are you the last human alive, reading in solitude? Isn’t it kind of weird how the internet is full of millions of people, often doing the same thing, but usually doing it alone?
That’s why I love seeing projects like Town Square by Cauê Napier.
Town Square is an incredibly simple, super cute, interactive space that can hang out at the bottom of any web page and instantly adds a “someone is here” feeling. Users are represented as stick figures that move around at the bottom of the page. It’s open source, so anyone can grab the code and add it to their own site. It looks like this:
What I love most about this is what Cauê is trying to achieve. He wants people to have serendipitous social connections on web pages. He wants web pages to feel like someone else is here. As Matt Webb says, every webpage deserves to be a place. We need more of that!
So what can we learn from Cauê’s clever design decisions on Town Square?
The conceptual gap between a social product like say, Facebook/Twitter, and Town Square is so incredibly vast, it’s hard to overstate it. To get Town Square, we have to eliminate:
Signups - There goes our user tracking!
Email verification - Spam and bots are welcome!
Profile/interest setup - Who are we even advertising to?
Declaring your social graph - So every message just goes to... everyone? How will we moderate?
And yet! When using a Town Square-enabled site, there’s this immediate, visceral sense of “someone is here” as soon as you see the stick figures move.
Just by visiting the site, you are already interacting with other people. As soon as the page loads, you’ll show up as a stick figure to everyone else. Other than having your computer visit the page for you, this is a literally zero-click interaction. Hard to beat!
The lesson I take from this is: “How can we eliminate user friction by brutally stripping away ‘features’ that are really ‘just what everyone else is doing’?” Do we need to confirm your email address before you’re allowed to say “hi”? I think not!
There’s a bit of a trade-off to this low-friction interaction, though.
On Town Square, you’re a stick figure. If you want, you’re a stick figure with a color, and a little nametag. Your identity is pretty slim. (Cauê could always add more features to this, though)
Chat history is pretty minimal (as of this writing, you can hover to see your own last few messages?) so everything is maximally ephemeral, no real need to filter yourself or worry about your old Tweets coming back to bite you.
That’s great for the goal of this project: friendly, ephemeral interactions. However, if I were building this feature for myself, there’s an additional item on my wishlist: forming connections. What makes Town Square fun and lightweight also makes it challenging for people to form connections through Town Square. (Not that this is “missing” from his design, it just wasn’t a goal in the first place.)
Which brings me to my own project, Together.lol. I have a lot of the same goals as Town Square, but my biggest goal is that I want to help people make new friends online. Not “connections,” not likes on pithy quick-takes, but actual friends. Step 1 is creating a place that feels inhabited and alive. So how do we connect people?
Ok, you’re hanging out, but who are you talking to?
Town Square defaults to absolute simplicity: you drop in as an anonymous stick figure. It’s an incredibly elegant, zero-friction way to say, “Hey, I’m here right now.” If identity persists, it stays local to that specific site, keeping the entire experience lightweight and completely respectful of user privacy without relying on third-party tracking tracking mechanisms.
Together has one identity (or you can always create throwaways in Incognito) so you can form ongoing connections. Together uses a centralized architecture to be site-independent. To keep things low-friction while still offering a recognizable identity, users are automatically assigned AdjectiveAdjectiveAnimalNumber handles. If you’ve ever wanted to be recognized across the web as TiredObnoxiousZebra7, I have excellent news for you. (Don’t worry, you can change it.)
Ok, so we’re all chatting with each other, but on what website?
Town Square partners with site owners. It provides a simple script that owners embed directly into their own pages and gives them total control over what happens.
Together allows users to link to a URL, cache a version of it, and serve it back to users. This lets a user bring their own social experience to any webpage on the Internet. For example, the Town Square website on Together.lol.
Serving a cached version is going to have legal and technical hurdles. We have to be respectful to site owners, conscious of security, and also just making sure it works is difficult.
Yeah, I know. Decentralized is the cool way to do things. (Town Square is definitely doing it in a cool way). But I’ve seen people try and fail to make things like Chrome extensions that let people “comment on any website” and “see who’s visiting any site”, and they always fail from lack of critical mass. This is the best tradeoff to get continuity in a user community.
Cauê says (regarding Town Square hitting the Hacker News front page):
It didn’t take long for people to start testing the system. Some were curious in a good way. Some were just trying to break things. We got the usual chaos, including bots and a weird synchronized chant of every possible variation of one very stupid word.
Town Square probably isn’t going to need very much moderation. When people start behaving abusively, it’s pretty easy to shrug and move on. Does it need moderation? It’s still going to make a lot of people smile, even without it. Its very ephemerality limits how much damage abusive behavior can do.
Together is still early days. The end goal is auto-moderation by AI, but perhaps there will be interesting bumps on that pathway.
One of my favorite lessons from Cauê’s project is that you don’t need to have a perfect answer for scaling, monetization, or moderation before you ship. You can just build things. Give people something small, cool, and delightful to enjoy in the meantime.
We need more projects like Town Square! I want to use the Internet together with everyone. That feels like it was the whole point of getting online in the first place.
If you want to see how these trade-offs play out in practice, I’d love for you to join us.
Come hang out in our Discord Server to chat about social web design and engineering trade-offs. Or... anything.
If you want to see the bleeding edge of what I’m working on, come test out the Alpha Version of Together.
I’ll be hanging out in both spaces, so come say hi!


