Hello, World
After fifteen years of building other people's platforms, I'm finally giving my own site a place to write. Expect notes on Adobe Experience Manager, Java services, cloud infrastructure, and the occasional detour into whatever I'm tinkering with.
How this blog works
Every post is a plain Markdown file in the repo. At build time it gets compiled into typed data — no CMS, no database, no runtime markdown parsing. The whole thing ships as static data on a Cloudflare Worker.
Code blocks get highlighted at build time too:
export function readingTimeMinutes(text: string): number {
const words = text.trim().split(/\s+/).filter(Boolean).length;
return Math.max(1, Math.round(words / 200));
}A few things I like about this setup:
- Writing a post is
git add,git commit,git push. - The frontmatter is schema-validated, so a typo fails the build instead of shipping a broken page.
Systems that stay maintainable long after the launch — that applies to blogs too.
More soon.