Inspiration

In October 2021 I started a fitness journey that changed my life. Over 40kg lost — no shortcuts, just chipping away, session after session. Then in October 2025, a serious knee injury, and surgery, stopped me mid-stride.

Recovery is where the idea was born. I suddenly had a physio programme to follow, a return-to-the-gym plan to rebuild, and nutrition that had to keep working while I couldn't train the way I wanted — and nothing would hold it all in one place. My rehab lived in a PDF, my workouts in one app, my food in another, and none of them could adapt a plan to what my body could actually do that week, or to what I actually liked eating.

So I built it. Persistence was born on nights and weekends from October 2025 — the app my own journey needed: training, rehab, nutrition and wellbeing in one place, adjustable to a real body and a real life. Somewhere between the first commit and today it stopped being a tool for me and became the dream itself: building products people love, and making health and nutrition have minimal barriers from people with all different situations.

What it does

Loadout — the hero moment. Photo-scan any gym and Persistence detects the equipment, then adapts your workout to exactly what's available — sets, reps, rest, supersets. Meaning that if the user's cable machine is broken, they have alternatives to still follow their plan. Swap suggestions also stay equipment-aware mid-session.

Offline-first, on purpose. Gyms with bad signal are the bane of anyone trying to track. So, every workout in Persistence can be logged fully offline and syncs cleanly when you're back in the world, because a tracker that dies without signal isn't a tracker.

One App, for all tracking needed. Nutrition, Gym, setting up habits to follow are easier to maintain when in one place. My app allows the user, as the athelete, to build or follow workouts, log active sessions, log their nutrition, setup manageable and scalable habits to improve their routine. Best of all, if they've connected their health platform to integrate, their weight & steps automatically log into the application also. Coaches, physios or personal trainers or any of those that run a sports society, are able to use it to help their clientele follow a plan and guide their plans too. Making it even more accessible to others.

Mealprint + Fuel. AI meal planning with real portion guardrails, nutrition tracking, and day-scoped shopping lists — adjustable to your needs, your likes, and your training.

A real coach side. PT and physio roles, client invites, program assignment, full visibility of client logging, and consent-controlled health-data sharing. That one's personal: physios are first-class citizens in Persistence because my own recovery needed a physio, a gym plan and a nutrition plan to work as one thing — and nowhere did.

AI client summaries for coaches. PTs live in back-to-back sessions. Persistence summarises what each client has done since you last looked — with adherence ratings — so a 30-second glance before a session replaces an evening of catching up on spreadsheets.

AI safety by design. The AI never writes to your data directly — every generation is a draft you confirm, with per-tier daily ceilings enforced server-side.

How we built it

First, who "we" is: me. I graduated in Computer Science & Mathematics in Nottingham in 2020, started my software career in March 2021, and four years later I head up engineering at a London fintech. Persistence was built solo around that job — nights and weekends — with AI agents as the team. But the agents came second.

The foundations came first: a monorepo template and hexagonal architecture I designed and had learned to trust before AI wrote a line of this codebase. That's what makes agent-driven development actually work — agents operating inside clear boundaries, not improvising on a blank canvas. Around them, guardrails: spec-first discipline (requirements → design → tasks before any code), a state ledger every session reads before starting, and a 90% coverage bar — keeping not just code quality high, but readability and each session's understanding of the product just as high. Six thousand tests across 490+ suites hold the line.

Stack: React Native / Expo, TypeScript end-to-end, Elysia on AWS Lambda (SST), Supabase Postgres/Auth, AWS Bedrock (Claude) for all AI features, RevenueCat + react-native-purchases for the entire monetisation rail on both stores, Sentry for error tracking and Resend to communicate with emails.

How RevenueCat is used

The subscription catalog is server-side single-source-of-truth mapped to RevenueCat entitlements; the paywall renders whatever the offering returns. Different products across consumer and coach tiers on both the App Store and Google Play (Play base plans + trial phases, replacement modes for plan changes), server webhook → entitlement sync, promotional entitlements for founding-coach comps, and an introductory offer with 70% off for the first 200 to entice those first paying users.

Challenges we ran into

  • Offline-first, but always in sync. The most important engineering in the app: a workout must be fully loggable with zero signal, then reconcile cleanly with the backend later — across devices, mid-programme, without ever losing a set. Getting that reliable was months of work, and it's the foundation everything else stands on.
  • Building the data sources from scratch. My own exercise library, and a nutrition database built from Open Food Facts — gigabytes of open data cleaned, reconciled and reshaped — so the running costs stay low enough for a self-funded solo founder to carry, instead of renting someone else's API forever.
  • Trusting the AI with food. An open-food-database 100g reference row was once presented to the model as a real "serving" — fixed with server-derived per-item and per-meal ceilings enforced before and after model output. AI features earn trust through guardrails, not vibes.
  • Being the entire QA department. No device farm, no test team, minimal cash — so I test everything myself, deliberately breaking the app on both platforms before App Review or a real user can.
  • App Review on an IAP-heavy app, as a solo dev, on two stores at once.

