All work

AIUnstuck by LuchaFit · Designed and shipped with AI

From an athlete assessment to live coach dashboards

Coaches needed proof that mental training works, and athletes needed a clear picture of where they stand. I designed and built the whole system myself with Claude Code: the athlete assessment, the results, dashboards for every team that update as results come in, and a demo that lets coaches see it before they buy.

Role
Design and build, solo
Status
Live
Stack
Netlify, Supabase, Apps Script
Scale
400+ program members
Challenge
Make mental performance measurable for athletes and visible to coaches, without adding work for anyone.
What I did
Designed and built the assessment, the results experience, team dashboards, and a self-serve coach demo.
Outcome
Live today. In the pilot, every athlete improved their score, from an average of 5.9 to 8.3.

Move the sliders to see how an athlete’s results come together. Sample data, not the real scoring model.

Why & DriveOwnership & ReflectionConfidence & Self-TalkPressure & RoutineResilience & Release
6.0/ 10 mental performance score

#1 growth area: Confidence & Self-Talk

The problem

Mental performance is hard to sell because it’s hard to see. Coaches buying a course for their team want to know where their athletes stand and whether it’s working. Athletes want to know what to work on. Before this, the answers were a feeling.

The constraint was time. LuchaFit is two founders, so whatever I built had to run itself: no manual scoring, no rosters to maintain, and no one assembling reports by hand.

One system, four touchpoints

I designed the pieces to connect, so one athlete’s answers flow all the way to their coach’s screen.

  1. 01DiscoverA public assessment introduces new athletes and coaches to the program.
  2. 02ResultsEach athlete gets a competitor type, a score out of 10, five dimensions, and a #1 growth area.
  3. 03ProgressEnrolled teams get a version with each athlete’s history across attempts.
  4. 04Team viewCoaches see their whole team on a dashboard that updates itself.

Results athletes want to read

The results page is the product most athletes actually see, so I designed it to feel like a scouting report about themselves, not a test grade.

  • A competitor type gives athletes a name for how they compete, something they can talk about with teammates.
  • A score out of 10 gives a simple number to improve.
  • Five dimensions, from Why & Drive to Resilience & Release, show where the score comes from.
  • One growth area, not five, with a way forward that points to the exact part of the course that helps.

Showing one growth area was deliberate. Five weaknesses at once reads as a verdict. One reads as a plan.

Dashboards that build themselves

The team dashboards were modeled on a report I first made by hand for a single college team. The challenge was making that report appear for every team automatically.

Considered

Ask coaches to upload and maintain rosters

Chose

Group athletes by the school in their email address, with keywords to catch free-text team names

WhyRosters go stale and coaches won’t maintain them. Email domains are already in the data.

Considered

Show every attempt on the team view

Chose

Count only each athlete’s latest attempt

WhyCoaches want to know where their team stands now. Individual history lives in the athlete’s own view.

Considered

Individual coach accounts

Chose

A team code and passcode, with sign-ins tracked per team

WhySimpler for coaches to share with assistants, and the sign-in count shows which teams are engaged.

A demo that sells itself

Coaches decide whether to buy, so I built a demo they can explore on their own. Coaches register with a school or club email and verify it with a code. The demo then greets them as “Coach” with their school’s name on a sample team, so they picture their own athletes. Every registration is saved for follow-up.

Anonymous where it counts

I also built The Room, a five-day anonymous journaling challenge. Athletes won’t be honest where teammates and rivals can see their names, so anonymity was the feature, not a setting. That lesson carried into the privacy model for the Unstuck app.

Impact

  • 180athletes in the pilot season
  • 100%of pilot athletes improved their score
  • 5.9 → 8.3average score, start to finish

The assessment gave the program something it never had: a number coaches can see move. The program has since grown to more than 400 members.

How AI changed the build

I designed in the browser and built with Claude Code. The person who ran the research also wrote the production code, so nothing got lost in a handoff. When a coach asked for something, I could go from conversation to a live change the same day.

It also changed what was worth building. A custom dashboard for every team would have been out of reach for a two-person company. With AI-assisted development, it became something I could build and maintain myself.

What’s next

The assessment moves into the Unstuck app, where athletes retake it periodically and see their progress across a whole season, not just between two attempts.