The story behind MaverickBytes: why I built it, the tech decisions I made, and what I learned shipping a developer portfolio as a product.
Every developer has a portfolio. Most of them look the same. White background, a grid of project cards, a contact form. Ship it and forget it.
I wanted something different. MaverickBytes isn't just a portfolio. It's the brand I'm building my entire solo dev business around. It needed to feel like me.
I've always been drawn to two aesthetics that shouldn't work together: cyberpunk neon and fantasy RPG warmth. Think Blade Runner meets D&D character sheets. Dark backgrounds with electric purple glows, but also gold accents and "quest log" metaphors.
The challenge was making that feel premium, not gimmicky.
No debate here. Server Components by default, great DX, and Vercel deployment is seamless. The App Router's file-based routing made organizing the site sections intuitive.
Tailwind v4's new @theme directive let me define my entire design system in CSS, no config file needed. Every color, shadow, and animation is a design token I can use as a utility class.
Every piece of data in this site is typed. Projects, services, testimonials, skills, all defined in src/types/data.ts. This makes refactoring fearless and catches bugs before they ship.
Right now, the data is static TypeScript files. But the architecture is ready for Supabase. Testimonials and projects will eventually be database-backed with a simple admin interface.
Before writing a single component, I built the design system in globals.css:
This meant every component I built afterward was already visually consistent.
"use client".MaverickBytes is built in public. Follow the journey on GitHub and Twitter.
Interested in working together?
Get in Touch