Inspiration

I've trained my whole life. Judo, kickboxing, BJJ, and years coaching CrossFit and calisthenics. What always made the difference was never a better exercise list. It was a coach who knew what I did last week, what my sport demands and how I felt that morning.

Most people never get that. A good personal trainer costs more per session than a fitness app costs per year, so people end up with a library of exercises or a fixed program that ignores their week. I wanted everyone to have the coach, not the library. So I spent a year building Peakness, and training on it myself.

What it does

Peakness plans every session the way a great coach would.

  • It starts from you. Your goal, your sport, the gear you actually have and the time you've got today.
  • It listens to today. Slept badly? Long run tomorrow? Only 30 minutes and a pair of dumbbells? The session adapts.
  • It remembers. Log your sets as you train and the next session builds on what you actually lifted, working on your weak spots before they become plateaus.
  • It coaches, not lists. Every exercise comes with a demonstration, the reason it's in your plan, and coaching cues.
  • It keeps you going. A clear week ahead, weekly challenges, streaks and badges, and reminders that sound like your coach, never like an app begging for attention.

Gym, home or park. First day in a gym or years into a plateau. In English, Dutch, German, Spanish and French.

How I built it

React Native and Expo, with RevenueCat for subscriptions, OneSignal for reminders and Supabase behind it. Every workout is grounded in sports science, my own years of coaching, and what I learned from coaches with far more experience than me, so a session is only shown when it would make sense to a coach.

Challenges

Trust. A workout that looks fine but has too much volume, no proper warm-up or a machine you don't have is worse than no workout. Getting every session to pass a coach's eye, for every sport and setup, took most of the year.

Accomplishments I'm proud of

A first workout that feels written for you within two minutes of opening the app. And shipping a major update, with reminders, offer codes, a new paywall and four new languages, nine days after launch.

What I learned

People don't want more options; they want fewer decisions. Every question the app could answer itself got removed.

What's next

Running and race plans, Android, coach accounts so personal trainers can run their clients on Peakness, and whatever the founding members ask for.


---

## 3. Grand Prize

Early and effective release

Peakness 1.0 went live on 21 September with one job: prove the core loop. You tell it about yourself, get a workout that feels personal, train, and the next session builds on it. I kept it narrow on purpose so the first real users would show me where onboarding and the paywall needed work before I spent money on traffic. Nine days later, 1.1 shipped what that taught me.

A launch built to compound

I didn't plan one big launch day. I set up every part of the growth loop so each one feeds the next and keeps working after the hackathon:

  1. Every channel tied to revenue. Apple Ads feeds RevenueCat, so I see revenue per keyword, not just installs. Every channel gets its own App Store link, and every onboarding and paywall step is measured.
  2. Conversion designed in. New members get their real first workout before they ever see a price. RevenueCat's State of Subscription Apps 2026 shows why the first session matters: 82% of Health & Fitness trials start on day one.
  3. Offers that don't cheapen the product. The founding offer (code FOUNDER, first 100 members) is an App Store offer code redeemed during onboarding. The list price stays intact, and the same mechanism gives every coach, gym or creator partner their own trackable code.
  4. Retention from day one. Reminders built as habit loops, weekly challenges, streaks and badges, a heads-up email before a trial ends, and a welcome email after the first purchase.
  5. Reach that keeps working. Store pages in five languages, Apple Ads on high-intent keywords in Dutch and English, and founder-led Reels and TikToks of me training with the app.
  6. Foundations that hold. Subscriptions, dates and workouts are all checked on the server, so growth can't break the experience for paying members.

Results so far (launch → 1 October)

Peakness was live but quiet until 30 September, when I posted the founding Reel and started pushing. Since launch: 7 downloads, 3 paying members and $295 in revenue. Small numbers from a deliberately quiet start, but 3 of 7 downloads became paying members (43%), against a 10.7% median for hard-paywall apps in RevenueCat's 2026 report. Two of the three subscribed within 24 hours of that first push. The funnel converts; now it's about volume.

What I learned and what's next

Two lessons from launch week. First: iOS never asked anyone for notification permission in 1.0, so 1.1 asks at the moment it's worth saying yes: right after you see your plan or finish a workout. Second: Dutch users search the App Store in Dutch, so English keywords barely ran; Dutch ad groups now sit next to the English ones.

Next: put the ad budget behind the keywords that produce trials, test trial length and a paid intro offer with RevenueCat Experiments, see which reminder styles bring people back, and turn founding members into referrals through partner codes.


---

## 4. RevenueCat Design Award

Peakness is designed around one idea: the way to your next workout should be obvious.

