Inspiration

Our inspiration for Medmobi came from the importance of making healthcare more accessible and convenient for everyone. We recognized that people may sometimes forget to take their medications, while others living in areas with limited access to pharmacies may struggle to obtain the medicine they need. We wanted to develop a solution that could help address both of these challenges through technology.

By combining medication reminders, an AI-powered chatbot, and a prototype medicine vending machine, we aimed to make managing medication easier and improve access to non-prescription medicines.

What it does

Medmobi is a mobile application designed to help users manage their medication intake more effectively. Its built-in medication tracking system sends timely reminders to help patients take their medications as scheduled, reducing the risk of missed doses. The app also features an AI-powered chatbot that allows users to ask questions and seek general information about medical concerns.

In addition to the mobile application, we have developed a prototype of the Medmobi Vending Machine, a vending machine designed to provide access to non-prescription medications. Equipped with an interactive screen running the Medmobi kiosk application, the machine will allow users to inquire about available medications and identify options that may suit their needs. Users will be able to sign in to their account through the kiosk as well, making the suggestions by the chatbot tailored for each user. By making non-prescription medications more accessible, the Medmobi Vending Machine aims to help address challenges faced by individuals living in areas with limited access to pharmacies.

How we built it

The frontend is written in React-Native, Expo, and Typescript. We organized the project into separate parts so the frontend and backend could be developed independent. We started with the dashboard, creating a user-friendly interface that displays daily medications and tracks completion progress. We developed reusable components, such as MedicationCard, and used React's useState hook to manage medication statuses, allowing users to mark doses as taken and see their progress update automatically. We used immutable state updates to keep medication data consistent and TypeScript to improve code reliability. After completing the dashboard's core interactions, we moved on to developing the schedule screen, tackling one feature at a time to keep the code organized and maintainable.

The backend is written in TypeScript on Node.js, using Express for the API and Prisma to talk to a PostgreSQL database hosted on Neon. We used Zod to validate requests, bcrypt to hash passwords, and JSON Web Tokens for login. The medication catalog was imported from a public dataset(in citation) with a script (csv-parse). We used Git and GitHub for version control and curl to test the API.

Challenges we ran into

Accomplishments that we're proud of

We're proud that we were able to successfully implement all the features we envisioned for our application. As this was our first time developing a full-stack application, we initially underestimated what we could accomplish within a single weekend. From designing the front-end and developing the back-end to integrating both components and connecting the application to a database, we were able to bring our ideas to life in a fully functional application. Completing all these tasks within such a short timeframe was a significant achievement for our team. This experience gave us the confidence to take on more complex projects and showed us what we could accomplish through teamwork, determination, and a willingness to learn.

What we learned

Apart from learning to use new tools and technologies to develop our software, we also learned the importance of teamwork, collaboration, and perseverance. Throughout the development process, we faced various challenges, from resolving bugs to managing tight deadlines. These experiences taught us how to communicate effectively, support one another, and work together toward a common goal. Despite the obstacles we encountered, we learned to remain patient, adapt to unexpected problems, and persevere until we found solutions. This project showed us that successful software development requires not only technical skills but also strong teamwork, effective communication, and a shared commitment to overcoming challenges.

What's next for Medmobi

  • Putting Medmobi kiosk application into actual use in a real vending machine.
  • Potentially partnering with pharmacies to allow users to contact professional pharmacists through telecom.

Citations

Gawbah, Hezam (2024), “MID: Medicines Information Dataset”, Mendeley Data, V3, doi: 10.17632/2vk5khfn6v.3

Share this project:

Updates

Submission history