About Square Town
The town square of the internet. One indie developer, too many favicons, one afternoon.
Square Town (square.pov.town) is a favicon wall: a 1024×1024 grid where each square costs $1, one time, and shows the favicon of a URL you paste. It was made by an indie developer at pov.town, built in a day on Cloudflare's free tier, and launched in August 2026. It exists because one person had too many side projects and nowhere to put all the little icons — and because the obvious place to put them, a Million-Dollar-Homepage-style wall, had never been made into a game.
Square Town in one table
What a favicon wall — $1 per 1×1 square, URL only, you pick the cell Where square.pov.town Who pov.town, an indie developer When launched August 2026; built in a day, tuned since Stack Cloudflare Workers + D1 (SQLite) + one Durable Object + three.js Cost to run Cloudflare free tier Contact the wall itself — buy a square
Why it exists
The honest origin: a developer with a folder full of side projects — each with its own domain, each with a favicon they'd fussed over — wanted a single place to line them all up. Not a portfolio page. A wall. Something you could point at and say "those are all mine", and where other people's icons would be lined up next to yours.
The obvious reference is The Million Dollar Homepage, which in 2005 sold a million pixels at $1 each and became a monument the moment it sold out. Everyone who has looked at that page has had the same two thoughts: "I wish I'd bought a block" and "it's a bit sad now, isn't it" — a JPEG of 2005 with a lot of dead links. Square Town is the nostalgia with the second thought fixed. Instead of pixels you buy a favicon-sized square; instead of a finished picture you get a wall that changes: squares get evicted for double, icons fade if nobody kisses them, the map grows a ring at a time as it fills. The wall is a game, not a JPEG. The longer argument is in the manifesto, and the history in The Million Dollar Homepage, 21 years later.
The town square of the internet
The name is not about the shape. A town square is the place everyone crosses, where you see who else is around, where position matters (the fountain, the corner by the café) and where standing still long enough gets you noticed or moved along. Square Town is that for websites: one shared space, every site the same size, the centre worth more than the edge, and a live feed of who arrived, who was thrown out and who got kissed. You don't visit it to read; you visit to look — and to check whether you're still there.
Built in a day, on the free tier
The whole thing is one Cloudflare Worker (src/worker.js), a D1 SQLite database, and a single Durable Object called WallHub that holds every open WebSocket and pushes each buy, eviction, kiss and unlock to every browser at once. The front end is a three.js scene: top-down it's the classic 2D wall, ctrl+drag tilts it into a city where tower height is click count. Favicons come from Google's favicon service through a small proxy. Payment is Stripe Checkout. That's the entire stack, and it fits inside Cloudflare's free tier — 100k Worker requests a day, 5M D1 reads — with room to spare until the wall is famous.
It was built in a day. It has been tuned since: the sun that follows your local time, the birds and the balloon, the fish that jumps out of a lake, the sound of an eviction. None of that was in the day. All of the rules were. If you want to build one yourself, building a pixel wall on Cloudflare's free tier is the write-up.
What "forever" means, honestly
Square Town's tagline is "1 square = $1. Forever.*" and the asterisk is doing real work. Here is what forever means and doesn't:
- It means the payment is one-time and never renews. No subscription, no expiry, no "your listing will lapse in 30 days".
- It means the site is cheap enough to keep up indefinitely. There is no hosting bill that could go unpaid; the free tier is the plan, not a phase.
- It does not mean nobody can take your square. Anyone can evict you for double what you paid. That's a rule, not a loophole.
- It does not mean your icon stays in colour on its own. 90 days without a kiss and it fades to grayscale — still yours, one kiss from anyone restores it.
- It does not mean there's a support desk holding your hand. There are no accounts. Your deed URL is your ownership; lose it and it's lost.
If a page on the internet has to promise "forever", this is about the most honest version we could write.
Who is behind it
pov.town — one indie developer, many small projects, several of them on the wall. Square Town is not a company, doesn't have a team page, and isn't raising anything. It's a side project about side projects.
Contact
There is no contact form and no support email. The wall is the contact: buy a square at square.pov.town and your favicon is the message. If something is truly broken, the live feed will make it obvious to everyone, including us.
FAQ
Who made Square Town?
An indie developer at pov.town. It's a solo side project, built in a day on Cloudflare's free tier and launched in August 2026.
Is Square Town related to Square Town, the payments company?
No. Square Town here is a favicon wall at square.pov.town; payments on it are processed by Stripe.
Why favicons instead of pixels?
A favicon is the one image every site already has, it stays legible at square size, and it means the buy form is a single URL field. Pixels needed artwork; favicons need nothing. See why favicons beat pixels.
Why is Square Town free to run?
Because it is one Worker, one small SQLite database and one Durable Object on Cloudflare, all within the free tier. That's also why "forever" is a credible promise.
How can I contact Square Town?
By buying a square. There is no email or form listed; the wall is public and so is everything that happens on it.
When did Square Town launch?
August 2026, at square.pov.town. The rules — $1 squares, the $100 Throne, evictions for double, kisses, ring unlocks — were all there on day one; the scenery has been tuned since.
Put your favicon on the wall
1 square = $1, one-time, no account. Paste a URL, pick a cell, done. Open the wall →