The Story
After spending years building games and infra for kids on Chromebooks, I wanted to build something for the rest of my life - something I'd actually use every week. I'd already been pulling ingredient lists apart in the grocery aisle for years, dodging seed oils, scanning for additives the EU banned a decade ago, and guessing whether the "natural flavors" hid anything weird. Yuka existed, but it scored a Coke higher than raw beef tallow because its model was built around the European nutrient profile, not the stuff seed-oil-skeptics and the carnivore-adjacent crowd actually care about.
So I built Tallow. Point your phone at a barcode and you get a 0-100 score in seconds, with a transparent breakdown of seed oils, additives, NOVA processing level, and plastic exposure. A restaurant map and self-commissioned lab panels for microplastics and PFAS followed.
v1.0 shipped to the App Store in May 2026.
By The Numbers
How It Works
Scan a barcode and the app fires a two-tier enrichment pipeline. Tier 1 hits Open Food Facts synchronously - you see the product, ingredient list, nutrition, and a preliminary score within a couple seconds. Tier 2 runs asynchronously in a Supabase Edge Function, calling the OpenAI Responses API with web search to pull contaminant data from oasishealth.app, Florida Department of Health lab reports, EWG, Consumer Reports, FDA testing data, and PubMed studies. The mobile client subscribes to a Supabase Realtime channel on the scan job, so the Sources section populates live - usually ten to fifteen seconds later - without a refresh.
The 0-100 score itself is computed on-device. Four weighted pillars: seed oils, additives (cross-referenced against EU bans and FDA flags), NOVA processing group, and plastic exposure (containers, linings, plus lab-confirmed microplastic and PFAS levels when available). Sourcing signals like organic, grass-fed, pasture-raised, and wild-caught nudge the score up. The math is open - you can audit it.
Features
- Barcode scanner: Point and shoot. Every product gets a NOVA group (1-4) and a 0-100 Tallow score in seconds, with every flagged additive translated into plain English.
- Kid-Safe Mode: Stricter thresholds for artificial dyes, controversial preservatives, and stuff banned in EU foods aimed at children.
- Smart Swaps: When a product flunks, the app suggests a better-scoring alternative in the same category.
- Lab Tested badge: Surfaces published lab data on the scan card when contaminant studies exist for the product or brand.
- Save & History:Bookmark products, browse everything you've ever scanned.
- Restaurant map: A crowd-sourced map that scores restaurants on what they actually cook with - filter by no seed oils, NOVA 1-2, or glass-only packaging.
- Lab report archive: Tallow-commissioned panels on bottled water, takeout containers, and other contact-heavy items, browsable on the web.
Tech Stack
- Mobile: Expo SDK 54, Expo Router, React Native 0.81, TypeScript. Dev builds via EAS because Apple Sign In and the camera need native modules.
- Backend: Supabase end-to-end - Postgres, Auth, Realtime, and Edge Functions. No separate API server. The mobile client reads straight through RLS.
- Data sources: Open Food Facts for the base product catalog; OpenAI Responses API with web search for contaminant enrichment, prompted to prioritize oasishealth.app and Florida Department of Health before other reputable labs.
- Realtime delivery: Tier 2 enrichment is async, signaled to the client via Supabase Realtime on the
scan_jobstable - no polling. - Scoring: Standalone TypeScript package (
packages/shared) so the scoring lib has its own unit tests and stays portable to the web client. - Marketing site: Next.js on Cloudflare Workers via OpenNext - tallow.app. The site you are reading now runs on the same stack.
The Score System
The 0-100 score breaks down into three bands so it's readable at a glance:
Try It
Tallow is live on the App Store. The marketing site at tallow.app has the download link, screenshots, and the full breakdown of the scoring methodology.