Engineering notes
Technical decisions, gotchas, and learnings from what I build.
3 posts
- 2 min read
Why your OG image crashes with variable fonts
Satori won't load WOFF2 or variable fonts with a multi-axis fvar table. The fix wasn't fighting the config — it was understanding which font format the renderer actually expects.
astro og-images satori fonts Read - 2 min read
A flash-free theme toggle, with a strict CSP and View Transitions
The inline script that prevents a flash of the wrong theme collides head-on with a strict CSP, and then View Transitions threatens to break it again. How all three coexist without dropping below A+.
astro security csp view-transitions Read - 2 min read
Bilingual content in Astro: one file per language, not one field per language
I started by storing title and summary as {es, en} objects in a single MDX. It worked for metadata but broke the body's SEO. The right physical structure was a different one.
astro content-layer i18n seo Read