Fresh Coat of Paint: Redesigning d12frosted.io
A complete visual overhaul of this site—migrating from Hakyll to Next.js, adopting a brutalist + jRPG aesthetic, and upgrading to Tailwind CSS v4.1. Sharp corners, bold colors, and way less fighting with build systems.
After years of the same look, I decided it was time to give this site a proper redesign. Not just a few color tweaks or font changes - a complete visual overhaul from the ground up.
#1The Vision: Brutalist Meets jRPG
I've always loved clean, functional design that doesn't hide behind unnecessary flourishes. At the same time, I'm a huge jRPG fan (yes, I still play FFXIV), and I wanted to bring some of that visual language into the site. The result? A brutalist aesthetic with jRPG-inspired status bar accents.
Think sharp corners instead of rounded edges, bold geometric accent bars, and color-coded sections that feel like character stats in a menu screen. Blue for technical posts, green for code projects, orange for tutorials - each category gets its own "element type" color.
#1Design Principles
The redesign follows a few core principles:
#2Sharp, Not Rounded
No border-radius anywhere. Every element has crisp, clean edges. Geometric accent bars use solid colors and stark contrasts.
#2Emacs-Inspired Spacing
As an Emacs enthusiast, I drew heavy inspiration from Nicolas P. Rougier's work on clean, precise spacing. Everything breathes - generous padding, clear visual hierarchy, and monospace metadata for that terminal aesthetic.
#2White Theme First
I know dark mode is all the rage, but I genuinely prefer light themes. The site uses a warm off-white background (#FAFAF8) with pure white content areas and a carefully chosen color palette:
- Paper (
#FAFAF8) - Warm background - Canvas (
#FFFFFF) - Pure white content - Ink (
#1A1A1A) - Primary text - MP Blue (
#5F87AF) - Primary accent (like magic points!) - HP Green (
#7FB069) - Success/code color (health points!) - XP Orange (
#E9AE4E) - Warning/tutorial color (experience!)
#2Typography
Switched to Inter for sans-serif and IBM Plex Mono as the primary monospace font. Headings use bold weights with tight tracking, body text has generous line-height (1.7), and all metadata is rendered in monospace with uppercase, wide tracking for that classic terminal look.
#1From Hakyll to Next.js
This site was previously built on top of Hakyll, the Haskell static site generator. While I love Haskell and functional programming, any serious design work required way too much effort from my non-frontend-developer ass. Fighting with templates and rebuilding the entire site just to tweak spacing got old fast.
Next.js with Tailwind turned out to be exactly what I needed - quick iteration, hot reload, and a massive ecosystem of components and tools. I could finally focus on design instead of wrestling with build systems.
#1What Changed
#2Home Page
Completely reworked the home page into a two-column layout. Left side has a condensed about section and quick stats. Right side shows latest posts and featured projects. No redundant heading - the navbar already shows my name, so why repeat it?
#2Posts Page
Blog posts are now grouped by year with bold year headers. Each post card features a large image, colored accent bar based on the first tag, and monospace metadata. The cards have that jRPG status bar feel - hover effects add shadow for depth.
#2Projects Page
New dedicated projects page with a grid layout. Each project card shows the GitHub repo with live star counts, description, and color-coded left borders. I also added callout sections for my GitHub profile and Barberry Garden (my wine project).
#2Individual Posts
Cleaner post headers with monospace metadata, blue geometric dividers, and a refined typography scale. Code blocks now have a white background with a 3px blue left border - much more readable than the old style.
#2Code Syntax Highlighting
Custom syntax theme using the site's color palette. Everything is sharp corners, clean backgrounds, and that signature blue accent border.
#1What's Next
Now that the site redesign is done, I'm back to working on Vulpea v2 - a complete rewrite of my Emacs note-taking toolkit. There's a lot to cover there, and I'll definitely be writing about it. Expect more posts about task management, org-roam workflows, and how I use Emacs for everything from project planning to wine notes.
But first, let me enjoy this fresh coat of paint for a bit.
—
Built with Next.js 15, Tailwind CSS v4, and an unhealthy amount of time spent in browser DevTools. Just kidding, Claude Code FTW.