Vibe coding Rungry

After years of keeping Rungry on the back burner, I finally started building it in Xcode with the help of Claude Code. In just a few days, I had a working app ready for App Store distribution. This post documents that journey and beyond. 🍿


3rd release

03/10/2026

Finally had some time to play with the app and made some major updates.

  • Haptic on pause reinforces the idea of pausing a run

  • Live activity widget so that you don’t have to open your phone to see how many consumables you’ve earned

  • Pause state for live activity view in case you didn’t realize your run was paused

  • App now supports background mode so that the app doesn’t close mid-run (the worst)

  • And don’t forget to leave a review for the app, which appears after you earned some delicious snacks during your run

Approved.

03/04/2026

Huzzah, app has been approved and it’s now in the App Store! Make sure to check it out and HMU w/ feedback. Download Rungry on the App Store.



Submission

03/02/2026

I feel like I’m back in 2011 where I was hacking together tappable prototypes on mobiles devices using Adobe Fireworks and a javascript library that was put together by some kind folks out in Norway. Claude Code has really made the impossible feel possible and I’m 3ish days in and submitting my first iOS app into the App Store. Never thought I’d be able to do this on my own (obviously still pending app approval). 48 hours for approval. 🤞

Build 3 | Home screen

03/01/2026

I originally liked how the item selection screen displayed additional metadata per item, e.g. Item name, number of calories, and a little bit of additional info. However, it felt intimidating to see all that information up front. From my past experience designing running apps, the more data shown, the quicker the experience skews towards non-casual runners, and that’s not what Rungry is about. I would rather have people debating the number of beers they earned on their run vs. calories burned.

Instead of showing the metadata off the bat, I hid it behind each card. With a swipe, users can quickly access calories and some other info to get a better idea as to what they’re about to run for.

Before

After

After simplifying the UI, it sparked new ideas and opened up new opportunities to add more variety/functionality to the screen. What if users can run for other types of food? Check out my prompt to the right.

With the addition of various food items, I also wanted to keep a running history (no pun intended) of which foods were last selected. For example, if your last run was for sushi, the sushi emoji would appear in the upper left corner on the home screen.

Build 2 | Segmenting the in-run screen

02/28/2026

For the in-run screen, the item that you’re running for is split up to 10 segments. The 10 segments equals the total amount of calories for each item. I initially had the item appear instantly, but it didn’t really give users an idea as what the goal was. I experimented with the transition from item selection to active screen and landed on a cascading effect that briefly shows what needs to be filled and then resolves on the first segment blinking.

Build 1 | Getting started

02/25/2026

Being new to Claude Code, I didn’t know what to expect. Before starting, I had mapped out the core moments within the app experience.

  • Select what you’re rungry for

  • In-run screen

  • Pause screen

For the prompt, I initially stepped out the flow above and in just a few minutes, it generated the screens that you see below.

What are you Rungry for?

In-run screen

Pause screen

Previous
Previous

Pace Station is back!

Next
Next

From sketch to “reality” with ChatGPT