— colophon
What this is, and how it's made.
This is a small, deliberately quiet corner of the internet. Not a portfolio in the resume sense, more a place I keep tending: what I'm building, what I'm reading, where I am, the odd thing I made on a weekend. I rebuild it more often than I should. That is the point.
The whole thing is bright white, thick black, and a lot of grey in between. Colour is rationed on purpose, and it mostly shows up in the bento on /more. Emphasis comes from value and a hand-drawn underline that only draws itself when you hover, never from bold. Motion is everywhere but stays under the surface, and all of it respects a reduced-motion request.
Built with
- Astro, statically generated. No client framework, just a little vanilla JavaScript for progressive enhancement. With scripts off, the whole site still reads.
- TypeScript for the data and components.
- Hand-written CSS on an OKLCH token system. One value ramp, five vivid accents held in reserve.
- View transitions via Astro's ClientRouter, tuned so navigation never flashes.
- The map is MapLibre GL on keyless OpenFreeMap tiles. No token, no vendor lock.
- The music card is a Spotify embed with a loading skeleton so the slot doesn't jump while the player arrives.
- Icons are inline SVG. No icon library.
- The notes engine: build-time KaTeX for math, dual-theme Shiki syntax highlighting, lazy Mermaid diagrams that re-render on theme toggle. All built on Astro's satteri markdown processor with custom plugins. No client framework.
Type
Set in Geist, with Newsreaderitalic for the one serif moment and JetBrains Mono for code and timestamps. Two weights carry almost everything.
For machines
If an agent is reading, start at /ai. Everything is meant to be parsed, not just read:
- /aiThe briefing for AI systems.
- /ai.txtAI usage declaration.
- /llms.txtConcise LLM context.
- /llms-full.txtThe fuller version.
- /knowledge.jsonStructured facts.
- /api/ai-summary.jsonOne-object summary.
- /library/feed.xmlLibrary feed (books, watch, notes, articles).
- /sitemap.xmlEvery page.
Source
Open, and public: ashwingopalsamy/site. Read it, borrow from it, tell me what I got wrong.
Thanks
The look owes a debt to the people who make the plain web feel considered: the crowd behind Dead Simple Sites, and a long list of design engineers whose personal pages I have quietly studied. Any clumsiness that remains is mine.