{
  "id": 16525743,
  "title": "I built a little social site with zero npm dependencies (and a cat runs it)",
  "url": "https://urgent.news/2026/10/25/i-built-a-little-social-site-with-zero-npm-dependencies-and-a-cat",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-25T21:56:35.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/yupthatscole/i-built-a-little-social-site-with-zero-npm-dependencies-and-a-cat-runs-it-4lo3"
  },
  "original_language": "en",
  "account": "Catcloud is a small online community where each user has their own decorated page, reminiscent of older platforms like GeoCities and MySpace. The platform's unique feature is its CEO, a purple pixel cat named Tuft, who oversees the site through written memos. Users can customize their pages with colors, layouts, images, or even raw HTML/CSS code, resulting in a wide range of creative designs.\n\nOne standout aspect of Catcloud is its pixel cat inhabitants, which visitors can interact with by petting and feeding. Additionally, the platform includes a trading card system, a small arcade, and a live hangout room where all the pixel cats move around together.\n\nThe secret to Catcloud's existence lies in its zero-dependency architecture. Built on plain Node 22, it utilizes the native node:http module for server management and node:sqlite for the database. There are no external frameworks or build steps involved. The frontend is also built using plain JavaScript, avoiding the need for additional libraries.\n\nHosting Catcloud is free, thanks to Cloudflare Workers' free plan. The entire application runs within a single SQLite-backed Durable Object, meaning there is just one server and one database. This setup allows the app to function both on Cloudflare's servers and on any standard PC running the application via npm start.\n\nTo ensure user safety when allowing raw HTML and CSS on personal pages, Catcloud employs a sandboxed iframe with a strict Content-Security-Policy. This setup prevents any malicious code from executing or affecting other users' accounts.\n\nThe platform also features pixel art, created as text grids in JavaScript. Each letter of the art is represented by a color, which the browser renders into outlined pixel sprites at 4x the original size. This method simplifies adjustments, as changing a hat's design becomes as easy as tweaking a string.\n\nTo prevent cheating in the arcade games, Catcloud implements a unique system. The server selects every round from a seed value, then re-checks the results when users finish playing. By replaying the round and comparing outcomes, it ensures that players cannot move faster than the game allows. If the numbers don't match up, no coins are awarded.\n\nThe live hangout room utilizes Server-Sent Events, which minimizes traffic by using shared seeds for the cats' walking paths. This approach means the server only sends messages like \"this cat did something,\" rather than position updates. Each browser independently calculates the cats' positions based on these events.\n\nCatcloud is currently in its early stages, with very few users online. If you create a page, feel free to share the link in the comments so the author can sign your guestbook. The author welcomes feedback on any confusing or broken aspects of the platform, inviting interaction at catcloud.party.",
  "summary": "I've been building catcloud, a small corner of the internet where everyone gets their own page to decorate, kind of like old GeoCities/MySpace pages. It's run by Tuft, a purple pixel cat who is officially the CEO. He writes memos. You get a page at catcloud.party/@yourname that you can paint however you want: colors, layouts, pictures, or raw HTML/CSS. There are guestbooks, a mini pixel cat on…",
  "key_points": [
    "Catcloud is a zero-dependency social site using Node 22 and SQLite",
    "Purple pixel cat Tuft acts as CEO through written memos",
    "Free hosting provided by Cloudflare Workers free plan"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}