Inspiration
Finding medicine is not always as straightforward as knowing what medicine you need. A patient may have to visit or call multiple pharmacies to find out whether a particular drug is available, compare prices, and determine how they can get it. We wanted to explore whether we could make this process simpler by bringing medicine discovery, pharmacy availability, price comparison, and ordering into one place.
This led to FindUrDrugz, a mobile application designed to connect users with nearby pharmacies and help them find the medicines they need more conveniently.
What it does
FindUrDrugz allows users to search for medicines and view pharmacies where they are available. Users can compare prices and find nearby options based on their location. Once they find what they need, they can either place an order for delivery or reserve the medicine at a pharmacy for pickup.
The platform also provides pharmacies with a way to manage their medicine inventory and make their available stock visible to potential customers. We also incorporated a subscription model that allows premium users to access benefits such as reduced delivery fees.
How we built it
We built FindUrDrugz as a mobile-first application using Kotlin and Jetpack Compose for the Android frontend. The mobile application communicates with a Node.js and TypeScript backend through a REST API. The backend handles application logic, user requests, pharmacy and medicine data, inventory, orders, and delivery-related functionality.
We used PostgreSQL for persistent data storage and integrated RevenueCat to manage subscriptions and premium entitlements. We designed the system as separate frontend and backend components so that the mobile application could communicate with the application's core services through a structured API.
Challenges we ran into
One of our biggest challenges was deciding what to include in the MVP. We initially had a much broader vision for the application, including more advanced AI functionality and integrations with pharmacy systems. However, implementing and integrating these features within the available time would have taken focus away from the core problem we were trying to solve.
Data availability was another challenge. Pharmacy inventory information is particularly important to the application, but obtaining reliable, up-to-date stock information is not straightforward. We therefore had to think carefully about how pharmacy inventory would be represented and managed while keeping the system practical for the MVP.
We also had to deal with the complexity of connecting several different components — the Android application, backend, database, and subscription system — while developing under a tight deadline. This forced us to prioritize functionality, simplify some of our original ideas, and focus on getting the core user journey working.
Accomplishments that we're proud of
We are proud of turning an initial idea into a working MVP with a complete core user journey. Rather than building a collection of disconnected features, we focused on creating a system where a user can go from searching for a medicine to finding an available pharmacy and choosing how they want to obtain it.
We are also proud of the way we integrated different technologies into one application. The project required us to work across mobile development, backend development, databases, APIs, and subscription management. Bringing these components together gave us practical experience with building a system that goes beyond a standalone mobile application.
What we learned
One of the biggest lessons we learned was the importance of building around the MVP. It is easy to keep adding ideas to a project, but every additional feature introduces more development, testing, and integration work. We learned to distinguish between what is essential to solving the problem and what can be developed later.
We also learned more about designing and integrating a full-stack application. Working with Kotlin on the frontend and Node.js and TypeScript on the backend helped us understand how different parts of an application communicate and depend on one another. Most importantly, the project taught us that building a good product involves much more than writing code — it involves understanding the problem, making trade-offs, working with imperfect data, and continuously adapting the original idea as we build.
What's next for FindUrDrugz
The current version of FindUrDrugz is an MVP, and there are several areas we would like to develop further. We would like to improve pharmacy integration so that stock information can be updated more reliably and in real time. We also see opportunities to improve medicine search and recommendations using AI, particularly for handling alternative names, misspellings, and related medicines.
Future versions could also include online payments, order tracking, notifications, pharmacy-side analytics, more advanced subscription benefits, and broader pharmacy coverage. Our long-term goal is to turn FindUrDrugz into a more comprehensive platform for discovering and accessing medicines while making the process more convenient for both patients and pharmacies.
Built With
- android
- git
- jetpackcompose
- json
- kotlin
- node.js
- postgresql
- revenuecat
- typescript
Log in or sign up for Devpost to join the conversation.