Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place
1 Wisp.place - Decentralized Static Site Hosting 2 3 Architecture Overview 4 5 Wisp.Place a two-service application that provides static site hosting on the AT 6 Protocol. Wisp aims to be a CDN for static sites where the content is ultimately owned by the user at their repo. The microservice is responsbile for injesting firehose events and serving a on-disk cache of the latest site files. 7 8 Service 1: Main App (Port 8000, Bun runtime, elysia.js) 9 - User-facing editor and API 10 - OAuth authentication (AT Protocol) 11 - File upload processing (gzip + base64 encoding) 12 - Domain management (subdomains + custom domains) 13 - DNS verification worker 14 - React frontend 15 16 Service 2: Hosting Service (Port 3001, Node.js runtime, hono.js) 17 - AT Protocol Firehose listener for real-time updates 18 - Serves hosted websites from local cache 19 - Multi-domain routing (custom domains, wisp.place subdomains, sites subdomain) 20 - Distributed locking for multi-instance coordination 21 22 Tech Stack 23 24 - Backend: Bun/Node.js, Elysia.js, PostgreSQL, AT Protocol SDK 25 - Frontend: React 19, Tailwind CSS v4, Shadcn UI 26 27 Key Features 28 29 - AT Protocol Integration: Sites stored as place.wisp.fs records in user repos 30 - File Processing: Validates, compresses (gzip), encodes (base64), uploads to user's PDS 31 - Domain Management: wisp.place subdomains + custom BYOD domains with DNS verification 32 - Real-time Sync: Firehose worker listens for site updates and caches files locally 33 - Atomic Updates: Safe cache swapping without downtime