colophon
This site is an artifact. The CV is on warm paper. The site is in cold ink. Same person, two registers.
Typography
- Display: Fraunces by Undercase Type. A variable Old-Style serif with optical-size and softness axes. Used for headings and the italic name. (SIL Open Font License)
- Body: Geist by Vercel. Sharp humanist sans, wide kerning, looks like it's been used in a real interface.
- Mono: Geist Mono, same family. Used for the prompt, terminal, and stack chips.
Stack
- Framework: Next.js 16 (App Router ยท static export).
- Styling: Tailwind CSS v4 with raw CSS variables for the palette. No
@applychains. - Interactivity: plain React state for the live shell, no animation libraries on the hero path. The boot typing is a single
setInterval. The blinking caret is a CSS keyframe with a step-end timing function so it actually looks like a caret, not a fade. - Hosting: static
out/deployed onto a small DigitalOcean VPS behind nginx, behind Cloudflare TLS. The whole site is < 4 MB on the wire including both CV PDFs.
Palette
A single chic dark canvas. The accent is a controlled mint (#9bf1a4) for the prompt, focus rings, and active status. A warm amber (#f6a84b) for severity and the italicised surname โ that's the only thread tying back to the warm CV. Critical is a refined rose, never a pure red.
The bg is a deep ink (#0b0d12), not pure black; pure black on a sharp display feels harsh, this feels printed.
What this site doesn't do
No glassmorphism. No dot grid hero. No rounded-xl cards with soft shadow. No hero gradient blob. No newsletter popup. No AI illustration. No "Hi, I'm Toprak ๐."
If a paragraph here ever uses the word passionate, the paragraph gets deleted.
EOF.