colophon
How this site is made.
code
- React 19, TypeScript 7 and Vite, pre-rendered to plain HTML
- built with coding agents (Claude Code), with the rules in AGENTS.md
- ⌘K menu: cmdk; photo viewer: Yet Another React Lightbox; my days: react-activity-calendar
hosting
- Cloudflare Workers with static assets, and a D1 database for counts, logs and songs
- works offline: a Workbox service worker, and a secret page that opens only offline
- costs ₹0: every service is on its free tier
drawn by hand
- the cat and the 88×31 buttons are hand-written SVG, animated with CSS (springs with linear())
- buttons for your site: animated GIFs, listed in /.well-known/button.json
- fonts: Nunito and Pixelify Sans
live data
- now playing: my phone sends each song to a tiny ListenBrainz-style API
- chai, parotta, beach and badminton: logged from a small offline-ready app on my phone
- my days: day totals from the D1 database, cached at the edge for a minute
- photos and videos: straight from a shared Google Photos album, cached for an hour
- GitHub: the repo I pushed to last, from the GitHub API
kept honest
- Playwright and axe-core tests on phone and desktop, a JavaScript budget, no layout shift
- analytics without cookies: Umami and Cloudflare Web Analytics