Back to projects

Portfolio Website

This very site, my personal portfolio and blog, built with Next.js and styled with Tailwind CSS.

Jul 25, 2026

Next.jsReactTailwind CSSTypeScript

Portfolio Website

A personal portfolio and blog built to present my projects, skills, and written content in a clean, performant package.

Project Overview

The site is built with the Next.js App Router and TypeScript, with all content stored as typed data modules rather than a database. This makes the entire portfolio trivially easy to maintain: adding a blog post or project is a matter of creating one data file. The design uses Tailwind CSS with a light and dark aesthetic, heavily inspired by the GitHub Dark palette that runs through the rest of my dotfiles.

Technologies Used

  • Framework: Next.js (App Router), React
  • Styling: Tailwind CSS, shadcn/ui components
  • Language: TypeScript
  • Content: Typed data modules (Blog and Project schemas)

Key Features

  1. Blog Engine: Markdown-based posts with tags, reading time, and author attribution, ordered by date.
  2. Project Showcase: A searchable grid of projects with technology badges, links, and optional detail pages.
  3. Typed Content Model: Every blog post and project implements a shared TypeScript interface, guaranteeing consistent rendering and zero runtime surprises.
  4. Reveal Animations: Lightweight scroll-triggered reveals that keep the interface feeling polished without heavy animation libraries.

Project Details

The architecture favors simplicity over complexity. No CMS, no external data source, just static generation with content imported directly from the codebase. This keeps first-load performance excellent and deployment as simple as pushing to a hosting platform.

Conclusion

This portfolio is a reflection of how I like to build software: typed, minimal, and fast. The source is fully available, and the content model makes it easy to grow, new blog posts and projects are added in minutes.