Inspiration: Living in Pakistan, I've seen local pharmacy staff struggle daily — manually writing bills, forgetting which medicines share the same formula, and losing customers simply because they couldn't quickly find an alternative to an out-of-stock product. I wanted to fix that with something simple, fast, and actually usable in a real medical store.

What I Learned: How to architect an offline-first web app using localStorage as a lightweight database Parsing and mapping real-world pharmacy CSV inventory data into a structured system Building a formula-based alternative suggestion engine without any AI — pure logic using active salt/formula matching How small UX decisions (like typing quantity directly instead of clicking +/- 50 times) make a huge real-world difference

How I Built It: MediStore is built with Next.js and TypeScript on the frontend, styled with Tailwind CSS and shadcn/ui components. The inventory is seeded from a real CSV file and stored in localStorage — making it fully offline. The formula matching engine compares genericName fields across medicines to instantly surface in-stock alternatives when a searched product is unavailable. Challenges The biggest challenge was building the alternative suggestion system accurately. Generic/brand medicine naming in Pakistan is inconsistent — the same salt can appear under dozens of brand names with different spellings. I solved this by building a custom salt-mapping dictionary alongside CSV-based generic name parsing, combining both sources to maximize match accuracy.

Built With

Share this project:

Updates

Submission history