Turning a fragmented, real-world problem into a shipped mobile product, owned end to end: product strategy, mobile UX, and solo engineering.
Explore HorseKeeper ↗Feed plans change. Farrier and veterinary appointments need to be tracked. Health records and documents need to be accessible. Supplies run low. Expenses accumulate. Vaccinations expire. Yet much of that information still lives across:
I experienced this fragmentation firsthand while managing horses at my own ranch. What started as an observation became a product question:
“What if everything needed to manage a horse could live in one place?”
That question became HorseKeeper.
Important information was scattered across physical and digital places: feeding instructions on whiteboards, veterinary information in paperwork, appointments on calendars, and reminders dependent on memory. The original research explored existing barn workflows through conversations with horse owners, observation of barn-management practices, my own experience managing horses, and analysis of existing equine-management products. A consistent pattern emerged:
“Horse care generates a lot of information, but that information is rarely connected.”
The problem wasn't simply record keeping. It was being able to find and act on the right information when it mattered.
The initial vision was broad. Horse care involves owners, barn managers, veterinarians, farriers, trainers and other service providers, and my early exploration looked at how a centralized platform might connect this larger ecosystem. But building a useful product required prioritization. Instead of trying to solve every problem in the equine ecosystem at once, I focused the first product around a much clearer user: the everyday horse owner. The goal became:
“Create a simple mobile tool that gives horse owners one place to organize, manage and act on the information they need to care for their horses.”
HorseKeeper needed to work differently from a traditional desktop application. Horse owners aren't sitting at desks when they need this information. They're standing in stalls, holding lead ropes, talking to veterinarians, buying feed, scheduling farriers, or checking something from the pasture. That made HorseKeeper mobile-first from the beginning. My early design principles included:
The original concept specifically considered one-handed use and visibility outdoors, because the product needed to work where horse care actually happens.
One of the biggest design challenges wasn't an individual feature. It was information architecture. A single horse can have identification information, feed plans, veterinary records, farrier visits, documents, service providers, expenses, supplies, appointments and reminders. Multiply that across several horses and the complexity grows quickly. I designed the experience around a simple mental model:
Start with the horse.
Each horse becomes the anchor connecting the information associated with its care. From there, HorseKeeper organizes information into focused areas that make it easy to move between the horse and the jobs owners need to accomplish. This allowed a complicated care ecosystem to feel much more manageable on a small screen.
This is where HorseKeeper became very different from a traditional portfolio project. Using React Native, Expo and Supabase, I took HorseKeeper from product strategy and UX design through front-end development, data architecture, testing and production release. AI-assisted development became part of my workflow, helping me move between product thinking, design and implementation while still making the product decisions myself.
That experience changed the way I think about design. I wasn't handing a specification to engineering. I had to experience the consequences of my own decisions:
That created a much tighter relationship between design intent and technical feasibility.
The product allows owners to manage:
HorseKeeper isn't simply a place to store information.
The information is actionable.
Owners can call or text service providers, share information, print schedules, receive reminders and access important records when they need them.
Instead of asking only “Does this make sense in a prototype?” I could start asking “What are people actually doing?” I integrated analytics, monitored product stability, listened to user feedback and watched where people progressed or dropped off. Those signals influenced subsequent releases. Some ideas were expanded. Others were simplified. And some, including concepts from the original case study such as dedicated training logs, were intentionally left out of the current product and remain potential future opportunities. That distinction became an important part of product ownership:
A product vision can be expansive. A product roadmap has to be selective.
I continued improving the product through multiple production releases, adding and refining capabilities based on real-world use. Enhancements included improved navigation, supply management, recurring services and expenses, document sharing, expiration reminders, notification preferences, birthday reminders, printing schedules, upload feedback, friendlier error handling, automatic age calculations, and dashboard improvements.
Instead of treating launch as the outcome, I treated HorseKeeper as a living product.
Since launch, the product has attracted real horse owners, generated ongoing usage, converted users to paid subscriptions and remained highly stable through continued releases.
For me, that is the most important outcome of the project. HorseKeeper gave me the opportunity to own the complete product lifecycle rather than one portion of it.
My original vision included owners, barns, trainers, veterinarians and a much broader set of capabilities. Building the actual product forced me to distinguish between what could be built and what should be built now.
Building my own designs made engineering constraints tangible rather than theoretical.
Once people began using HorseKeeper, analytics and feedback became another form of research.
A polished prototype can demonstrate an idea. A production product has to survive real users, real data, edge cases, errors, releases and continuous change.
“Product design doesn't end when the design is handed off. The real learning begins when people start using what you've built.”
I researched it. I defined the product. I designed it. I built it. I launched it. Then I learned from what happened next.