A badge achievements system grounded in the data and how motivation actually works
Years of Exploration
Ideas and false starts for gamification features in Volt ran through the app's entire history. Over the years I designed goal and stats dashboards, competition UIs, leaderboard variations, and reward concepts that ended up deprioritized and in my design graveyard. So when the time it came to prioritize these features we had a clear sense of what solar reps actually responded to and what stakeholders wanted to see.
Late in 2025 the team was tasked by internal leadership with prioritizing gamification again. As a team, we brainstormed and explored a robust suite of features including badges, streaks, daily activities, a prize locker, and journeys through levels. Eventually, we had our game plan all laid out—we even had a full Epic with skeleton tickets in Jira and I had a few rough wireframe concepts sketched out.
Then the curve-ball: the external stakeholders came to us with the Volt 2.0 rebrand ask and placed it at the top of their wish list. The good news: a swaggy new look would lend itself perfectly to the gamification features already in the works. The bad news: I needed to design, code, and release the rebrand first. So the backend dev work started while I juggled gamification, LMS prototyping, and the Volt redesign concepts simultaneously.


The Philosophy
The thing I kept coming back to when thinking about gamification was this: effective digital rewards can be as simple as an animation, a sound, or haptic buzz. Duolingo built a $5 billion company on that premise. Slot machines have been exploiting it for decades.
My goal was to find every opportunity to celebrate the small stuff—a door knocked, an appointment set, an assist logged—with a moment of reward that felt good enough to keep them coming back.
The longer-term vision was a sales journey mode built into onboarding so new rep's first experience of Volt would be through a guided path, earning badges for completing the actions that would set them up to succeed: knocking their first door, setting their first appointment, getting their first assist. We didn't get that far but this philosophy shaped how I thought about the badge system we eventually built.

Catching What the Data Revealed
Here's where the data comes in and things get interesting. A set of badges and thresholds had been signed off and had already been programed into the backend system.
But once Volt 2.0 was released and I was able to turn my focus to how the badge achievements would look and work, I started with questioning how realistic the badge thresholds were. So I used our data agent and Querylab skill with access to our internal databases and Mixpanel and started asking: 'How many of our actual users can earn these badges?' It turned out a significant portion of the thresholds were out of reach for the majority of our active users. Many would have taken years to achieve. That was clearly an issue and not at all aligned with my vision—badges that feel impossible
to earn aren't motivating—they're demoralizing. I also noticed the system was almost entirely oriented toward closers or reps who made sales. It had nothing meaningful for appointment setters—a large and important part of our user base—and exactly the type of junior reps we needed to engage.
I brought these issues back to the team with the data to back it up. Then went through the badge set and kept analyzing and checking the data in order to ensure we had a more achievable set of badges—some easy, some medium, some hard and some for the junior reps appointment setting at the top of the sales funnel.


Final screens and a new work flow


The achievement badges were part of a few connected features, each owned by a different developer. An admin tool that let the team upload badge images, names, and descriptions. Native push notifications so reps were alerted the moment they earned a badge. And a Wins tab added to the existing activity feed, where reps could share their achievements socially with their team.
Most of these features were well underway before Volt 2.0 had fully shipped—based off those early wireframes and AI design. That made them
a natural test case: real features, real code, real developers—and a chance to apply my new design system and AI skills to work already in motion.
The new workflow changed everything. Instead of waiting for TestFlight builds, writing up feedback and waiting for another test build from a developer, I could pull the branch to my local environment, run my Volt skill and do a quick round of UI code polish before pushing everything back exactly how I wanted it.