Inspiration

"I didn't just build this app for Gabby's audience; I built it for myself."

I connected deeply with Gabby Beckford’s brief because I related to the idea as a woman in her target age group. I am currently going through the exact journey she describes.

I felt working on this project would actually help me be more strategic with my own personal life transition - turning this overwhelming, gigantic, and sometimes scary move into independent consultancy into daily micro-actions. If I could design that experience for myself, I could design it for other women too.

The Meaning of "Audacity Pax" I chose the name as a deliberate play on words that honours Gabby’s brand ("Packs Light") and the dual nature of the user's journey:

  • "Pax" (Latin): The word for "Peace." (So "Packs Light" translates to "Peace + Light").
  • "Pax" (Travel Lingo): The industry standard abbreviation for "Passenger."

Combined with Audacity, the name effectively means "The Audacious Passenger" or "Bold Peace." It’s a double meaning that promises users they can be the passenger in a journey of your own design - moving toward big goals with delusional confidence and total calm.

What it does

Audacity Pax turns big, scary goals into daily micro-actions. Users pick a track (Travel, Career, Financial Freedom, or Bold Living) and get a phased programme that acts as a strategic roadmap.

  • The "Today" Engine: Instead of a generic to-do list, users get one or two focused tasks per day (e.g., "Draft the negotiation email," "Research one café"), preventing overwhelm.
  • Vision Board: Each active goal has a dedicated Vision Board where users curate images, links (with rich previews) and personal notes/affirmations - all the visual motivation that keeps them locked in. Items can be reordered instantly via drag and drop on any device (touch or mouse), edited, and deleted.
  • My Trackers (Savings + Countdowns): Independent of any programme, users create standalone Savings Trackers and Departure Countdowns from the "Today" view - each with a custom label (e.g. "Japan Holiday Fund," "Tokyo Departure"). Savings trackers support both deposits and withdrawals (colour-coded green/red), a target amount, and a live progress bar. Countdown timers show "X days to go."
  • The Pulse: A community feed that celebrates wins. When a user completes a task, they share it to the Pulse, where others can react with "Cheers" or "Sparks" - creating a loop of validation for bold behaviour.
  • Tiered Access: Using RevenueCat, the app gates features logically. "Brave" users get 2 active goals, while "Fearless" users get unlimited active goals and advanced programme content.

Challenges I ran into

  • Capacitor storage and build failures: Version conflicts with Capacitor Preferences caused iOS and Android builds to fail and prevented native projects from updating with implemented changes. I built a native storage plugin from scratch (capacitor-native-storage) for high native data security and reliable local device storage (iOS UserDefaults, Android SharedPreferences, web localStorage fallback), so both platforms could sync and persist data correctly.
  • RevenueCat (first-time use): It was my first time using RevenueCat, so there was a learning curve. I also deployed to TestFlight with the test_publicKey and discovered the hard way that this was wrong: RevenueCat showed a gentle warning on app launch in TestFlight and the app exited suddenly. Switching to the appropriate key (appl_publicKey) for TestFlight builds fixed it.
  • The "Logic Gating" of Life: Translating abstract life goals into code was difficult. I had to design a data structure that could handle a "Travel" goal (which needs specific dates and planning) differently from a "Bold Living" goal (which needs mindset prompts). I solved this with a flexible Programme interface that adapts the UI based on GoalCategory.

How I built it

I prioritised a premium, native-feeling experience using a modern web stack wrapped for mobile:

  • Core Stack: Built with React 19, TypeScript, and Vite, using a custom "Worldly & Warm" design system: Glassmorphism cards and surfaces, Audacity Orange for energy and primary actions, and Pax Gold for success and celebration, on dark, earthy backgrounds that keep the experience focused and premium rather than clinical. A single design-token file drives all UI so the app feels consistent and intentional. Confetti and progress feedback add light gamification without cluttering the flow.

  • Mobile Native: Capacitor 8 ships a single codebase to iOS (TestFlight) and Android. A custom native storage plugin (capacitor-native-storage) provides secure local storage so user data persists across sessions.

  • The Business Engine (RevenueCat): RevenueCat handles payments and access logic.

    • Entitlements: Features map to entitlements: brave unlocks Pulse posting and 14-day programmes; fearless unlocks 21-day programmes (Pulse included).
    • RevenueCat (Purchases SDK) powers subscription checks and entitlement gating.

Accomplishments that I'm proud of

  • Custom Native Storage: Successfully building and implementing a custom Capacitor plugin to solve persistence issues was a major technical win.
  • Seamless Tiering: The app correctly handles complex tier logic - if a "Brave" user tries to add a 3rd goal, the app gracefully halts them and suggests the "Fearless" upgrade via my custom paywall. It feels like a mature product, not a hackathon prototype.
  • The Aesthetic: I nailed Gabby’s requested "Ambitious, Worldly, Warm" vibe. It doesn't look like a utility app; it looks like a lifestyle magazine that comes to life.

What I learned

  • Shipping a single codebase to TestFlight with Capacitor and RevenueCat is viable for a one-month MVP; choosing where to go “static” (e.g. programmes data) vs “backend later” (e.g. Gemini, cloud DB) kept scope realistic.
  • Tier-specific copy (e.g. “Your Brave plan allows 2 active programmes…”) reduces confusion when users hit limits; activation limits need to be visible both in the product and in the paywall/upsell story.
  • Aligning the app with the creator brief (daily micro-actions, wins, gamified progress) made it easier to prioritise features and cut scope without losing the core promise.

What I learned

  • Keys Matter: Understanding the distinction between Test/Local and Release API keys in RevenueCat is critical for TestFlight stability.
  • Alignment with the creator (Gabby) made product decisions easier. Whenever I was stuck, I asked: "Is this audacious?" If the answer was no, I cut the feature.

What I learned

  • Keys Matter: Understanding the distinction between Test/Local and Release API keys in RevenueCat is critical for TestFlight stability.
  • Alignment with the creator (Gabby) made product decisions easier. Whenever I was stuck, I asked: "Is this audacious?" If the answer was no, I cut the feature.

What's next for Audacity Pax

  • Authentication (Sign in with Email/ Apple / Google): The MVP removed sign-in friction for judging. Post-hackathon, we will add proper auth for cloud sync, secure Pulse identity, and social features.
  • AI Backend Integration: Connect the Goals Questionnaire payload to an AI Agent API to generate unique, dynamic roadmaps instead of static programmes.
  • Pulse Persistence + Visual Sharing: Move the community feed to a real backend (Supabase) and enable photo/short video uploads so users can visually prove their wins.
  • Home Screen Widget (iOS / Android): A native "Today's Focus" widget showing the current task, Savings and countdown tracker at a glance.
  • Fearless First Look: An exclusive feed for top-tier "Fearless" members where Gabby shares behind-the-scenes content and early access opportunities.
  • Deeper analytics: Use RevenueCat and first-party events to understand conversion, retention, and which programmes drive the most engagement.

Built with

Languages & frameworks: TypeScript, React 19, Vite
Mobile: Capacitor 8 (iOS, Android)
Monetisation: RevenueCat (Purchases SDK); UI: Custom design system (Audacity Orange, Pax Gold), Lucide React icons, canvas-confetti Persistence: Custom Capacitor native storage plugin (@funmibadev/capacitor-native-storage)
Other: React Country State City (onboarding), Capacitor Splash Screen

Built With

Share this project:

Updates