Skip to main content
FY
All work
Development

Personal Portfolio

A fast and minimal personal website built with Astro, Tailwind CSS, GitHub, and Cloudflare Pages.

  • Astro
  • Tailwind CSS
  • TypeScript
  • Cloudflare Pages
Role
Designer and developer
Status
Live and evolving

This website is a personal space for documenting my work, writing, and experiments across design, software development, and data.

The challenge

My interests cross several disciplines, but the website still needs to feel focused. The challenge was to create one structure that can support project case studies, longer journal entries, and smaller experiments without turning the experience into a crowded landing page.

The approach

I started with a small visual system built around clear typography, restrained color, consistent spacing, and reusable interface patterns. Astro renders the site as static HTML, while content collections provide typed frontmatter and shared templates for work and journal entries.

The implementation prioritizes:

  • semantic HTML and keyboard-friendly navigation
  • responsive layouts with a content-first reading order
  • light and dark themes backed by shared design tokens
  • reusable components for page headers, tags, buttons, and section titles
  • metadata, structured data, RSS, and sitemap generation

Architecture

Project and journal content live in Markdown files and are validated by collection schemas. Dynamic routes turn those entries into static detail pages during the build. Site identity, navigation, and social links are kept in configuration files so repeated information stays consistent.

What I learned

A personal website benefits from the same discipline as a larger product: clear content models, a small set of dependable components, and automated checks. Keeping the foundation quiet makes it easier for future work to become the focus.

Next steps

The portfolio will continue to grow with deeper project case studies, visual documentation, and small interactive experiments as they are ready to publish.

Outcomes

  • A static-first portfolio with dedicated work, journal, playground, and about sections.
  • Structured content that can grow without duplicating page templates.
  • Accessible navigation, theme controls, metadata, RSS, and sitemap support built into the foundation.