Inspiration

Everyone has that one task. The thesis chapter, the tax return, the email you should have answered two weeks ago. You know exactly what it is. You just can't find a way in, because it's one huge thing and no part of it looks small enough to start right now.

I'm a student at Politecnico di Torino. Most productivity apps are very good at organizing the pile. Very few help with the one moment that matters, which is starting.

So I built the opposite: an app that hides the pile and hands you one step small enough to begin.

The name comes from climbing. "On belay" means your partner has the rope: you're held, and you can start climbing. That feeling is the whole app.

What it does

You type the thing you've been avoiding, in your own words. Belay turns it into a short ladder of 3 to 6 steps. The first one is built to take ten minutes or less and to need nothing you don't already have. The later steps grow into the real work, and the ladder ends at a milestone that is actually done.

Then Today shows you one step at a time, with a thin track underneath that shows the shape of the whole goal, so you know where you are without carrying all of it. Finish a step and the next one springs in. When you want everything else gone, open the step full screen: a quiet focus room where the step is the only bright thing.

Around that core:

  • I'm stuck. If a step still won't start, tell Belay what's in the way (it's vague, no time, no energy, or you don't know where to start) and you get one concrete move for that exact problem.
  • A day that fits. One tap and Belay places your remaining steps into the real gaps in your calendar, with breathing room between them.
  • Health, kept on your phone. Sleep, HRV, resting heart rate, workouts and steps from Apple Health or Health Connect, each compared to your own recent average. Your health numbers never leave the device.
  • A coach you can talk to. It reads how you're doing from what you write. There's no mood picker asking you to rate yourself.
  • 12 languages, and the coach replies in whatever language you type in.

How I built it

  • App: React Native and Expo with TypeScript, one codebase for iOS and Android.
  • Motion: Reanimated, Moti and Skia, with Jakub Antalik's open-source thinking orb and border beam for the moments the AI is working, and expo-haptics layered under short sounds.
  • AI: Gemini behind my own proxy on Cloudflare Workers. The app never sends a prompt, only a task type and structured inputs. Prompts live on the server, so I can improve them without shipping an update.
  • Accounts: Supabase for sign-in, backup, sync and a weekly allowance that is enforced on the server, so reinstalling doesn't reset it.
  • Payments: RevenueCat owns entitlements across both stores, and Superwall renders the paywall. Pro is monthly, or yearly with a 7-day free trial.

The free plan was a deliberate choice. It limits how much Belay thinks for you, never your own work. You can add and edit steps by hand forever, and your goals and steps are never locked behind the paywall.

Challenges I ran into

  • No Mac. I build on Windows, so every iOS build went through EAS in the cloud and got tested on a real iPhone. Android had its own surprise: local builds only work from a folder called C:\b, because a path limit deep in the native toolchain leaves room for about ten characters.
  • App Review. Apple sent Belay back more than once, each time for something real. Once because my listing still called sign-in optional after it had become required, and once because the billed price wasn't the biggest number on the plan card. Both are now checked by scripts before anything is submitted.
  • The animation that hid the app. A fade-in that started at zero opacity could freeze on some devices and leave a blank screen. I tried two clever fixes and both failed. Removing the transparent start fixed it.
  • AI cost. My first cost estimate counted only the visible answer and underestimated the planning call by 86%, because thinking tokens are billed too. Now every call logs its tokens, and each task has its own thinking level. I tested giving the coach more thinking time: same answers, 1.3 seconds became 4.4, so it stayed low.

Accomplishments that I'm proud of

The reward. This is the part I cared about most.

When you're already avoiding something, the moment it turns into small steps has to feel like relief. If it feels like being handed a longer to-do list, you close the app. So most of the craft went into two moments: the breakdown and the check.

  • While the AI thinks, a small orb breathes on screen instead of a spinner.
  • The steps cascade into place on springs, so the ladder feels like it's being built for you.
  • Checking a step off happens in two beats: a light tick the moment your finger lands, then a success haptic, a short sound you can turn off and a small halo as the ring fills. The next step springs in right after, all in under half a second. Finishing a whole goal lands heavier, with a soft glow that blooms once and clears.
  • Every corner radius is derived from the curve of your phone's screen, so cards sit inside the display like they belong there. Almost nobody will notice, and that's the point.

Just as important is what I left out. No streaks, no points, no countdowns, no red badges. If you disappear for a week, Belay doesn't mention it. You open it and see your next step. There are badges, but you only earn them for things you actually did, and nothing can take one away.

What I learned

  • Minimal is not the same as calm. My early versions were so stripped back they felt cold, and cold is exactly what makes someone put a task off. I had to add warmth back on purpose.
  • The reward is the product. The breakdown is what gets someone to try Belay. How it feels to check off step one is what I'm betting brings them back.

What's next for Belay: Start Anything

Getting Belay to the people who need it, listening closely to what they do with it, and right-to-left layout for Arabic.

For judges

An account is required (Apple, Google or email), because your weekly allowance, backup and sync depend on it. A judge account with Pro already unlocked is in the submission's testing notes, and the yearly plan also includes a 7-day free trial.

Built With

  • cloudflare-workers
  • eas
  • expo-haptics
  • expo-notifications
  • expo-router
  • expo.io
  • gemini
  • google-calendar
  • google-sign-in
  • health-connect
  • healthkit
  • mmkv
  • moti
  • nativewind
  • react-native
  • react-native-reanimated
  • revenuecat
  • sentry
  • sign-in-with-apple
  • skia
  • supabase
  • superwall
  • typescript
  • zustand
Share this project:

Updates

Submission history