You are reading the fine print on https://pablo.su — a personal site that refuses to be a product, a feed engine, or anyone else's idea of what a blog should look like in 2026. A small room on the IndieWeb: I publish here first, and the canonical URL stays at home.
Handcrafted, on purpose
Every line of code, every word, every pixel of layout was written by me, by hand. No AI wrote this site. No generator scaffolded the pages. No template was bought. It is a slow web on purpose — assembled, edited, revised, broken, fixed, and lived in.
How words get onto this page
I publish via Micropub using Indiekit — posts, notes, bookmarks, and photos all flow through the same endpoint, then live as plain Markdown with YAML front matter. No CMS to log into, no database to babysit. Just files on disk that any future me can still read.
How the site is built
- TanStack Start + React 19 + Vite 7 — SSR where it matters, static where it does not
- TypeScript + Tailwind CSS — a small, opinionated stack I can hold in my head
- Node.js server reading Markdown straight from disk, no build-time bundling of posts
- Docker on a humble VPS, content folder bind-mounted like a shared notebook
- Microformats2 (
h-card,h-entry,h-feed) — for humans, parsers, and anyone still wearing an IndieWeb badge
Look & feel
Pablo Title on the logo and nav — custom, slightly dramatic, very on-brand. Body copy in Literata because reading should feel like a book. Italianno handles the calligraphic moments. Accent colour #3d5c48 — a washed botanical green that does not shout.
The homepage is intentionally not a firehose: one quote, one name, no infinite scroll performance art. Lists live on their own streets — posts, notes, bookmarks, photos — each calm, each its own thing.
Built by Pablo Murad in São Lourenço, MG — with Markdown, stubborn standards, too much coffee, and the belief that a personal site should feel like yours, not like a template wearing your avatar.


