Skip to content
Back to projects

Developer Portfolio — alanpeter.dev

A fast, accessible, responsive personal portfolio built with Astro and Tailwind CSS, showcasing my technical projects and skills and deployed to self-managed infrastructure.

Astro Tailwind CSS TypeScript HTML/CSS JavaScript
Screenshot of Developer Portfolio — alanpeter.dev

The Problem

I needed a single home on the web to present who I am, what I can build, and how to reach me — and I wanted that home to live on the infrastructure I run myself, not on a third-party host. It also had to be quick, accessible, and easy to keep up to date as my work grows.

My Approach

I built the site with Astro for a content-first, ships-almost-no-JavaScript architecture, and Tailwind CSS for a consistent, responsive design system. Content like projects, experience, and skills is data-driven, so updating the site means editing structured data and Markdown rather than rewriting markup.

The site is deployed to my self-hosted VPS through the same CI/CD pipeline that powers my other services — so publishing an update is just a push.

What I Built

Responsive, accessible layout — A clean dark-themed interface that adapts from mobile to desktop, with semantic markup, keyboard-friendly navigation, and a skip-to-content link.

Data-driven content — Projects in Markdown, plus typed data files for experience and skills, keep the content separate from presentation and easy to maintain.

Performance & SEO — Static rendering, Open Graph and structured-data metadata, and a sitemap so the site is fast and discoverable.

What I Learned

Choosing a static-first framework kept the site lightweight and the authoring experience simple. Structuring content as data up front meant that every later change — a new project, an updated role — was a small, safe edit instead of a markup rewrite.