Building a Self-Hosted Blog Engine With Astro 6
This blog is its own open-source project. One config file, 15 themes, 26 languages, zero JavaScript by default, perfect Lighthouse scores, and Docker-ready. Here is how it works.
13 posts
This blog is its own open-source project. One config file, 15 themes, 26 languages, zero JavaScript by default, perfect Lighthouse scores, and Docker-ready. Here is how it works.
Fed up with Linktree watermarks and paywalled customization, I built my own personal link page. Open source, self-hosted, 15 themes, and it takes about five minutes to set up.
Every developer portfolio and GitHub README deserves sharp tech stack icons. I built a free, self-hosted API that turns a URL into a polished icon strip, no account required, no watermarks, no limits.
Both tools solve the same caching and orchestration problem in monorepos. Here is where they differ, where each one wins, and how I think about choosing between them.
Two tools, two config files, two sets of conflicting rules, and a slow CI pipeline. Biome replaced all of that with one fast Rust-based tool. Here is why the switch was obvious in hindsight.
Automated font downloading with CLS-safe fallbacks, favicon and PWA icon generation from a single image URL, and OG image rendering at build time. Three scripts I now use across all my projects.
Bun is a runtime, package manager, test runner, and bundler in one binary. After running it in production for months, here is an honest account of where it wins and where to watch out.
JavaScript serialization silently drops Date objects, Sets, Maps, and more. nuxt-superjson is a Nuxt module that wires SuperJSON into your API endpoints so complex types survive the round trip.
VueI is an open-source Vue 3 UI component library distributed as a Nuxt module. Install it with one command, get a full set of typed, accessible components built with TailwindCSS.
Twenty-plus utility modules for TypeScript covering strings, arrays, dates, math, colors, crypto, URLs, media, and more. One package, consistently typed, built with Bun.
How the first version of Mentorize came together as a full-stack Nuxt app with MySQL, interactive courses, and video-based learning-and what I learned building it.
Browser default form styles look terrible in every browser. Forms Pretty is a universal CSS stylesheet that makes any form look polished instantly, with no framework dependency and no configuration.
Three PHP repositories I built to stop repeating the same setup for every new project. A full-stack MVC framework, a standalone REST API template, and a lightweight no-framework starter.