This was not supposed to be the app I launched

I was a complete beginner, a know-nothing-at-all non-techie having what could generously be described as a midlife crisis, armed mainly with an idea, an irresponsibly supportive partner and the chaos that is the zoo.

I had six other project ideas that I actually intended to release.

My Pet Life Manager was supposed to be a quick little tool for myself.

The words “quick little tool” have since acquired the comic timing of a delayed tax audit.

Inspiration: Quest

Shortly after losing my job—because apparently life felt the existing plot lacked sufficient range—my horse Quest developed what looked like a fairly ordinary eye ulcer.

It then decided that “ordinary” was an insufficiently ambitious diagnosis.

Her eye deteriorated rapidly. She began losing her sight and ultimately required life-saving surgery, because apparently even her cornea was determined to make the situation as dramatic as possible.

Her treatment involved our local equine vet, an eye specialist, the stable yard manager, grooms and family members. Medication had to be administered at very specific times. Treatment instructions changed regularly. Photos and videos had to be sent to both vets every day so they could monitor her progress.

At one point, I had 36 medication tasks to keep track of.

The system managing all of this was essentially me, my phone and an increasingly concerning level of panic.

Important instructions existed across WhatsApp messages, telephone calls, notes, prescriptions and different people’s memories.

“I told someone in the group” is apparently not a recognised healthcare information-management system.

Then came the administrative side.

An equine medical crisis, I discovered, includes complimentary finance, pharmacy, insurance and logistics departments.

I was all four.

The costs climbed towards R100,000. Bills arrived from different providers. I needed to remember which had been paid, which still needed payment, which had been submitted to insurance and which supporting documents went with which claim.

There were prescriptions to collect, medication to reorder, invoices, policy documents, claim forms, veterinary reports, photographs, videos and treatment schedules.

Somewhere amongst all of this, I was also supposed to concentrate on the actual horse.

That was when reminders, expense tracking, medication schedules, care records and one safe place for important information stopped feeling like “nice app features”.

They became the app I needed to exist.

At the worst point, Quest needed 13 different eye drops every two hours, with five minutes between each drop.

That meant repeating the entire 13-drop routine 12 times every 24 hours, while medications changed, new prescriptions arrived, bills accumulated, and twice-daily photo and video updates moved between the local vet, eye specialist, yard manager, grooms, my partner, family and friends.

I showed Quest’s eye specialist my idea: one place where I could update everyone at once, where she could update medication schedules after reviewing the uploaded videos, and where everyone already involved in Quest’s care could know what was happening without everything passing through the broken-telephone department first.

So I could perhaps sleep for an hour every other day, which seemed an ambitious but not entirely unreasonable wellness strategy.

She became genuinely excited about it.

Then she asked the question I hadn't really considered:

“Will it be available on Android?”

This was both lovely and inconvenient.

Then she said she would happily pay for it—and considerably more than I expected.

Which introduced the deeply troubling possibility that my quick little personal tool might actually be useful to other people.

And, given the aforementioned unemployment situation, possibly useful to me too.

Not long afterwards, I discovered Shipaton.

I entered late, unemployed, with no software-engineering experience—or, frankly, any meaningful computer-related experience whatsoever—an unrealistic goal and a deadline.

A collection of circumstances traditionally associated with excellent decision-making.

The Replit Ship Kit discount helped make it possible for me to actually try.

What started as a tool for one very loved horse became something I now hope can make caring for animals a little less chaotic for everyone else.

What I built

Pet care has a habit of distributing itself across your entire life.

Someone remembers when the farrier last came.

When did we last deworm?

Who needs Bravecto this month?

Nobody remembers who took those X-rays. The scans have disappeared. The vet report is in an email. The medication instructions are on WhatsApp. The vaccination certificate is in a drawer. The intermittent-limp video is somewhere amongst 4,000 photographs of your animal doing absolutely nothing.

Then there are the questions I really don't want to be answering for the first time during an emergency.

What is my horse insured for?

Does this classify as critical care?

Where is the policy?

Where is the vet report?

Where is everything?

So I built My Pet Life Manager to bring an animal’s care, records, people and memories into one shared space.

I wanted one place where I could create a profile for each animal and build a chronological lifetime record containing:

  • Health and veterinary records
  • Blood and laboratory results
  • Medication, prescriptions and schedules
  • Bills, invoices and insurance documents
  • Microchip and passport details
  • Feeding and care instructions
  • Grooming and farrier records
  • Competition results
  • Photos, videos, audio and PDFs
  • Birthdays, important dates and memories

I deliberately did not want to build something that was only about illness.

Somewhere between the birthday photo and the emergency blood result sits the actual life of the animal.

