Typing speed and accuracy gauntlet at wpm.marvinaziz.de. Built it as a hiring screen, then I got hooked using it myself and went from a 55 first try to a 69 personal best — slow-typer arc, still ongoing. Practice mode generates fresh drills so you can warm up (or train your way past me) before a real run. SvelteKit on Cloudflare Pages with D1 for runs and a leaderboard, deployed through a self-hosted runner because the Cloudflare token is IP-pinned to my VPS.
SvelteKitCloudflare PagesCloudflare D1TypeScript Website performance as a service. Paste a URL, get a Lighthouse-style audit, then Nimo fixes what's broken. Image compression, cache headers, Cloudflare rules. Deterministic pipelines for the known issues, agentic AI for the weird ones. Subscribe to speed, not to charts.
Next.jsTurborepoLighthouseCloudflare Real-time availability map for public tennis and pickleball courts in SF and Mountain View. Reverse-engineered rec.us's slot-level API with Claude Code so you see what's actually open. Overlays travel time from your location and keeps a PIN-gated personal layer for favourites, friends, and match history.
Next.jsCloudflare WorkersD1Mapbox VideoBrainstorm is one of the first products that made me feel the gap between idea and software collapsing. I started it while I was still publicly saying "I'm not a developer," as a way to turn vague creative ideas into something visible: one rough prompt becomes several image directions, then the good ones become variations, refinements, short videos, finals, and shareable polls. It's now a full creative studio with a React/Vite frontend, Clerk auth, Stripe/BYOK access, encrypted provider keys, and a TypeScript/Postgres backend proxying Gemini, OpenAI, Veo, and Replicate.
ReactViteExpressPostgreSQLClerk