Inspiration
The idea first came when I moved into my new college dorm and decided to decorate with plants. What I didn’t realize at the time was that living on your own also means you’re solely responsible for keeping those plants alive.
I failed miserably at this. My plants have been on the brink of annihilation more times than I’d like to admit. To put it simply, they were an afterthought. That’s when I tried plant care apps like Planta and PictureThis. What I really wanted was something simple: a way to keep track of care tasks and an AI-powered tool to help diagnose my plants, and at a reasonable price.
The problem? Those apps had the features I wanted, but also a trillion extras I didn’t need, and all at a not so reasonable price. So, I decided to take matters into my own hands. With my only prior development experience being a Minecraft client I built three years ago, I figured it was time to take the leap and become an iOS developer.
The goal was to create the perfect plant care app for me: a simple tracker supercharged with AI for plant diagnosis.
What it does
In a nutshell, the app lets you snap a picture of your plant to get a diagnosis. You can save the results, track changes over time, and set up care reminders.
How we built it
The app is built with Swift, Supabase, and GPT‑4o‑mini for diagnosis.
I started by vibecoding the UI. Once I had a base to build on, I focused on properly setting up Supabase and OpenAI while continuing to iterate on the frontend. Honestly, this would not have been possible without leaning heavily on AI tools.
When the MVP was ready, I entered a cycle: use the app, find problems, fix them, repeat. This loop eventually shaped the app into something halfway decent. The final stretch was integrating RevenueCat and creating an onboarding flow. Technically, this wasn’t too hard, but I spent a lot of time researching other apps to figure out what actually converts, both for onboarding and the paywall. RevenueCat’s templates + web editor made this way easier. On top of that, I spent 1.5 days learning Blender just to make a 3D animation for the welcome screen (its also the demo video if you want to check out now). Was it frustrating? Absolutely. Was it necessary? Not really. But it was a lot of fun.
Challenges we ran into
As a brand‑new developer, there were plenty of “this is hell” moments. While I was comfortable letting AI handle much of the frontend, I wanted to understand Supabase. That meant spending hours in their dashboard trying to figure out the most basic stuff. It was not easy, but from a learning perspective it was a really valuable experience.
Another big challenge was realising just how saturated the “AI scanner” market had become. I hadn’t done much market research up front, and when I was 99% done, I discovered I wasn’t nearly as early as I thought. This hit my motivation hard. For a while, I considered not submitting to the Shipathon at all. I felt like my app was just “AI slop” and not worth sharing. But in the end, I pushed forward and launched because you never know what can happen.
Accomplishments that we're proud of
As of now, PlantMD has made $195 in revenue, which comes out to $139 in proceeds. Not life‑changing money, but it’s the first “internet money” I’ve ever made. More importantly, it’s something I never thought would happen. My original plan was to go heavy on marketing, but after losing motivation at launch, I basically just left it there. Even so, organic traffic brought in sales and proved my pessimism wrong.
What we learned
This is the first iOS app I’ve ever released, and I learned a ton about development. I also gained valuable insights into the legal and operational side of publishing on the App Store. Most importantly, I realized that indie development is not just a gimmick, it’s genuinely possible.
One key takeaway: I need to spend way more time on planning and market research for future apps. I wasted a lot of time going back and forth on things like colors and layouts. Better planning would have saved me from that.
What's next for PlantMD - Plant Doctor
I’m currently working on v2 of PlantMD. Honestly, I was hoping to finish this version before the deadline because it’s light years ahead of v1. The focus for v2 is adapting to iOS 26 and making the app something I can confidently stand behind. It includes a complete UI redesign, a new social tab for friends, and major improvements to the core diagnosis functionality. Looking forward, I also want to explore SLMs and whether I can build a specialized one for plant care.
It’s a bit of a bummer I didn’t finish v2 in time, but if you’re reading this; be ready!
Overall, this project has been an incredible experience, and I want to thank the RevenueCat Shipathon team for this amazing opportunity!
Built With
- openai
- revenuecat
- supabase
- swift
Log in or sign up for Devpost to join the conversation.