About the project
Inspiration
We built Forward for the RevenueCat Shipyard Creator Contest after noticing a pattern in Gabby Beckford’s community: her content creates real momentum, but many followers still pause right before the first step. Not because they lack ambition, but because the goals are huge, the path is unclear, and the emotional support system ends when the video ends.
Gabby’s brief framed it perfectly: people are not waiting for desire, they are waiting for permission. Forward is our attempt to turn that waiting into action.
What we learned
- Motivation is fragile when the first step is vague. The same goal feels doable when it becomes a checklist of tiny wins.
- Commitment beats inspiration. A user making an explicit promise to themselves changes the tone from browsing to doing.
- Paywall timing matters. If the value is clear, a hard paywall after onboarding can outperform soft gating because the user understands what they are buying.
A simple way to think about it is reducing the psychological distance between a dream and a daily task:
Activation ∝ (Clarity × Momentum) / Overwhelm
So the product job is to increase clarity and momentum while aggressively shrinking overwhelm.
How we built it
Forward is a React Native + Expo app built as a polished MVP with a tight loop between onboarding, planning, and execution.
Flow
- Apple Sign-In to start quickly
- Onboarding that anchors the experience in Gabby’s tone and social proof
- Goal input (financial, travel, confidence, career)
- Micro-action plan generation with phased steps
- Commitment signature where the user signs a promise to themselves
- Paywall (RevenueCat) before the main app
- Daily dashboard of scheduled micro-actions, streaks, badges, and celebration
Architecture
We kept routing intentionally simple. No navigation library. App.tsx acts as the state machine that decides which screen to show (login → onboarding → paywall → main app). This reduced edge cases and helped us ship faster.
Scheduling engine
The scheduler distributes micro-actions across the goal’s date range. Tasks are grouped into phases like Research → Plan → Execute → Maintain, then spaced proportionally so the user gets the right difficulty at the right time. We debounced persistence to avoid hammering storage during rapid UI updates.
RevenueCat
We implemented RevenueCat via a custom hook (useRevenueCat) that:
- Configures the SDK on launch
- Fetches offerings and parses plans into UI-ready cards
- Listens for real-time entitlement changes
- Supports purchase and restore flows
- Gates the app based on a single entitlement flag
We built a custom paywall UI instead of using hosted UI so the design matched the PacksLight brand and we could highlight the annual plan as the default best value.
Challenges we faced
- Designing warm gamification without feeling childish. The audience is ambitious and adult, so we used subtle celebration, clean progress rings, and badges that feel like identity, not stickers.
- Making AI planning feel trustworthy. We avoided generic advice by using curated task libraries per goal type, then scheduling those tasks intelligently instead of inventing everything from scratch.
- RevenueCat edge cases. Handling cancelled purchases versus real errors, plus restore flows, needed careful UX so users never felt blocked without explanation.
- Shipping under hackathon time pressure. A single-screen state machine architecture helped us avoid navigation complexity and focus on the core loop.
Result
Forward turns Gabby’s inspiration into a structured daily system: tiny actions, visible progress, and a premium model that supports a sustainable creator business. The goal is simple: stop waiting, start moving, and keep moving tomorrow.
Built With
- apple-auth
- asyncstorage
- eas
- expo-notifications
- expo.io
- gradients
- lottie
- react-native
- revenuecat
- typescript




Log in or sign up for Devpost to join the conversation.