How this site is made.
Last updated 9 August 2026 · v4 · Dark
Typography
- Display
- Mona Sans Variable, condensed: wght 780 / wdth 78, self-hosted (Fontsource)
- Body
- Mona Sans Variable, wght 400. One family carries the whole site
- Type file
- One 98kB latin woff2 carrying both axes: wght 200-900, wdth 75-125
Palette
- Page field
- #0E0D0B
- Section band
- #16150F
- Raised card
- #1E1C16
- Foreground text
- #F5F2EA
- Teal accent
- #3FBFB2
- Teal, quiet (fills only)
- #2E8B87
Stack
- Framework
- React 19, Vite 6, TypeScript
- Styling
- Tailwind CSS 4 with CSS custom-property theming
- Motion
- Motion (formerly Framer Motion) v12 + Lenis smooth scroll
- Icons
- Lucide React
- Hosting
- Coolify on Onidel Cloud (Sydney VPS)
- Forms
- Resend (transactional email)
- DNS
- Cloudflare
- Repo
- keitaemsden-lab/emsden-studio
Brand assets
- Primary wordmark
- Live text at wght 700 / wdth 88. Emsden in foreground, Studio + review-dot in the accent
- Favicon mark
- The E cut from the Mona Sans outline, foreground on the raised field
- Generation
- Vertex AI gemini-2.5-flash-image via ADC, billed against AI Pro credit
Editorial details
- Section labels
- None. Headings carry their own sections
- Marquee
- Stack list, CSS animation, fade mask
Honest disclosures
- Insurance
- Not held. Year-1 uninsured with a strong SOW.
- GST
- Not registered. Under the $75,000 threshold for now.
- AI use
- Used to speed the build. Everything reviewed and tested by me before it ships.
- Built by
- Keita Emsden, sole trader, ABN 71 729 409 987
If something on this page is wrong, tell me at keita@emsden.studio and I'll fix it.