DEV Community

RunnerY
RunnerY

Posted on

<Day6> Run or Pay? ~App Store Review Submitted!!~

Pay if you don’t run??

I built an app to help people overcome lack of exercise!

  1. Choose how much you’ll pay if you don’t run for 30 minutes within 6 days
  2. Select your commitment amount (¥500–¥10,000)
  3. Track your running distance and time using the in-app timer
  4. If you fail to complete the challenge in time, the selected amount is charged
  5. If you succeed, the payment is canceled

In other words, this app creates a financial commitment to yourself, forcing you into a situation where you have to run.


Daily Report — 2026/02/16

🎉 App Store submission completed!

  • Submission date: Feb 16, 2026
  • Current status: In review (usually 1–3 days)
  • TestFlight: External testing ongoing
  • Stripe: Switched to production mode

Progress Summary (since Feb 1)

Over the past two weeks, I moved from the final stage of MVP development to App Store submission.


✅ Major Achievements

1. Onboarding implementation (early February)

  • Added 5 onboarding screens
  • Pre-challenge explanations (measurement method, reducing psychological friction)
  • Clear explanation of “What happens if you pay?”
  • Added image assets (English & Japanese)

2. Built-in GPS workout tracking (mid-February)

  • Implemented in-app running tracking
  • Integrated CoreLocation + HealthKit
  • Real-time display: elapsed time, distance, pace
  • Automatically saves data to HealthKit after tracking
  • Simple experience without external apps

3. Challenge parameter update

  • Goal time: 60 minutes → 30 minutes
  • Easier for beginners to complete
  • Achievable with 15 minutes × 2 runs
  • Challenge period remains 6 days

4. Stripe production migration (Feb 15)

  • Switched from test mode to production mode
  • Production API keys configured
  • Edge Functions updated
  • iOS publishableKey updated

Stack

  • iOS: SwiftUI + HealthKit + CoreLocation
  • Auth: Sign in with Apple
  • Backend: Supabase (Auth, PostgreSQL, Edge Functions)
  • Payments: Stripe (PaymentIntent with manual capture)
  • Monthly cost: ¥0 (excluding Apple Developer Program)

Current Feature Set (v1.0)

Core Features

  • Sign in with Apple authentication
  • 30-minute running challenge in 6 days (fixed)
  • Commitment amount selection (¥500–¥10,000)
  • Built-in GPS workout tracker
  • HealthKit integration (Apple Watch & other apps supported)
  • Stripe pre-authorization (no charge if successful)
  • Automatic charge on failure
  • Early completion support
  • Challenge history view
  • Onboarding experience

Not included in v1.0 (future work)

  • Notifications / reminders
  • Custom challenge duration
  • Custom goal time
  • Apple Watch standalone app
  • Social features
  • Multi-language support (English only for now)

Roadmap

v1.1 — Improvements (after approval)

  • UI/UX improvements based on feedback
  • Bug fixes and crash fixes
  • Performance optimization
  • Notifications (reminders)
  • Onboarding improvements

v1.2 — Feature expansion

  • Detailed challenge history
  • Stats & graphs
  • Apple Watch support
  • Widgets

v2.0 — Major update

  • Customizable goal time

Reflections & Learnings

Changes over the past two weeks

On Feb 1, I had just started external TestFlight testing.

In two weeks, I completed:

  • Onboarding (major UX improvement)
  • Built-in tracking feature
  • Production environment migration
  • App Store submission

Decisions

Why reduce the goal?

To improve first-time user retention.

60 minutes felt like too high of a psychological barrier.

Why add built-in tracking?

External app setup was too complex for beginners.

I prioritized simplicity.


Summary

The Run or Pay MVP has finally reached App Store review.

Two weeks ago, external testing had just begun.

Since then, onboarding, built-in tracking, and production migration were completed — culminating in submission.

While waiting for review results, I’ll focus on marketing preparation and TestFlight feedback.

Next update when the review result arrives!

Top comments (0)