Inspiration

I wanted fitness to feel less like a daily test of willpower and more like a progression system. Inspired by quest-based game mechanics, I built secondshed to help turn good intentions into small, achievable actions—and routines people can keep returning to.

What I Built

secondshed is a gamified calisthenics and wellness companion. During onboarding, users choose their experience level, training days, intensity, session length, and focus areas.

The planner uses those preferences, along with training history and feedback, to create daily training or recovery plans. Training plans include progressive bodyweight exercises, while recovery days can include mobility. Depending on a user’s focus, plans can also include guided mindfulness practices and optional side quests.

Completing tasks earns XP, builds streaks, and unlocks achievements, making progress visible over time. Users can also track their water intake, set a hydration goal, and opt into localized motivational and water reminders.

How I Built It

I built the mobile app with Expo, React Native, and TypeScript. Firebase Authentication, Cloud Firestore, Cloud Functions, and App Check support user identity, app data, and protected server-side operations.

The planner uses a versioned, server-side progression system. It selects exercises from structured movement families and uses the user’s selected intensity and schedule to shape each plan. Training history and feedback influence exercise progression and volume, and can lead the planner to schedule recovery.

RevenueCat powers the subscription experience, including monthly and annual plans, entitlement checks, and subscription lifecycle synchronization through webhooks. Expo Notifications handles opt-in reminders, and Font Awesome provides the app’s icons.

What I Learned

I learned that effective gamification should encourage consistency without making people feel pressured to push through. Rest, scaled exercises, and honest feedback are all part of progress.

I also learned that monetization involves much more than adding a paywall. Subscription identity, entitlement validation, server-side access checks, webhook events, and account deletion all need to work together reliably.

Challenges

The biggest challenges were making personalization predictable, adapting plans responsibly to user history and feedback, and handling local dates and time zones correctly.

I also worked to balance a game-inspired progression system with a calm, approachable fitness experience—so secondshed feels rewarding without encouraging pressure or overtraining.

Built With

Share this project:

Updates

Submission history