Accomplishments that we're proud of

  • The app's first transformation story is its founder: 40kg down, one rebuilt knee, and the product that came out of it
  • AI pointed at real pain, not gimmicks: Loadout kills the unfamiliar-gym problem, Mealprint kills meal-planning fatigue, and coach summaries with adherence ratings give back-to-back PTs their evenings back
  • A true offline-first experience — built that way because real gyms have bad signal
  • Gaining early user feedback, since launch in the middle of august, we are at over 61 users signed up.
  • 496 test suites / 6,248 tests passing, with a 90% coverage bar held throughout
  • A real coach platform (PT + physio roles) most funded competitors don't have

What we learned

Consistency beats intensity — in training and in shipping. The same discipline that lost the 40kg is what shipped the app: small sessions, logged honestly, repeated for years. AI agents changed what one person can build, but they didn't change that.

What's next for Persistence

Attending startup and founder events to help gain experience and knowledge for others in a similar position. I know my strengths and that lies within the tech, but understanding how to build a brand, market the product and gain traction lies with other people. I've already attended the Nottingham tech meetup this September which helped me to gain valuable connections whilst also understand what builds a brand. Building authenticity and trust, in a world of marketing that is swamped by AI generated content feels like the biggest lesson and the main aim that is going to help not just grow my traction in the short term, but give me users confidence and trust as a staple brand. Feedback from these conversations is also informing which proposed enhancements deserve priority.

Growth: advertising, a referral loop, share cards, and our first physical activation — the University of Nottingham freshers fair on 25 September, in front of 14,000 students. As of the deadline for this submission, this was a fantastic success, managing to present and share with many different students, leading to the growth of the brand. Further talks and conversations are to happen in the coming weeks to try and grow this even more.

Then the B2B motion: org seats for gyms and employers, offered as an employee benefit. The market I most want to break into is airlines — cabin crew live out of hotel gyms, changing time zones and unpredictable schedules, which is exactly what Loadout's adapt-to-any-gym generation and Mealprint were built for. If your gym changes every night, Persistence is the app that changes with it. The brand and ethos of my app is to become an everyday brand; a brand that anyone, the hardcore gym goers, the coaches that need to support their peers, or even just those university students who want a bit of structure and guidance in a time where their lives have changed drastically. Persistence is there to help every type of person get consistent and use persistence in their career.

Alongside product work, I'm refining Persistence's brand strategy and have further conversations planned for October. I've secured discounted branded tops with local printing support for in-person outreach. These are concrete steps towards building awareness and learning from people; they are not yet evidence of increased signups or revenue.

Built With

Share this project:

Updates

posted an update —

68 users, and a useful reality check at the gym

Following the freshers fair, I've now taken Persistence into a local gym too. We're at 68 users signed up, and I'm continuing to learn what happens when I put the app in front of people rather than spending another evening behind the code.

There wasn't one big standout conversation. It was more seeing familiar frustrations in front of me: unreliable gym Wi-Fi and people trying to work out together. Those everyday situations made it easier to explain where Persistence could help, and made the app feel more approachable.

Speaking to a PT gave me a useful reality check too. We talked about alternatives such as Kahunas, pricing, and what would actually make someone move away from something they're already using. Having a coach section in my app isn't enough on its own. If someone's already managing their clients elsewhere, I need to give them a convincing reason to switch. That conversation made me realise the PT side needs more work: understanding what makes their day difficult, improving those workflows, and making the value clearer.

The tech is where I'm comfortable. Hearing that something needs to be better after you've spent months building it is less comfortable, but it's exactly why I need to keep having these conversations.

As the submission closes, I'm planning a giveaway and posts through friends with larger audiences who are helping me grow the app user base. Tom is helping with the marketing side too, building on our conversations about trust, authenticity and what Persistence should stand for. Even though the competition is coming towards the finish, this feels like the start of learning how to build the business around the app. 68 users, some encouraging signs, and a clearer idea of what needs improving. Closing one chapter, but something that has truly given me the motivation to start a personal venture.

Log in or sign up for Devpost to join the conversation.

posted an update —

This week, I took my offline feature to new heights and took Persistence “offline” and headed to a university freshers fair to put the app in front of students.

I started the day with 35 followers on the brand’s Instagram and gained over 75 more by the end. I also generated six sign-ups before leaving, with plenty of others taking the details away to explore further.

The best part was talking about how Persistence could fit into student life. Moving to a new city, joining a different gym and finding a new routine made Mealprint and Loadout particularly relevant. Being able to adapt a workout to a different gym gave us something practical to talk about.

I also shared the Train Together feature I’m working on and asked whether it was something they’d use. Getting that early feedback face to face felt incredibly rewarding. An introductory offer and a special university discount helped make getting started more accessible, too.

