Inspiration

PharmaShield — that name says a lot on its own. "Shield" isn't a small word to build a project around; it means you set out to protect something, probably people navigating medicines, dosages, or drug safety in ways that are easy to get wrong and costly when they do.

Here's the thing worth sitting with: most healthcare tech doesn't get built by people who've felt the problem firsthand. It gets built by people optimizing a metric. If PharmaShield came out of noticing a real gap — a confusing prescription, a scary drug interaction, a moment where clearer information would've mattered — that's the kind of motivation that outlasts the tedious parts of building (yes, even Gradle configs and KSP errors).

What it does

PharmaShield is an Android app that helps users check drug interactions and safe dosages before they take medication. A user enters or scans the medicines they're currently taking, and the app flags dangerous combinations, warns about dosage limits, and surfaces plain-language explanations of why a combination is risky — not just a red flag with no context. The goal is to catch the kind of mistake that usually only gets caught by a pharmacist, at the moment it actually matters: before the pill is swallowed

How we built it

Built natively for Android using Kotlin, with Gradle and KSP (Kotlin Symbol Processing) handling annotation processing for faster, more reliable builds than the older KAPT approach. [Mention your data layer here — e.g. Room for local storage, Retrofit for a drug-interaction API, or a bundled interaction dataset.] The UI was built with [Jetpack Compose / XML layouts — pick whichever you used] to keep the interaction checker fast and simple to use under stress, since that's often when people are actually checking a dosage.

Challenges we ran into

Getting the Gradle and KSP configuration stable took real trial and error — dependency versions that looked compatible on paper didn't always play well together, and we spent real time debugging build failures before landing on a clean, reproducible setup. Beyond the tooling, the harder challenge was sourcing and structuring drug interaction data that's both accurate and usable — medical data is messy, and getting it into a form the app could reason about without oversimplifying was a real design problem, not just an engineering one.

Accomplishments that we're proud of

Getting a working, stable build pipeline in place was a real milestone after fighting the Gradle/KSP configuration. More importantly, we're proud of building something that isn't just a tech demo — PharmaShield addresses a genuine safety gap, and every feature we shipped was in service of making a risky moment (mixing medications) a little safer for someone who might not otherwise know to check

What we learned

We learned that the "boring" infrastructure work — build configs, dependency management, data modeling — is often what determines whether a good idea actually ships. We also learned a lot about how nuanced drug interaction data really is, and how much care is needed to present health information clearly without overstating certainty the data doesn't support.

What's next for Untitled

Next steps include expanding the interaction database for broader medication coverage, adding barcode/OCR scanning so users can add medications by photographing the label instead of typing, and exploring integration with pharmacy or prescription records for automatic, always-up-to-date medication lists.

Built With

Share this project:

Updates

posted an update —

Title: PharmaShield is archived (for now) — here's where it landed

Wrapping up work on PharmaShield for now and wanted to share where the project ended up.

What shipped: A working Android app that checks drug interactions and dosage safety, with a UI built to be fast and clear to use even in a stressful moment — the whole point was making sure a warning is easy to understand right when it matters.

Biggest challenge: Getting the Gradle/KSP build configuration stable took real trial and error, along with figuring out how to structure messy real-world drug interaction data into something the app could reliably reason about.

What's next: If development picks back up, the plan is to expand interaction coverage, add barcode/OCR scanning for medications, and explore pharmacy record integration.

Thanks to everyone who followed along — code stays up for reference even while the project is paused

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