This Portfolio
2024live

This Portfolio

Designed and engineered from scratch — a living technical document

Next.jsTypeScriptTailwind CSS v4Vercel
01

Overview

A fully custom portfolio built without UI libraries, using Next.js App Router, Tailwind CSS v4 custom properties, and a section-based layout system inspired by Stripe's marketing site architecture. Everything from the angled section transitions to the code animation was hand-crafted.

02

The Inspiration

Most developer portfolios are templates with swapped content. I wanted mine to reflect how I actually think about software — with intention, craft, and attention to the details that most people skip. Every design decision here is deliberate.

03

Tech Stack

Next.js 14

App Router gives me RSC for fast initial loads and the flexibility to mix static and dynamic sections.

Tailwind CSS v4

The new CSS variable-based theming system let me build a sophisticated design token layer without fighting the framework.

better-auth

Lightweight, type-safe authentication for any future gated content without the overhead of a full auth platform.

Vercel

Zero-config deployment with edge network, preview URLs per branch, and built-in analytics.

04

Challenges & Solutions

The Problem

Angled section transitions created gaps and overflow artifacts across different viewport widths.

The Solution

Derived all angle-related padding mathematically from the viewport width using CSS custom properties and trigonometric ratios, ensuring seamless joins at every breakpoint.

The Problem

Dark mode default caused a flash of unstyled content on first load when the CSS class wasn't applied immediately.

The Solution

Added the `dark` class statically to the `<html>` element in the server-rendered layout, eliminating the flash entirely since the class is present before any JavaScript executes.

05

What I Learned

  • 01

    CSS custom properties as a design token system scale better than utility class proliferation for design-heavy sites.

  • 02

    Static dark mode via server-rendered class is far simpler and more reliable than client-side theme detection for default-dark sites.

  • 03

    Building layout systems from first principles gives you far more control than adapting a component library to fit an unconventional design.