by Nidin Shah

🚧 Status: in progress - not finished or published yet. This is an active project I am building on my own. This report gives an overview of the app, not the full technical details. Some parts of the implementation, data handling, and design are left out on purpose.

// ios · swiftui · on-device ml · open data - a personal project


at a glance

The core idea is a daily-use app. While the user tracks and gets reminded to take their daily supplement doses, the same app lets them check if a supplement is genuine and registered, see what each ingredient is used for, and discover their own nutrient deficiencies based on their body's symptoms and needs, with the right supplements suggested for them.

The main rule behind the app is simple: "Passed" means the product matches an official registration record - not that it is "authentic" or "verified genuine." The app checks registration status against official open data. It does not check whether a physical bottle is a counterfeit copy. That difference is kept clear on every screen.

The project was built end to end on my own - research, data sourcing, design, and the iOS build.


01 - why I built it

When you buy a supplement in Malaysia, it is hard to know if the product is properly registered. The official ways to check exist but are not convenient. There is a government website where you search one product at a time, and a separate app for scanning holograms. None of them keep a record of what you take, explain what the ingredients are for, or put all of it in one place.

I wanted to combine three things into one app: official registration data, a personal supplement list with reminders, and simple guidance on what helps with what. I also wanted it to be easy to use for different age groups, so both younger and older users could use it without needing instructions.


02 - what it does

Scan & identify. The camera reads a product label using on-device text recognition, matches it against a local catalogue, and shows the match for the user to confirm before continuing. This runs on the phone, with no cloud call.

Registration status. Three clear states, each with its own colour and wording: Passed (matches an active registration), Conditional (registered with conditions), and Not Found (a neutral state, not an error or a claim that the product is fake). For hologram checking, which the app does not do, it links out to the official government tool instead.

Search. A typo-tolerant search over the catalogue for finding a product by name without scanning.

Product detail. Ingredients are shown with plain-language use cases and simple icons, instead of just a list of chemical names.

My tray + reminders + widget. The user adds the supplements they take, sets a schedule (including meal-based timing like "after lunch"), gets reminders, and sees today's doses on a home-screen widget.

Discover / Ask. A browsable section that pairs common symptoms with supplements to look into. This is being extended into a supplement-focused assistant for direct questions, which answers using the app's own data first and stays on-topic.