Skip to main content
Back to Blog
Real-Time PresenceDeveloper ToolsIndie SaaSShow HNOpen SourceSocial ProofWebSocket2026

Your Website Has Visitors. They Just Can't See Each Other — TownSquare Fixes That.

S
SaaSCity Team
Author
Your Website Has Visitors. They Just Can't See Each Other — TownSquare Fixes That.

Two hundred people visit your site today. Not one of them knows the others exist.

That's been true of almost every website built in the last twenty years. The web is full of content. Empty of people. You see the words, the interface, the product — and nothing to indicate that anyone else is reading the same thing right now, thinking the same thought, having the same reaction.

TownSquare is a three-line fix for that. Built by indie developer Cauê Napier and launched on Hacker News in June 2026 with 180 points and 88 comments, it's a tiny presence layer you drop onto any site. Visitors appear as walking figures at the bottom of the page. They can move around. Chat briefly. Jump. High-five a stranger. Then disappear when they leave, leaving no trace.

The Hacker News thread reaction wasn't "interesting library" energy. It was relief.


The Web Stopped Feeling Inhabited

This sounds like a nostalgia argument. It isn't.

Early web forums, IRC rooms, and chat boxes weren't popular because people were more social in 2002 — they were popular because they made co-presence legible. You could see that other people were here, right now. The bar that showed "17 people in this room" did something simple and psychologically powerful: it transformed content consumption into a shared experience.

Modern platforms replaced that with a pale imitation. Social proof widgets that display "3 people are viewing this product right now" are optimized for conversion, not connection. They're measuring tools disguised as presence signals, and users increasingly tune them out or distrust them. The numbers feel fake because, often, they are.

TownSquare doesn't count visitors to pressure you. It makes them visible to each other. That's a different product entirely.


One Script Tag, No Strings

The implementation is as minimal as the concept. Drop this before your closing </body> tag:

<script src="https://townsquare.cauenapier.com/townsquare.mjs" type="module"></script>

No build step. No npm install. No API key to register for. No configuration file. Visitors start appearing at the bottom of the page immediately.

Under the hood, TownSquare is built in vanilla JavaScript (75% of the codebase) with a Node.js backend. The WebSocket connection transmits exactly two things: a number (the visitor count) and the path of the page they're on. That's it. No IP addresses stored. No cookies dropped. No analytics fingerprinting. The project's own description is precise about this: "no accounts, no cookies, no analytics — just a WebSocket connection that broadcasts a single number and the path of the page you're on."

Chat messages are ephemeral by design. What you type is sent to visitors currently on the site and then gone. No logs. No chat history. No moderation database. When the last person leaves a page, it's like the room never existed.

The architecture is light enough that Napier runs a free public server for anyone to use. For teams with privacy requirements or uptime SLAs, the GitHub repo supports full self-hosting via a deploy script: SSH or local, with a .env file for config and health checks built in.


What Actually Happens When People Share Space

Two days after launch, Napier posted a follow-up with the first real numbers: 31 sites registered on the hosted instance, 11 verified and active, 5 euros from "Buy Me a Coffee." Not a growth chart anyone would frame. But the user interactions he described were the kind of thing you can't manufacture.

Someone on one of the live sites wished a stranger good luck before a job interview. Others in the same room joined in. A small, spontaneous moment between people who had no reason to interact and no platform infrastructure nudging them toward it.

That's what presence does that social proof metrics don't. A counter that says "47 people are reading this" tells you something about popularity. Watching someone else's figure walk across your screen tells you something is alive here.

The interaction model is intentionally small. Arrow keys or tap to move. T key or tap your name to open chat. J to jump, H to high-five. There are benches to sit on, trees, birds you can chase. The whole thing reads like someone asked: "what's the smallest possible shared experience that still feels human?"


The Privacy Model Is the Product

Most real-time social widgets are surveillance infrastructure with a friendly face. They store sessions. They cross-reference visits. They build behavioral profiles to sell against. The social proof SaaS market is built on this: your visitors' presence is the inventory.

TownSquare inverts this completely. The data model is almost nothing by design. There's no user account to create, which means no email to harvest, no password to leak, no profile to sell. The WebSocket state is in-memory only — the server forgets everything when the connection drops.