And I wanted somewhere for that too.

Shared care without sharing everything

Quest made it painfully obvious that caring for an animal is often a group activity.

So I built controlled collaboration into the app.

I can invite the people involved in an animal's care and control what access they have. I can also send a revocable read-only link to a vet, pet sitter, family member or other caregiver when they need information without needing full access to the account.

Because my farrier may need information about my horse.

They probably do not need administrative authority to delete the horse from existence.

Reminders everyone can actually see

I also built shared checklists and reminders for medication, treatments, appointments, bills and recurring responsibilities—including the grooming appointments I apparently remain genetically incapable of remembering.

Tasks can repeat automatically and apply to multiple pets.

But the important part for me was not simply creating another reminder.

I needed everyone involved to be able to see what had already been done.

That helps reduce missed tasks, duplicated medication and the highly technical care-management protocol known as:

“I thought you were doing it.”

How I built it

There was one minor obstacle.

I had never built an app.

My background is in horses, job evaluation, HR consulting and corporate training. Mobile software development had somehow failed to appear in the syllabus.

I built My Pet Life Manager in Replit, using AI-assisted development extensively, and used ChatGPT to help me understand unfamiliar technical concepts, troubleshoot problems and translate what I wanted into something marginally more useful than:

“Why is this button doing that?”

I used RevenueCat for subscriptions and commercialisation, with Rico AI helping enormously while I tried to understand an entirely unfamiliar part of mobile development.

My development cycle became:

  1. Build something.
  2. Test it.
  3. Break it, but properly.
  4. Try to fix it.
  5. Discover the fix has offended something completely unrelated.
  6. Break it badly enough that Replit Support has to get involved.
  7. Somehow break it again.
  8. Return to Step 1.

There was usually a brief false sense of security somewhere between Steps 2 and 3.

Eventually my “quick little tool” required accounts, subscriptions, controlled sharing, media storage, recurring reminders, timelines, notifications and approval from some of the largest technology companies on Earth.

Version 1.0.1 is now live on the Apple App Store.

Android is currently completing its Google Play testing period.

Apple is therefore distributing software I made to members of the public.

I remain mildly surprised this was allowed.

Challenges I faced

I originally thought building the app would be the difficult part.

This was adorable.

Eventually I pressed Publish and briefly believed I had published an app.

Ha.

“Publish”, it turns out, does not mean “publish to the App Store”.

Then came Apple Developer, identity verification, TestFlight, sandbox purchases, builds, certificates, submissions and an alarming number of keys apparently responsible for authenticating other keys.

For roughly my first 27 hours of submission attempts, my Mac kept crashing.

I naturally blamed the Mac.

Thirteen failed attempts and several professional temper tantrums later, I finally read the literal first instruction:

Use one device.

I had not been using one device.

Useful.

Eventually Build 4 successfully reached App Store Connect.

It crashed before the app even opened.

Before.

Opening.

The app.

So I made Build 5.

Then I discovered I didn't speak technology

While struggling, I joined every webinar I could, watched every YouTube video and tutorial I could find, and spent an unreasonable amount of time in Discord.

This created another crisis.

Had I actually entered Shipaton correctly?

Had I selected Build in Public?

Was I even entered on Devpost?

I lost roughly another 24 hours rereading the rules before remembering that I had received the Ship Kit, which seemed reasonably persuasive evidence that I had entered something.

The bigger learning curve, though, was language.

One beginner-focused video reassuringly explained that anyone could build an app without coding.

Fantastic.

Then, almost in the same breath, came:

“Everyone here obviously knows what a paywall is…”

I did not obviously know what a paywall was.

There it was.

The problem.

Many beginner guides are written for beginners who already speak technology.

I am a specialist in job profiling and evaluation and previously headed a training department. I can talk about KPAs, KPIs and evaluation methodology in my sleep.

I can also talk dressage: travers, renvers, piaffe, passage and pirouettes.

That does not make those terms beginner language.

Imagine I wrote a beginner dressage guide like this:

Step 5: Perform renvers in collected trot right from K-E-V.
Step 6: Half-pass left in passage from V-D.

Simple.

Why are you struggling?

That is what “Step 5: Create a paywall” felt like to me.

That is not a step. That is an entire foreign country disguised as a bullet point.

Then I got an actual user

Eventually Version 1.0.1 went live on the App Store.

Then Android closed testing began.

My first tester messaged me on Discord.

Actual user feedback.

Exciting.

The Google Group invitation link did not work.

Apparently app development is absolutely the right career for me, given that I had successfully released an iOS app but could not, at that moment, successfully build a Google Group.

Sometimes progress is a functioning mobile application standing next to a broken invitation link.

