Inspiration

I came back to volleyball in July 2026 after almost three years away from the sport. I had finally started training again, and then, on my way to a tryout in the city where I study, I got injured. I already knew how easily time away from volleyball can stretch from a few weeks into months and, eventually, years, so this time I wanted to approach being away differently: not as being "out" of the sport, but as being part of a different stage of it.

That's where Still In The Game started.

What it does

Still In The Game is a daily companion for athletes who can't participate normally right now. You pick your sport, say where you are in your comeback and what you miss most, and the app gives you one small activity that keeps you connected to your sport or community.

When you complete it, your comeback court comes back to life. There are no streaks to lose and progress never goes backwards. If you have a bad day, take a day off, or simply don't feel like doing the activity, everything you've already built stays there.

The court is a night volleyball court that grows one piece at a time. The first 12 activities rebuild the court itself: the lines, net, ball, bench, street lamp, lights and scoreboard. The next 12 bring the players onto the court, taking turns between your team and the other team until it becomes six against six. After that, the ball starts moving around the court like an actual rally.

Recovery doesn't have a fixed end date, so the journey continues in seasons instead of ending at an arbitrary percentage. Right now the app is volleyball-only; basketball, football and running are planned next.

How I built it

I built the app with Kotlin and Jetpack Compose, using DataStore to keep progress locally on the device, with no account or backend required for the core experience. The comeback court is made from 31 illustrations generated through a Python script, so every stage is included in the repository and can be regenerated.

I integrated RevenueCat's Android SDK (10.24) for Still In The Game+. The app reads the current offering and displays monthly and yearly plans, with the yearly savings badge calculated from the actual prices. Plus is controlled through the plus entitlement, and the app listens for entitlement changes so the experience updates when a purchase, restore, or granted entitlement becomes active. I also added an optional username flow using RevenueCat App User IDs and a promo code for judges.

The free version includes the complete daily connection loop. Plus allows users to complete more than one activity per day and request new suggestions without the daily limit. I kept the pricing intentionally low at $2.99/month or $19.99/year because the people this app is designed for may already have other costs associated with being away from their sport, including recovery and physiotherapy.

I designed the visual direction before building: dark athletic navy, warm chalk, court orange, electric blue and rally yellow. I used Sora for the more expressive athletic typography, Inter for the interface, and Caveat for handwritten notes. I wanted it to feel like a sports app without becoming another fitness tracker built around numbers, streaks and performance charts.

I also used Claude, Anthropic's AI assistant, as a coding partner during the hackathon. It helped write a large part of the implementation and generate the court illustrations from my direction. I made the product and UX decisions myself: the idea, target user, tone, visual direction, comeback system, court progression, pricing and what made it into the MVP.

Challenges I ran into

The biggest challenge was figuring out how to motivate someone without turning recovery into another competition.

I didn't want streaks, rankings or performance metrics where missing a day could make someone feel like they were falling behind. That didn't make sense for the problem I was trying to solve. Being injured already makes you feel like you're behind everyone else sometimes; I didn't want the app to reinforce that.

I also had to keep the app firmly non-medical. Still In The Game doesn't tell athletes how to recover, what exercises to do, or when they should return to their sport. It focuses on something different: helping them stay connected while they're away.

And then there was the obvious challenge: building all of this in two days. I had to be very strict about the MVP. Every feature had to answer the same question: does this help someone feel like they're still part of their sport?

Accomplishments that I'm proud of

I'm most proud of the comeback court. I didn't want progress to be another number like "43% recovered." Instead, progress changes something the user can actually see. The court starts almost empty, gradually gets rebuilt, and eventually your team shows up. It gives the user somewhere to come back to rather than just something to measure.

I'm also proud of the tone of the app. I wanted it to be encouraging without being overly motivational or cheesy. When you're actually going through an injury, sometimes you don't need someone telling you "YOU GOT THIS!" You just need something that makes the time away feel a little less like you're being left behind.

What I learned

This project made me think a lot more carefully about design psychology and motivation. A progress system isn't automatically motivating. If it constantly shows you what you haven't done, it can make you feel worse instead.

I also got much more comfortable with Jetpack Compose, DataStore and RevenueCat, especially with making the monetization part feel like it belongs to the product instead of being a paywall randomly added at the end.

Most importantly, I learned how much product thinking matters when you're building under a time limit. I had a lot of ideas for Still In The Game, but I couldn't build all of them. I had to keep coming back to the same question: what is the smallest version of this idea that still makes someone feel like they're part of their sport?

What's next for Still In The Game

The first step is expanding beyond volleyball with courts and comeback journeys for basketball, football and running. After that, I'd like to make the app more useful at the team level, so coaches and teammates can help injured players stay connected instead of having their relationship with the team disappear while they're away.

I'd also like to add Spanish and eventually explore the same idea beyond sports. Dance, art and other passions can become a huge part of someone's identity too, and the same feeling of being "away" can happen there.

The bigger idea behind Still In The Game is simple:

You might be away from what you love for a while. But that doesn't mean you stopped being part of it.

Built With

Share this project:

Updates

Submission history