Vibecoding a Workout Staleness Tracker
Anuraag built his first iOS app last Friday night while holding a newborn with one hand. It took about 3-4 hours. He never looked at the code.
The Problem
The app idea was simple, almost mundane: show a single number representing days since last workout. Zero if you worked out today. One if yesterday. And so on, ticking upward like a gentle guilt trip on your home screen.
“I kept searching for apps that would help me track the number of days since my last workout,” Anuraag explains. Apple’s native fitness app technically has the data, “but unless you really go into the app and look for it, it doesn’t really show you.” Habit trackers existed, but they all had the same fatal flaw: manual logging. “They require you to log the habit specifically to the app, and I already use Apple Workouts. I just wanted a simple thing that showed me how many days it’s been.”
No manual logging. Just the number.
From Zero to iPhone in One Evening
Friday night, he finally started. Anuraag had never built an iOS app before. Didn’t know Swift.
What he did have: the Claude mobile app, a GitHub account, and approximately one free hand.
Open Claude app. Type detailed prompt for a feature. Claude Code reads the repo, generates code, creates a pull request. Switch to GitHub mobile app. Review PR. Merge. Repeat. All from an iPhone, in short bursts throughout the day, while handling newborn duties.
“My Mac was just elsewhere during this whole time,” he says. “I was just doing this entirely from my phone without any SSH. I had fun.”
Deploying to the phone required the Mac—open Xcode, hit build. But all the development happened on the iPhone.
The Color-Coded Guilt Trip
The app does exactly what it promises. A single number, color-coded: green for today, orange for 1-3 days, red for 4+. The app icon changes based on the count. There’s a widget too.
“I don’t have to really open an app to see it,” Anuraag notes. “The app icon just changes, the widget is nice. It just pushes me maybe a little bit more than usual to go work out on a given day.”
When he first loaded it, the app showed 10 days. Red.

He went to the gym.

Now it shows 1.

Vibecoding: A Definition
So what makes this “vibecoding” rather than just… coding?
“I have not actually really looked at the code,” Anuraag says matter-of-factly. “I have never created an iPhone app before. I don’t know Swift.”
That’s the vibe. Describe what you want—goals, not implementation—and let Claude figure out Swift, HealthKit, widget lifecycle.
“I don’t think not-reading-the-code would work for anything too complicated just yet,” he admits. “But given how simple this is, I think this is an okay approach.”
The prompts were detailed but not technical. The PRs—about 20 in total—mostly just got merged without much ceremony. Claude Code didn’t really mess anything up, “given how detailed my prompts were.”
The chats grew long, but Anuraag engaged in bursts. A few minutes here and there, between newborn duties.
What Changed
Before this project, Anuraag already believed he could build an iOS app in a few hours.
“This just made it much more simple because I don’t really care about looking at the code for this one,” he says. “It doesn’t really feel weird to have built an app where I haven’t really examined the code.”
Personal software—the kind that solves your specific, idiosyncratic problems—suddenly feels radically accessible. Not in the “learn to code” bootcamp sense, but in the “I have a free hand and an idea” sense.
The mental model shifts. Instead of “I need to learn iOS development to build this,” it becomes “I need to describe what I want clearly enough for Claude to build this.”
For simple, single-purpose tools? That’s often enough.
Anuraag’s DaysSinceGym app code is available at github.com/av7625/DaysSinceGym. The app is just on his phone for now.