Inspiration

Based on our user research surveying 100 fellow hackathon participants this weekend, we discovered that the biggest obstacles to exercising regularly were a "lack of time" and "not having friends to work out with." Furthermore, we realized that most traditional fitness apps rely heavily on leaderboards and competition. According to studies on gamification fatigue—research published in the Journal of Medical Internet Research (JMIR)—hyper-competitive fitness trackers often induce anxiety and lead to user burnout rather than building long-term motivation.

We wanted to change this dynamic. Our project started from a simple, core question:

"What if a group of friends could team up to raise a single character together?"

This collaborative approach became the foundation of Finkit.

What it does

Finkit is a cooperative social fitness app where close friends bond over raising a shared character.

  • Shared Growth: When members complete their own daily fitness tasks, the entire group earns shared EXP and coins.
  • Evolving Mascot: The accumulated EXP evolves the group's character through different growth stages.
  • Shared Closet: A shared coin pot allows anyone in the group to purchase accessories (like caps, sunglasses or varsity jackets) to customize their mascot.

How we built it

To bring Finkit to life, we utilized a modern web and 3D stack:

  • Frontend: Built with React and Vite for a fast, responsive user interface.
  • 3D Character & Hats: Built with Blender and React Three Fiber, loading the otter and hat models from .glb files. Hats snap onto a HatAnchor bone baked into the otter rig, so every new item attaches in the right place automatically.
  • Backend & Sync: Utilized Firebase to handle real-time data synchronization and anonymous authentication.
  • Deployment: Deployed the final application seamlessly via Vercel.

To ensure our team could work rapidly without blockers, we established a robust local development environment before connecting the backend logic.

Challenges we ran into

In a fast-paced hackathon environment, having multiple developers working on the same repository often leads to GitHub merge conflicts and severe bottlenecks.

Our biggest challenge was engineering a development pipeline that allowed us to build concurrently. We solved this by creating a purely local "demo mode" that ran entirely in the browser. This allowed our front-end and 3D design team to continuously build, test, and polish the UI and game rules locally, completely independent of the Firebase integration timeline.

Accomplishments that we're proud of

We are incredibly proud of the visual and design elements that emphasize the feeling of "our group." By creating a shared closet system where any member can spend the group's collective coins to decorate the character, we successfully brought the concept of "our squad's unique mascot" to life.

Additionally, we are thrilled that we managed to implement a live-sync feature in just one day—when one friend logs a workout, the mascot immediately reacts and levels up on everyone else's screen without needing a refresh.

What we learned

We learned that under tight deadlines, a well-defined file structure and strict development pipeline are just as critical as the code itself.

By assigning distinct ownership of specific folders (e.g. game rules, UI components, and 3D assets) and strictly adhering to a GitHub workflow of short-lived feature branches and frequent merges, we realized the immense value of clear role distribution and organized collaboration in a hackathon setting.

What's next for Finkit

We have plans to expand the Finkit experience:

  • Custom To-Do's: A feature where friends can upload and peer-evaluate each other's unique habits.
  • Buddy Bonus: A system that awards extra EXP when members log workouts together at the same time.
  • Health Tracking Integration: Syncing with Apple Health and Google Fit for automated activity tracking.
  • Showcase Community: Expanding our social hub so groups can get inspiration from how other clubs have customized and leveled up their mascots.

Built With

Share this project:

Updates

Submission history