Workout tracker for iPhone · Solo build
Iron Pillar: Show up. Stack the days.
Iron Pillar began as a UX research and design project and became a real iOS app that I designed, built, and brought to the App Store on my own. It logs any workout in seconds, tracks outdoor activity with GPS, and turns consistency into streaks, XP, levels, and badges. As the sole developer, I owned everything: research, UX and UI, brand, mobile and backend engineering, the marketing site, App Store submission, and project management.
In App Store review

- Category
- UX/UI Design
- Timeline
- 2025–2026
- Developer, start to finish
- 1
- Badges across 8 groups
- 51
- Jira issues tracked
- 59
- Commits in 6 weeks
- 80+
My role
Solo developer. I owned every part of the product.
- UX Research
- UI / UX Design
- Brand
- iOS Development
- Backend
- Project Management
Built with
Tools and platforms behind the shipped product.
- React Native
- Expo
- TypeScript
- Firebase
- Cloud Functions
- RevenueCat
- HealthKit
- Live Activities
- EAS Build
- Claude Code
Phase 01 / Research
The problem
Fitness apps lose most of their users within weeks. Research pointed to three groups with distinct pain points:
- Beginners feel overwhelmed by equipment and lack structured guidance on form and progression
- Inconsistent users lose motivation after missed sessions and need accountability
- Budget-conscious users need flexible routines that work in any setting, including at home

Phase 01 / Research
Finding the gap
The competitive analysis showed apps either gamify without substance (Duolingo-style motivation) or track without engagement (Hevy, Strong). Iron Pillar sits at the intersection: real workout guidance wrapped in streaks, XP, and achievements.

Phase 02 / Design
Storyboard to prototype
I mapped the full journey in a storyboard, tested the critical flows with paper prototypes (onboarding, experience level, workout logging, social feed), then built a high-fidelity Figma prototype and a brand system: voice, type, color, and the pillar-and-plates logomark.




Phase 03 / Build
From Figma to a working app
I built the app in React Native with Expo and TypeScript, with a Firebase backend. The core rule: anything that affects progress is decided by the server, so streaks and XP can't be faked.
- Server-side game logic: Cloud Functions calculate streaks, XP, levels, personal records, and badges on the server clock, and security rules lock those fields from client writes
- Progression: 51 badges in 8 groups with bronze-to-platinum tiers, personal records from estimated one-rep maxes, plus level-up and streak screens with celebration animations
- Outdoor tracking: GPS route maps for walks, runs, and rides, with lock-screen Live Activities showing the timer, current set, and rest countdown
- Apple Health integration and a Pro daily readiness score that blends recovery, sleep, and training load
- Social layer: friends, activity feed, reactions, and friend profiles, with report, block, and content filtering for safety
- Iron Pillar Pro subscriptions through RevenueCat, verified server-side before awarding 2x XP
- Accessibility pass: WCAG AA contrast tokens and screen-reader roles and labels across every control
Phase 04 / Ship
Taking it to the App Store
Shipping meant everything around the code, too. I set up EAS builds and TestFlight, wrote the App Store listing and screenshots, configured subscriptions and privacy disclosures, and responded to App Review. I also designed and launched ironpillar.app, the marketing site with support, privacy, and terms pages, built around the same "pillar" layout concept as the brand.
Project Management
A team of one, run like a team
With no one else to catch mistakes, process mattered as much as code:
- A Jira board with epics and issues for every feature, bug, and submission blocker, groomed after each work session
- A running progress log recording what was built, what was verified, and what was still untested
- A "verify it live" rule: features weren't done until they were tested end-to-end against the real backend
- Root-causing process failures, not just bugs. For example, finding that backend deploys had been shipping stale code and adding an automatic pre-deploy build
- Scoping against App Store guidelines early, and deliberately putting lower-value integrations on hold to protect the launch
Takeaways
What it taught me
Iron Pillar took me from designing an app to owning one. Research still shaped every decision, but shipping taught me to think in systems: data models, security, release pipelines, and the many small details between a prototype and a product people can download.
Interested in working together?
Let's discuss how I can help bring your project to life.
