Inspiration
Dent-in started with my mom. She struggled to remember to take her medication consistently, and that got me thinking about how easy it is for patients to fall off track after treatment not just missing doses, but unknowingly contributing to drug resistance. Looking at the existing healthcare app landscape, I noticed most tools were built for administrators and clinics, not for the patients actually going through treatment. That gap nothing designed around the patient’s day-to-day experience is what pushed me to build Dent-in.
What it does
Dent-in is a patient-companion app that supports people before, during, and after dental treatment. It reminds patients to take their medication on schedule and to book follow-up appointments, so nothing slips through the cracks. It also includes an oral health scanner that can detect symptoms as a minor diagnostic aid not a replacement for a dentist, but a way to help patients gauge whether their condition is normal, needs monitoring, or is urgent enough to seek care immediately.
How we built it
The frontend was built as a deliberate, faithful mirror of a real backend architecture rather than a disconnected mockup. On the backend side, the plan is a Spring Boot REST API handling patients, dentists, appointments, prescriptions, and teeth-scan analysis records in one unified service layer. To move fast without waiting on every backend endpoint to be finished, we built an in-browser API layer that replicates the backend's services field for field, including the same appointment slot-conflict rule used by AppointmentService same dentist, same date, same time, and not already cancelled, gets rejected and the same response shape as the scan analysis service, TeethScanService.analyzeScan. Every simulated call is logged live in a debug panel, the same way a real API log would read, which made it easy to verify behavior before the two sides were wired together.
Challenges we ran into
Keeping two interfaces in sync turned out to be harder than expected. The admin console includes its own embedded copy of the patient dashboard so staff can preview exactly what a patient sees, which meant every patient-facing change the medication checkbox, the triage banner, the maps card had to be applied in both places. We learned that the hard way when a medication-tracking fix shipped to the patient app but was missed in the admin's embedded copy, leaving a button that looked functional but silently did nothing. Designing triage rather than just a score was its own challenge, since a health score by itself is passive; deciding where the line between "needs care soon" and "needs care now" sits, and making sure crossing that line actually changed what the patient saw, took more iteration than the score calculation itself. Cascading data correctly was another hurdle removing a patient from the clinic console had to clean up their appointments, scans, prescriptions, medication logs, and login credentials together, or the system would end up with orphaned records that other screens didn't expect to see. And as with any hackathon, time constraints meant prioritizing a working triage and adherence flow end to end over a longer list of shallower features.
Accomplishments that we're proud of
We’re proud of how the project came together as a team. More than the build itself, we’re proud that Dent-in was made with genuine care for people who often get overlooked those without easy access to a dentist, and those who simply don’t have much dental health knowledge to begin with. We wanted to tackle two problems at once: improving access to care in remote or underserved areas where doctor availability, diagnostics, and emergency support are limited, and making health knowledge more engaging, culturally relevant, and actionable instead of clinical and hard to relate to. Beyond the app itself, we’re proud to have found a team that shares the same drive to build something that actually helps people.
What we learned
The biggest lesson came from how we scoped the MVP itself. We didn't start by trying to build every feature at once; we started by asking what the smallest version of Dent-in would be that could still change someone's outcome, not just show off a scan. That turned out to be a single loop: a patient submits a scan, gets a score, and if that score is bad enough, the app has to do something about it immediately. Everything else booking, prescriptions, the admin console came after that loop worked end to end, because a beautiful dashboard with no triage behind it wouldn't actually help anyone in an emergency.
Once that core loop existed, we added features in the order patients would actually need them, not in the order they were easiest to build. Medication tracking came next, because a scan result means little if the treatment after it gets forgotten within a few days. Manual prescription entry for clinic staff came in alongside it, since we were honest with ourselves that the AI side wasn't going to be reliable enough at hackathon speed to be the only way a prescription could reach a patient a real clinician typing it in had to work just as well. Only after the patient-facing loop was solid did we build out the admin console, because staff tooling is only useful once there's real patient data worth managing.
What's next for Dent-in
Looking ahead, our focus shifts from the product to the people it's meant to reach: bringing Dent-in to communities where dental care is hardest to access, not just to patients who already have a dentist on speed dial. That means partnering with community health centers and local clinics so a scan and a triage alert are available to someone even before they can afford a proper check-up, running outreach and simple education around early warning signs so families act before a problem becomes an emergency, and keeping the app usable for people with limited data plans, older phones, or low digital literacy, since the people who most need an early warning are often the ones least likely to have the newest device. Ultimately, we want Dent-in to be judged not by how advanced its AI is, but by how many people in the community it reaches before their next dental emergency happens.
Built With
- api
- css3
- dom
- es6+
- html
- html5
- java
- javascript
- localstorage
- springboot
Log in or sign up for Devpost to join the conversation.