For a SaaS builder considering how to add presence signals to a product, this matters practically. GDPR and CCPA compliance burden drops to nearly zero when you collect nothing. Cookie consent banners become irrelevant. Your privacy policy gets shorter. And users who've been trained to distrust presence counters may actually engage with something that demonstrably can't be tracking them.

The license is TBD (the GitHub repo says so explicitly), which is worth noting before building anything critical on top of the hosted service. Self-hosting resolves this for production deployments.


What the HN Response Says About the Market

The Show HN post is worth reading even if you've seen the summary numbers. The comment thread doesn't read like a typical library discussion — it's people sharing what it felt like to use it. "I haven't encountered something this fun and playful on the web in quite some time." "Yeah, I don't know why but I always start smiling seeing people chatting this way."

180 points and 88 comments for a single-developer open-source presence widget is not noise. The web developer community is notoriously hard to impress with "another tool that does X." What TownSquare clearly did was touch something that wasn't being addressed.

The reaction aligns with a broader pattern: developers and founders are increasingly fatigued by the engagement-maximization school of product design. Features optimized for retention metrics, algorithmic feeds, infinite scroll — all the patterns that make platforms sticky and users slightly miserable. When something lands that's explicitly not trying to capture attention, that strips out the manipulative defaults, people notice.

That said: the technical maturity is early-stage. Mobile experience needs work (Napier acknowledged this immediately post-launch and started on it). The license situation needs resolution before anyone puts it in a production SaaS. And the community moderation approach (racist comments were handled by ignoring them) is a design decision, not a non-problem — ephemeral chat means no logs, which cuts both ways.


List Your Presence Tool on SaaSCity

Building real-time features, engagement widgets, or social infrastructure for the web? Your buyers are actively searching for these tools — and they're looking in directories.

SaaSCity.io is the directory for products that ship. Every listing gets a building on an interactive 3D city map — a permanently indexed page that earns dofollow backlinks and surfaces your tool in front of founders who buy early.

  • Free to list — submit in under two minutes
  • Dofollow backlinks from a growing DR 40+ directory
  • 3D city map visibility — your product is a building, not a row in a table
  • Submit your product now and get found by the exact audience who just read this post

What SaaS Builders Should Do With This

TownSquare is interesting as a product. It's more interesting as a signal about what users want.

If you're building a content site, documentation, or a community product: the integration takes three minutes and costs nothing. Real-time presence data has been a feature available only to teams paying for services like Liveblocks, PartyKit, or Ably at meaningful price points. TownSquare doesn't give you the same feature depth — there's no persistence, no auth, no SDK for building custom presence UI — but for basic "show that people are here," it's instantaneous to ship.

If you're building a SaaS with social features: study the privacy-first presence model, not just the implementation. The design constraint (WebSocket + number + path, nothing else) is a forcing function that created a simpler, more trustworthy product than what you'd build if you started with "let's add presence tracking." Sometimes the constraint is the feature.

If you're thinking about the webring vision: Napier has sketched out what happens next — TownSquare instances connected as neighbors, where walking to the edge of one site transports you to another, like a network of linked town squares. That's a genuinely novel distribution mechanic, not a monetization scheme. If it ships, it creates something the web hasn't had: spatial browsing between sites. Worth watching.

If you're curious about indie launch tactics: StackScope's analysis of 40,000 indie launches shows that a Hacker News Show HN hitting 150+ points can drive more qualified early users than a Product Hunt launch for developer-focused tools. TownSquare's Show HN numbers confirm this pattern. If you're building in the open-source or developer tools space, Show HN is still worth calibrating for. And for getting sustained discovery after the launch spike, listing in the right directories is what extends the initial traffic.


The Deeper Question

The web spent fifteen years optimizing for engagement. The engagement metrics went up. User satisfaction went down. The tools got better at keeping people on platforms and worse at making people feel like those platforms were worth staying on.

TownSquare doesn't solve that. It's a 147-star GitHub repo with a TBD license and a mobile experience that needs work. But it's asking the right question: what if a website felt inhabited? Not because a counter said so. Because you could watch a stranger walk across the page, type "good luck with the interview," and get a high-five back.

That question has a product in it. Napier shipped the first version. What gets built on top of it — or in the same direction — is what the next cycle of web infrastructure looks like, if the indie builders get there before the platforms do.


SaaSCity.io covers indie SaaS, open-source launches, and the tools founders actually ship. Explore the SaaSCity directory to discover what's shipping right now — or list your own product and get it in front of the community that reads posts like this one.