I spent about 12 months building a baby tracker solo and bootstrapped; it's been live on the App Store since June, and I taught myself React Native to build it. The part I want to share isn't the tracker - it's one design decision in the allergen scanner, because it's a "what do you do when your data is empty" problem.
Quick caveat up front, because it's safety-adjacent: this is not a medical device, it doesn't diagnose anything, and the failure mode it's built against is a false negative - telling you a food looks fine when it isn't. No tool catches everything; you still read the full label and talk to your pediatrician. I'd rather say that first than bury it.
Most barcode allergen scanners do the efficient thing: look up the product, read the ingredient list, check it against the allergens you care about. Fine when the product is in the database. But scan an imported product the database has never seen, and a lot of them just return "no allergens found." That's a silent failure: it reads like "safe" when it really means "no idea."
I went the other way. An empty or unreadable record is treated as a reason to look HARDER - including reading label text across several languages - never as an all-clear. It leans toward "double-check this" over "looks fine." It can over-flag, and I'll take that trade. The scan that proved it out: an imported product returned zero ingredient data from the open product database (Open Food Facts, 3M+ products), and instead of a green check the scanner flagged peanut against a profile that had peanut set as an allergen and hard-blocked with "DO NOT FEED." To be honest the product name literally said peanut butter, so a careful human catches this one too - the point isn't that it's clever, it's that it refused to fake confidence on missing data.