My biggest takeaway was that the story behind the app matters just as much as the features. Sharing why I’m building Persistence opened up conversations with students and other businesses, and helped me connect with the people I’m building it for.

It was a useful reminder to get out from behind the screen. One event brought new followers, early users and feedback that I can take straight back into development. I'll be following this with the release of the new feature in the coming weeks & tackling another type of audience for the App: the Gym Goers with a stall at the local gym on Monday evening.

Log in or sign up for Devpost to join the conversation.

posted an update —

From a Nottingham founders meetup to a clearer brand direction.

This week felt like honing in on trying to grow the user base and trying to generate revenue through the application. I attended a Nottingham tech meetup to ask peers about potential connections, get an outside perspective on the app, and learn how other founders balance building a product with running a startup alongside their other responsibilities.

That's where I met Tom Walters from Craft (https://www.craftbrand.co.uk/). He had decided to nominate himself for a talk on his new venture and business, and discussed the challenges relating to AI in his line of work. It really hit home with me that whilst AI has been able to elevate and excel my progress in the tech world, here is a scenario where it has actually hurt an industry. We live in a world where AI marketing and branding is being generated at a vast amount and its damaging brands and businesses. Heck, I know I've used it, especially for my initial artwork for my upcoming University event. But the thing that all successful brands have in common is trust and authenticity. Which resonated with me greatly; I want to not only grow my user growth and revenue short term, but become a staple for consumers to trust my application.

So I decided to have a follow up with Tom today, delving deeper into brand archetypes, what type of brand do I want to be? What is the clear promise I am making to my users? For me, I can see it clearly; I want to bridge the gap to those who finding health and wellbeing difficult; provide a more seamless application with nutritional support, a platform for PTs to provide better sessions with more insights.

As well as the above, I've also secured discounted tops for Persistence branding, with local support on the printing, so I can represent the app when I'm out meeting people. It's a small but practical step in building awareness on a limited budget.

Speaking to people has prompted ideas for further enhancements too. I'm capturing the problems behind those suggestions and prioritising them, rather than treating every conversation as a commitment to another feature.

The progress this week is a clearer direction for the brand, new connections and useful challenges to my thinking. Thanks to Tom and everyone who has taken the time to listen and share advice. Next week for me will entail two different avenues; I have a 3 of my 4 evenings booked up with going to present my app to local gyms, show the brand and try gain further traction on the founding offer. On Friday, this same focus will switch to the Nottingham Founders Fair at UoN, something I'm so excited about. The other mission will be to really focus on my marketing and branding strategy, putting myself at the forefront of my product and bringing AI away from the creativity part of it. Even if it did give me sunglasses in a gym setting and made me look cool...

Log in or sign up for Devpost to join the conversation.

posted an update —

Growing Persistence beyond the build

Getting Persistence onto the App Store and Google Play was a big milestone. Now I’m putting time into the other side of building a business: getting it in front of people and working out how to grow it.

The founders’ offer is already live, with posts on LinkedIn and Instagram. Alongside that, I’m preparing for the University of Nottingham freshers fair and using leaflets to take Persistence beyond online posts and into conversations with potential users.

I’m contacting local businesses to explore where the app could be useful, and trying to connect with investors to discuss the business and its next steps. Those are conversations I’m pursuing, rather than partnerships or investment I’ve secured.

I’m also speaking with colleagues and people I’ve worked with in business before, asking for honest feedback and working through practical plans for reaching athletes, coaches and organisations.

This is a new part of the journey for me: learning how to turn the product I’ve built into a business people discover, use and recommend. Over the rest of Shipaton, I want to share what I try, what I learn from those conversations, and which efforts lead to real uptake.

If you’ve grown a fitness product or reached students, coaches or local businesses, I’d love to hear what helped you get those first conversations going.

Log in or sign up for Devpost to join the conversation.

posted an update —

Persistence is live on iOS and Android — here’s what I’ve been working on since launch

Loadout is the quickest way to explain Persistence: photograph the equipment in a gym and build a workout around the kit available. Around that is the rest of the training day—logging the session, planning meals with Mealprint, and connecting a coach’s programme to the work their client records.

Since launch, development has included cardio and backdated workout logging, easier workout reordering, onboarding improvements, and more reliable access when connectivity drops.

The part I want to show more clearly in the final Shipaton stretch is how these pieces fit together: the athlete doing the work and the coach seeing what happened.

Here’s the two-minute demo: https://youtu.be/o1Z8Y3N1WyI

If you’re trying Persistence, I’d love feedback on the training flow and how clearly the coach side comes across.

App Store: https://apps.apple.com/us/app/persistence-coach-train/id6755091280

Google Play: https://play.google.com/store/apps/details?id=com.bradleyevans96.persistence

Log in or sign up for Devpost to join the conversation.

Submission history