Yes, IronQuill is a workout tracker. There are hundreds of them already, and I've tried a lot of them. That's exactly why I built another one.

Inspiration

I got hooked on lifting my freshman year of college, and it's been my favorite way to chase a goal, stay in shape, and burn off stress ever since. My progress really took off once I started tracking my lifts. I could see exactly when I was stagnating and needed to add weight, and watching the numbers climb was honestly addicting.

The problem was what to track with.

I started in my notes app. I had a section for each day of my split, the date as a title, and every exercise typed out with bullets for weight and reps. It was simple, and I loved being able to adjust on the fly depending on which machines were open. But after a while I got sick of all. the. typing. Five days a week I was typing everything out, reformatting it, dragging the cursor to the exact right spot, and watching the keyboard take up half my screen just to log one set. I was spending more time on my phone between sets than actually lifting. Eventually I gave up and went back to keeping it all in my head, and my progress slowed down along with it.

So I tried the dedicated tracking apps, and I kinda hated every single one of them.

  • Hundreds of preset exercises I'd never do, before I'd even logged a set
  • Full screen takeovers with muscle diagrams and instructions. I know how to bench press. I just want to log it!
  • Rigid templates that took 5+ taps to swap an exercise, which matters a lot when your routine depends on whichever machines are open
  • Ads, upsells, and AI coaches constantly getting in the way
  • A social feed. In a workout tracker. I'm trying to spend LESS time on social media. The first time I saw one, I uninstalled on the spot.
  • And the "simple" ones all looked like they were designed 10 years ago, and they still made me type everything

What stood out to me was that most of the intermediate and experienced lifters I knew weren't using any of these apps. They were using a notebook or their notes app, just like me. They already know their routine. They just need a better way to track it.

I've always loved tools that do one thing really well. A good pen and a notebook. A calculator. Right now it feels like every app is racing to become the one app that does everything, especially with AI getting bolted onto all of it. Your workout tracker wants to be your coach, your nutritionist, and your social network at the same time. There's a place for that, but I think a simple tool that works every single time you pick it up is still incredibly valuable. The ironic part is that AI is what made it possible for me to build IronQuill at all. I just didn't want the app itself to become another everything app.

So I set out to build the tracker I actually wanted, with the simplicity of a notebook, the analytics of a digital app, and a modern design that actually feels good to use. Simple shouldn't mean ugly. Everything I need, nothing I don't. That became IronQuill.

What it does

IronQuill is a premium workout tracker built to keep you off your phone and in the gym. It does one thing, and it does it really well.

  • 5+ custom input mechanics to log weight and reps without ever opening the keyboard
  • Automatic app blocking that locks your distracting apps while a workout is active, then unlocks them when you finish. No more realizing you just took an 8 minute rest.
  • Automatic rest timers that remember your target rest for each exercise, because the rest you need between squats and calf raises is veryyyy different
  • Powerful analytics, including estimated 1RM, volume, PRs, and body weight, plus custom goal, recovery, and streak tracking
  • A PR board, full workout history, and a plate loader so there's no more barbell math

No ads, no social feed, no bloat.

How I built it

IronQuill is the first app I've ever built, and the first side project I've ever actually finished and put out into the world. I built it solo during nights and weekends after my full time job as a software developer.

  • React Native + Expo so I could work out of one codebase, shipping iOS first with Android coming soon
  • Convex for the backend and database
  • Clerk authentication with Sign in with Apple and Google
  • RevenueCat for subscriptions and the paywall
  • Apple's Screen Time / Family Controls APIs for app blocking, which meant a custom dev client through EAS Build instead of Expo Go

I kicked off the project with a brand new Claude Code subscription, and most of the app was written through agentic coding with Claude Code (Opus and Fable models), with some help from GPT's codex models. Being able to describe a UI in plain words and get something that close on the first or second try honestly felt like magic.

RevenueCat was one of the biggest surprises. I had never monetized anything before, and between the SDK and the agent skills RevenueCat provides, I had a full subscription implementation working in hours. That meant I got to spend my time on the features that make IronQuill different instead of wrestling with receipts and entitlements.

Challenges I ran into

Almost every challenge came down to doing this for the first time. It was my first app, my first time monetizing something, and my first time going through App Store review. Even picking the stack took longer than expected, since I had no past experience to compare my options against. Then trying to navigate App Store Connect for the first time ended up being way more effort than I had ever expected.

And then the App Review rejections hit. Three of them.

  1. The Family Controls auto-reject. App blocking requires Apple's Family Controls entitlement. I requested it, got it approved, and registered it in the build, and Apple's automated scan still rejected me for not having it. I checked everything multiple times, manually and with Claude, and left a comment explaining. Then I waited 5 more days, only to get rejected for something completely unrelated. The auto-flag was just plain wrong, and it cost me almost a week.
  2. iPad compatibility mode. I thought marking the app iPhone-only meant iPad didn't matter. Turns out iPhone apps still have to pass review in iPad compatibility mode, and my terms of service link had a visual bug there. Another fix, another multi day wait.
  3. Sign in with Apple. My onboarding asked for your name after you signed in with Apple, which isn't allowed since Apple already provides it. Fixed, resubmitted, and finally approved.

After launch, a whole new challenge started: marketing, which I had never done before. I started with faceless TikTok slideshows at one post a day, swore I'd never film myself, and... I'm now filming myself. I've also been personally emailing every trial user to get feedback, and I'm learning a lot about what actually gets a lifter to download something. Most recently, I've started experimenting with paid ads on Meta and TikTok. Figuring out targeting, creatives, and how to track conversions back to the ad platforms when every subscriber starts with a 30-day free trial has been its own crash course, but it's been one of the most interesting parts of the whole process.

What I learned

  • Shipping beats perfecting. I had to give myself a hard stop on new features and push through a lot of self-doubt. That hard stop is the only reason IronQuill is on the App Store instead of sitting on my laptop.
  • Agentic development is a real skill. Scoping tasks, describing UI in words, and reviewing AI-written code all got better with reps, and the better I got, the faster the app came together.
  • Apple has a LOT of rules. Every rejection taught me something new that will hopefully prevent more in the future.
  • Great tools are a force multiplier. Expo, Convex, and RevenueCat let me build my features instead of reinventing infrastructure.
  • I can actually finish things. After two years of consuming content about building apps and shipping side projects, I finally shipped one. It feels like the floodgates broke, and I can't wait to build more!

Built With

Share this project:

Updates

Submission history