Personal site and blog, built with Astro and Tailwind CSS.
Fully static, with no client-side framework. The only JavaScript on the page is the theme toggle.
Requires Node 22+ (see .nvmrc).
npm install
npm run dev # start dev server
npm run build # build to ./dist
npm run preview # preview the production buildPosts live in src/content/blog/, projects in src/content/projects/, as MDX files named YYYY-MM-DD_slug.mdx. The filename (minus extension) becomes the URL.
Resume data (experience, education) lives in src/lib/data.ts.
Pushes to main deploy to GitHub Pages via .github/workflows/deploy.yml.