Tech Stack & Implementation: Portfolio Site

Technical deep-dive and implementation details.

Technical Deep Dive

This site is built using a modern “unbundled” architecture. Here is how I implemented the core features:

1. Mise-en-place (Environment)

Instead of relying on global binaries or npx, I use mise to embed tools like eslint and prettier directly into the project environment. This ensures that npm install is handled automatically via the [prepare] hook.

2. Astro Content Collections

I use the astro:content module to manage data.

  • Type Safety: Using Zod schemas to validate project frontmatter.
  • Performance: Astro builds these into a local data store, meaning zero runtime overhead for fetching projects.

3. Tailwind CSS v4

I’m using the latest Tailwind CSS with the @tailwindcss/vite plugin. This allows for:

  • CSS-only configuration (no tailwind.config.js).
  • Native CSS variables for theming.

4. MDX & Islands

Interactive components are written in SolidJS and hydrated only when necessary using client:load or client:visible.