
Back to Portfolio

Personal Website

A personal website and blog built with Astro, React, and Tailwind CSS.

AstroReactTailwind CSSTypeScript

About This Project

This is my personal website — built from scratch as a place to practise, write, and showcase my work. The goal was to solve real product problems end-to-end rather than reach for a template.

Features

  • Blog — Markdown-based posts with category and tag filtering
  • Portfolio — project showcase with individual detail pages
  • Interactive tools — Word Counter and CSS Triangle Generator, built as React islands
  • Dual-theme system — alternate colour theme unlocked via a hidden Easter egg in the footer, persisted to localStorage
  • SEO — sitemap, robots.txt, Open Graph tags, and canonical links

Architecture

Built with Astro 5 and deployed to Vercel. Pages are statically generated; interactive components hydrate selectively with client:load (React islands).