January 4, 2026 • 2 min read
How I Gamified My Portfolio: Building a Custom "Life Heatmap" and Vibe Coding My Dev Setup

Injecting Personality into a Bland Portfolio
We've all seen the standard developer portfolio: a static list of tech stacks, a few project links, and a generic "About Me" section. I realized my own site was suffering from this lack of character, so I spent my post-Christmas break deciding to change that. My goal was simple but ambitious: I wanted to gamify my life and display it for the world to see.
Instead of just showing code commits, I built a custom heatmap inspired by GitHub's contribution graph. However, this version tracks everything—entrepreneurship, school work, startups, and coding tasks. It's a way to visualize my daily grind and add a unique layer of transparency to my personal brand.
The Tech Stack: Sanity CMS as the Backbone
To make this work without constantly hard-coding HTML, I leaned heavily on Sanity CMS. It acts as the "brain" for my portfolio. I set up schemas not just for blog posts, but for daily to-do items and even a "Now Playing" music widget.
At the end of every night, I input my completed tasks into Sanity, which then syncs directly to the frontend heatmap. The infrastructure allows me to manage my site's content dynamically, treating my portfolio less like a resume and more like a living dashboard of my life.
Key Features
- Daily task tracking and productivity heatmap
- Synced directly with frontend visualization
- "Now Playing" music widget integration
The Reality of "Vibe Coding" with AI
The process wasn't without its hurdles. I adopted a vibe coding approach—jumping straight into coding based on feel rather than strict design principles—utilizing AI tools like Cursor IDE and Codex to speed up the workflow.
While the speed is undeniable, I quickly hit a wall of code fatigue. Reviewing the massive amount of code output by AI requires a different kind of mental energy, leading to burnout even when the coding itself is automated.
Moving forward, I'm learning to pace myself, scoping out only 2-3 features a day to maintain quality and sanity while I prepare to dive deeper into proper design principles with Figma.