The things I thought would be simple weren't

Controlled sharing and recurring care were technically challenging.

Pet records can include medical and financial information, so I needed granular permissions rather than “everyone sees everything.”

Shared medication tracking also had to be reliable because duplicated care can have consequences far beyond forgetting to tick a box.

And reminders.

Checklists are great.

Setting reminders sounds like a lovely idea.

Getting my app to make a #%& noise/sound/vocal/beep-beep at alert time, on someone's phone, while the app is inactive?

That will get you.

Every apparently simple feature revealed another layer.

Build something.

Test it.

Break something.

Fix it.

Discover the fix has offended something unrelated.

Repeat.

What I'm proud of

  • I shipped a real commercial mobile app despite starting with no software-development experience. My Pet Life Manager is live on the Apple App Store, with Android in Google Play testing.

  • I built controlled sharing and access levels. I can give different collaborators different levels of access, and I built revocable read-only sharing for people who need information without needing control of the animal's profile.

  • I got subscriptions working. I went from not knowing what a paywall was to building and configuring one using RevenueCat.

  • I built recurring shared care. Medication, appointments and other responsibilities can repeat, apply across multiple pets and be visibly completed so everyone involved knows what has already been done.

  • I learned that Publish does not mean Publish to the App Store.

  • I learned that republishing and building are different things.

  • I learned that builds and versions are also different things.

Obviously.

But mostly:

I actually got an app out there.

I went from horse rider and complete software-development beginner to someone with a working app on the Apple App Store.

That remains a sentence I wasn't expecting to write this year.

And yes.

I finally know what a paywall is.

What I learned

I learned that building software as a complete beginner is possible.

I also learned that “possible” and “easy” are extremely different words.

AI tools dramatically lowered the barrier that allowed me to start building software, but I discovered fairly quickly that they did not remove the need for me to understand what I was building.

Eventually I had to learn enough about authentication, permissions, subscriptions, builds, versions, testing, notifications, app-store requirements and data handling to make sensible decisions when something went wrong.

And something went wrong.

Usually immediately after something else finally started working.

I learned that checklists are lovely and reminders sound simple until I need someone's phone to make a #%& noise at the correct time while my app is inactive.

I learned that “publish”, “build”, “version” and “release” are not synonyms.

I learned what a paywall is.

I can even design one in RevenueCat now.

Approximately 32 more repetitions and I expect to be able to do it without supervision.

Most importantly, somewhere during all of this I realised I wasn't incapable of learning technology.

I was learning an entirely new specialist language while simultaneously building and releasing a commercial mobile application.

That is a rather different problem.

Also:

Do not quit your day job.

It's not as easy as it looks.

Oh wait.

What's next

First:

Android.

Preferably without me discovering another entirely new interpretation of the word “publish”.

My immediate goal is to complete the Android release and get My Pet Life Manager into the hands of more pet owners and caregivers.

Then I want to keep improving shared care, reminders and the lifetime record, and learn from how people actually use what I've built.

I want to make the complicated parts of caring for animals easier to manage without turning the app into something that feels like a clinical records system.

Because my goal hasn't really changed since Quest.

I want one place where I—and the other people caring for an animal—can understand what is happening, what has already been done, what still needs doing, and where the important information actually is.

What started as the app I desperately needed for one horse has become something I hope can make caring for other people's animals a little easier too.

And hopefully:

Version 3, my sanity, someone actually paying for the app, and prize money.

Not necessarily in that order.

Built With

  • ai
  • chatgpt
  • replit
  • revenuecat
  • supabase
Share this project:

Updates

posted an update —

I am still really set on donating all profit to an animal shelter for at least the first 12 months, for any and all subscriptions to My Pet Life Manager, and am working really hard to just get replit to pubbbblish the changes and sort out the issues. If anyone has any suggestions for the top 10 animal shelters/rescue centres to look at, please send them!

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

posted an update —

So Pet Life Disaster ended up still not being able to publish my updates to App Store Connect, with trying and failing for more than 30 days total with this STUPID app and a whole school of replit support members that cannot sort out issues with 4 apps and thousands of dollars and not one successful story was had... At least my horse survived, and I managed to become an actual app developer, despite challenges, and shipped an app to android and iOS, within the 2 weeks that I could work on it without issues... SO I am donating all my profit to an animal shelter in honour of my Quest getting through this, and me becoming a success, even though it cost me 4 non-submissions, no categories entered no matter what I tried and a chance at any career starting after my job loss definitely not looking great... But my horse and her determined mother still managed to create and ship something in a week, that now can hopefully be useful to others like it still is to me... I would love it if people could help vote which shelter/rescue centre gets all the profit as well pls

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

Submission history