One clear action. Every screen has one job and one unmistakable button. Over many iterations I removed modes, extra buttons and whole rows of controls from the home screen, until a single "Make My Workout" button was left. Nothing competes with it.

Colour with a purpose. A calm, warm off-white base and one confident red, used only for what matters: your next action and your progress. The app started with six colour palettes; I refined them into three themes (Signature, Borealis and Coral), each designed as a whole rather than a colour swap.

Type you can read between sets. Friendly, rounded headlines and a clean, highly legible text face, sized to be read at arm's length with your heart rate up.

Design effort where it counts. Most of the design time went into the path from opening the app to training: a short onboarding with one question per screen, a progress ring instead of a spinner while your session is built, a demonstration on every exercise, and the reason each exercise is in your plan.

Details that feel physical. A small tap for every set you tick, a celebration when you finish, sheets that follow your finger, and the native iOS 26 glass tab bar that slips out of the way as you scroll.

Where to look: onboarding, the Train tab and its Make My Workout button, any workout, and Profile › Settings to switch themes.


---

## 5. HAMM Award

How Peakness makes money

Subscriptions through RevenueCat: Yearly ($95.99 / €99.99) and Monthly ($15.99 / €17.99), with a 7-day free trial on yearly. Every price decision was made with RevenueCat's State of Subscription Apps 2026 on the desk.

Decisions, and the data behind them

  • A hard paywall, with value first. The report shows hard paywalls converting 10.7% of downloads to paid by day 35, against 2.1% for freemium. A personal coach is worth paying for, so there's no free tier. But nobody pays for a promise, so onboarding ends with your real first workout before any price appears.
  • The paywall shows up on day one. 82% of Health & Fitness trials start on the first day, so the paywall appears right after the first workout, not after a week of free use.
  • Yearly first, weekly removed. Yearly plans are 68% of Health & Fitness subscriptions and 59% of revenue. Weekly plans keep only 2.2% of subscribers after a year. 1.1 cut the paywall from three plans to two, with yearly first.
  • A 7-day trial, not 3. Trials of 5–9 days convert at 37.4%, against 25.5% for 4 days or less, and 55% of 3-day trial cancellations happen on the first day.
  • Priced like a coach, not an app. Our yearly price sits in the top 10% of the category on purpose: a year of coaching for about the price of one personal-training session. The report shows premium apps convert better (2.8% against 2.0%) but renew less (24% against 37%), so the money we don't spend on discounts goes into retention: habit-loop reminders, weekly challenges, and a heads-up before a trial converts so nobody feels tricked.
  • Discounts without discounting. The founding offer (FOUNDER, first 100 members) is an App Store offer code redeemed during onboarding, never a public price cut. The same mechanism gives coaches, gyms and creators their own trackable codes.

Results so far

7 downloads, 3 paying members, $295 in revenue (about $98 per paying member). That's 43% of downloads converting to paid, against RevenueCat's 2026 median of 10.7% for hard paywalls, and 1 in 5 App Store page visitors downloaded. Early and small, but it shows the value-first paywall converts.

Why it scales

Every euro is traceable: Apple Ads revenue per keyword and a funnel from first screen to purchase. Next come RevenueCat Experiments on trial length and a paid intro offer, partner codes for coaches and gyms, and coach accounts, letting personal trainers run their clients on Peakness as a second, B2B revenue stream.


---

## 6. OneSignal: Keep Them Coming Back

OneSignal App ID: be8bb99c-51d4-406f-a7c1-2170a1f08d1a

The idea

Most fitness reminders are the same "Time to work out!" every day, and people learn to ignore them within a week. Peakness reminders are built like a coach's nudge, using proven habit-formation principles: a reason to act today, one easy first step, and a reward that changes so it never goes stale.

What members get

  • A morning nudge about today's session, written from their own plan.
  • An evening check-in when a streak is at risk, when someone new hasn't trained yet, or when someone has been away for a while.
  • A Sunday recap of the week, and a Monday announcement of the new weekly challenge.
  • At most two a day, in their own time zone, never at night, and every type can be switched off.

What makes it work

  • Asked at the right moment. Never on first launch. Peakness asks with its own card when you first see your plan or finish a workout, the moment a reminder is clearly worth it. Only then does the iOS prompt appear.
  • Personal every time. Each push is written for that member from their own training: their session, their streak, an exercise they've been missing. No two members get the same message, and no member gets the same message twice in a row.
  • Measured. The style of every push is logged with its result, so I can see which kinds of reminder actually bring people back, and do more of those.

OneSignal delivers each reminder to the member's own devices, linked to their account. The planning and writing happen on our server.

Built With

Share this project:

Updates

Submission history