Inspiration
In Bangladesh, the same active ingredient is sold under many brand names. When a parent sees several doctors, families may struggle to recognize what overlaps across prescriptions. Combination products make this harder: Naprosyn Plus contains esomeprazole, also found in Sergel, although the brand names look unrelated.
DoseCheck asks a practical question: can we make the whole medicine bag understandable before a family speaks with a pharmacist?
What it does
Build one list for one person, confirm each product's name, strength and form, and note which prescription it came from. DoseCheck compares active ingredients and selected WHO ATC drug-family groups.
The fictional “Ammu” example (“Mom” in Bangla) demonstrates two distinct findings: esomeprazole shared by Naprosyn Plus and Sergel, and the same-family classification of naproxen and ketorolac. The animated map separates ingredient overlaps from family links. A family link is not an interaction warning or proof that treatment is inappropriate.
Every finding links to a product source. English and Bangla results, device-dependent spoken summaries, and printable/downloadable summaries support a conversation with a pharmacist. Unknown products remain unresolved and make the comparison incomplete.
Printed English packaging text can be read on the device using Tesseract.js. Users must confirm suggested products; OCR never adds them automatically. The video uses a synthetic label, not real packaging or patient data.
How it was built
React, Vite and CSS power the interface, including the 3D capsule artwork. A shared JavaScript module performs deterministic ingredient and drug-family comparisons. The demonstration catalogue contains 25 exact product records from 7 manufacturers, with manufacturer or MedEx links; drug-family groups reference WHO ATC.
Catalogue matching and OCR run in the browser. Medicine lists and images are not uploaded by the web app. OCR assets are served from the same site; Google Fonts requests typography externally. Refreshing clears the medicine list. The repository also contains an optional Node.js, Express and SQLite API using the same comparison logic.
GitHub Actions runs unit/API tests, the production build and Chromium browser checks before publishing the static site.
Challenges and learning
Product identity matters: similar brand names can refer to different strengths, forms or combinations. Explicit confirmation is essential. Unresolved products must never produce a reassuring “safe” result. OCR failures also need a recoverable error state.
A useful health prototype must explain uncertainty. An overlap can be intentional, and one prescription may replace another. Source links and clear questions are more appropriate than automated medical judgments.
Validation and limits
The project has 25 unit/API tests and 7 browser checks per engine. Chromium and WebKit workflows were exercised during development; the deployed example was also checked in Safari.
No independent pharmacist review, clinical validation, real-packaging accuracy study or family user study has been completed. This is a small demonstration catalogue, not a complete medicine database. Handwritten prescriptions are unsupported. Speech voices vary by device.
DoseCheck does not assess doses, drug interactions, allergies or treatment suitability. No overlap found does not mean medicines are safe together. Do not stop or change medicines based on this prototype.
Contributions and credits
I selected the problem and project direction, guided the scope and UI revisions, ran local verification and publishing commands, and recorded the demo narration. Development was extensively AI-assisted: OpenAI Codex supported implementation, testing, design refinement, deployment setup and video editing; Claude supported catalogue expansion, drug-family logic, browser-only OCR, the ingredient map and UX revisions. Generated code and data require continued review.
External resources: React, Vite, Tesseract.js and its English model, Web Speech API, Node.js, Express, SQLite, Playwright, Google Fonts, manufacturer product pages, MedEx and WHO ATC. Source URLs and model licensing are included in the repository.
What's next
Independent pharmacist review, real-packaging OCR evaluation, usability testing with families, and a larger carefully reviewed catalogue. These are planned, not completed features.
Try the app: https://rjbislam.github.io/dosecheck/ Source: https://github.com/RJBISLAM/dosecheck
Log in or sign up for Devpost to join the conversation.