Development: in case you’re interested
Maps Gap is not vibe coded. It is built the way production software is built: each part is designed on paper first, written in small steps, covered by automated tests and saved to a private Git repository at every stage. It is now in the final stages of development.
What it is built with
- The engine is written in C# on .NET 10, as a background worker service. It picks up queued scans, collects Google Maps rankings at 49 points across a town, scores every business and writes the results back. It only ever makes outgoing connections.
- The admin app is built with Next.js (React and TypeScript).
- The database is Supabase, which is hosted PostgreSQL, with row-level security so each user sees only their own data.
- Reports and files use Cloudflare. This website, the pilot form and the stored reports and logos run on Cloudflare Workers and R2 storage. Maps use Leaflet with open map tiles, and report PDFs are made with headless Chromium.
Where it runs
Cloudflare Workers run JavaScript, TypeScript and WebAssembly. They don’t run a .NET background service, so the engine will be hosted on a small cloud server or container service (Hetzner or Azure) when it goes live. Everything the public sees stays on Cloudflare.
How it is developed
It is developed local-first on a dedicated Windows workstation, with Visual Studio Code and the .NET 10 and Node 24 toolchains. The engine and admin app run locally against a hosted development database. Secrets live in a password manager and .NET user-secrets, never in the code. Every database change is a versioned migration with its own verification script that is rolled back after the run. Automated tests (hundreds of them for the engine alone) and a clean build must pass before each commit.