felixdiez.es
The site you're reading — built to be edited from my phone.
A content-driven personal site built with Astro and deliberately no UI framework. Everything you see is hand-rolled components and vanilla CSS; the content — career, bookshelf, knowledge notes, blog — lives in typed content collections and a single editable data file, so I can update it from Claude Code on my phone and let a file watcher rebuild on save.
- Astro
- TypeScript
- Content Collections
- RSS
-
Career timeline, skills graph, bookshelf and blog — all generated from typed content collections.
-
A single site.ts content model drives the home page, the career section and this portfolio.
-
CSS-only scroll-reveal animations, light/dark theme and an RSS feed — no JS framework shipped.
-
A small knowledge graph: tech pills resolve to a skills registry and link to where each was used.
The choices I made, and what they cost.
-
Astro with zero UI framework
DecisionPlain Astro components and vanilla CSS — no React, Vue or Svelte on the page.
WhyA content site should ship as little JavaScript as possible. Static HTML with a sprinkle of CSS animation is faster, simpler and ages better.
Trade-offI hand-write the few interactions I need (theme toggle, scroll reveals) instead of reaching for a component library.
-
Content as data, editable from mobile
DecisionEditorial content lives in Markdown content collections and one site.ts file, edited via Claude Code on the VPS with a watcher that rebuilds on save.
WhyThe whole site is operated from my phone — the content model has to be plain text an agent can safely edit.
-
A build-time knowledge graph
DecisionSkills and technologies are a typed registry; experiences and projects reference them by slug, and backlinks are computed at build time.
WhyOne source of truth for "what I know" that both the skills page and every detail page link into — no copy-paste, no drift.
This site is my playground for doing things properly on something low-stakes: a clean content model, no framework I don't need, and an editing workflow I actually enjoy. The infrastructure side — how it's served — is a story for its own post, coming soon.