AI LodgeHealth

Dishcovery

A dish finder for people managing high blood pressure, diabetes or kidney disease that checks food near SMU against their personal nutrient limits.

About the Project

If you have high blood pressure, diabetes or kidney disease, your doctor gives you numbers: stay under so many milligrams of sodium, so many grams of carbohydrate. Then lunchtime comes, and the menu board shows prices, not numbers.

The idea came from a conversation with a medical student friend. For a working adult with a 45-minute break, checking every stall isn't realistic, so people either guess or stop eating out. I built Dishcovery to close that gap for the stalls around SMU.

What It Does

You choose your condition and a sodium target, and can add carbohydrate, sugar, potassium or phosphorus limits if your care team gave you them. Your profile stays in your browser.

Dishcovery then:

  • checks every dish against your per-meal limits and shows the numbers, for example “Sodium ~633 mg of 767 mg per meal”;
  • shows the closest options when little or nothing fits, with exactly how far over each one is, instead of an empty page;
  • filters for halal (using MUIS certification, with the certificate number) and labels outlets with vegetarian options; and
  • ranks stalls on a map by fit and by distance from SMU, Raffles Place, Tanjong Pagar or your own location.

Gathering the Data

Nutrient values come from HPB's SG FoodID database, entered by hand into one spreadsheet that records each dish's source. Halal status comes from the official MUIS service, the stall list and vegetarian options from SMU's store directory, and locations from OpenStreetMap and OneMap.

The hardest part was that nutritional data barely exists online, and menu descriptions for individual stalls are scarce too.

Project Satisfaction

I'm happy with how the map integration turned out, and that users can enter their personal dietary restrictions while the data stays on their own device for privacy.

Key Takeaway

Building and deploying an app was new to me, and things that worked on my machine failed in production, from an API that crashed because of how it was packaged to a map layer painted over a popup. Troubleshooting those errors one by one, with Claude's help, taught me a lot.

Areas for Improvement

I'd expand the number of dishes listed and let users and restaurants enter verified nutritional data.