← all posts
Projects

Pueblo Canvas — A Collaborative Pixel Map of Puerto Rico

Pueblo Canvas is a collaborative pixel canvas shaped like Puerto Rico. The island is divided into its 78 municipios, and anyone can place pixels on it. No accounts, no passwords, no sign-up. You open the page, get a random name, pick a color, and start painting.

The idea is simple: give people a shared canvas in the shape of the island and see what happens. Maybe people rep their hometown. Maybe artists coordinate something beautiful. Maybe it's a mess. That's the point — it's whatever people decide to make it.

How it works

When you open Pueblo Canvas, you're looking at an 1240 by 402 pixel grid in the silhouette of Puerto Rico. Every pixel inside the island belongs to one of the 78 municipios. Hover over any spot and the selection bar tells you which municipio you're in and the exact coordinates.

To paint, tap a pixel on the map, pick one of 32 colors from the palette at the bottom, and press Paint. The pixel changes instantly for everyone who's watching — updates are live. Anyone can paint over your pixel, and you can paint over theirs. That's the game.

You get 40 pixels per day. A counter in the top bar shows how many you have left and when your quota resets. That limit keeps things moving without letting anyone flood the map.

The leaderboard

Each pixel you place is "alive" until someone paints over it. The leaderboard tracks how many alive pixels each person has. Paint a lot and defend your territory, and you climb the ranks. Get painted over, and your count drops.

This creates a natural tension. You can spread your pixels across the whole map for maximum coverage, or concentrate on one municipio and try to hold it. Big areas are hard to defend. Small clusters are easier to keep but don't score as high. There's no right strategy — just whatever you find fun.

No accounts, no tracking

Pueblo Canvas doesn't ask for your email, doesn't create an account, and doesn't store your IP address. When you first visit, you get a randomly generated name — something like "Coquí Valiente" or "Mangó Dormilón" — and a cookie that ties your pixels to that name.

For fairness, two things are stored: a hashed network identifier (so a single connection can't burn through unlimited quotas) and the random cookie ID. That's it. Both exist only to run the quota system and the leaderboard. There's nothing to sell, nothing to profile, and nothing that follows you around the web.

If you don't like your name, hit the reroll button next to it for a new one.

Why Puerto Rico's shape

We're a small studio based in Puerto Rico, and everything we build comes from here. The island's shape is distinctive — you recognize it instantly — and the municipio boundaries give the canvas natural structure. Instead of a blank rectangle, you have 78 regions that people can identify with. Somebody from Ponce is going to paint Ponce. Somebody from Bayamón is going to paint Bayamón. That local pride is built into the map itself.

The 78 municipios also create a kind of implicit competition. Even without explicit rules, people naturally want to fill their municipio with their color. It turns a pixel canvas into something that feels like a turf war — a friendly one.

The technical side

For anyone curious about what's under the hood: Pueblo Canvas runs on a single Cloudflare Worker backed by a Durable Object with SQLite storage. All the canvas state — every pixel, every placement, the leaderboard — lives in one place. Live updates use WebSockets, so when someone places a pixel, everyone else sees it immediately without polling.

The map data comes from real GIS shapefiles of Puerto Rico's municipal boundaries, rasterized to the pixel grid. Each pixel knows which municipio it belongs to. The whole thing — frontend, backend, map data — is served from the edge with no origin server. It loads fast from anywhere.

Try it

Pueblo Canvas is live at sofritoconrecao.com/pueblos. Open it on your phone or desktop, pick a color, and place some pixels. It works in Spanish and English — hit the language button in the top bar to switch.

And if you're from one of the 78 — go paint your pueblo.