T1dApp.xyz Case Study: Diabetes companion app. by Zouhir LaoulaouT1dApp.xyz Case Study: Diabetes companion app. by Zouhir Laoulaou

T1dApp.xyz Case Study: Diabetes companion app.

Zouhir Laoulaou

Zouhir Laoulaou

T1dApp: building a meal-first diabetes app as a type 1 diabetic

Role: Founder, designer and developer (solo) Platform: iOS, built with React Native and Expo Timeline: May 2025 to today, 236 commits and counting Live at: t1dapp.xyz

The problem

I have type 1 diabetes. Every meal comes with a question: how many carbs are on this plate? Restaurant food, mixed plates and home cooking rarely come with a label, so I guessed, dosed insulin on that guess, and found out two hours later whether I got it right.
The apps I tried were built around logging numbers. You type a reading, it goes in a list, and the list tells you nothing about the meal that caused it. I wanted an app that starts with the plate and ends with what my blood sugar did.

The goal

Build T1dApp, a diabetes app where the meal is the main screen, and turn it from a free side project into a paid product people keep using.
Three rules shaped every decision:
The meal comes first. One snap should give a rough carb estimate, the macros and a likely 2-hour glucose range.
Calm, not alarming. Diabetes is stressful enough. No neon alerts or red warning screens on every high number.
Your own data teaches you. The app should show which of your meals spike you, using your readings, not general advice.
Screenshots from app store of t1dapp
Screenshots from app store of t1dapp

What I built

1. Snap your meal

Point the camera at a plate. The app names the food and gives a rough carb estimate with protein, fat and calories. Packaged food has a barcode scanner that reads the label values and scores the product for a blood sugar friendly diet.

2. See where your blood sugar may go

After the scan, the app draws a likely glucose range for the next 2 to 3 hours, based on the meal, your current reading and your insulin settings. It's shown as a band, not a single number, because a photo can only give an estimate.

3. Find the meals that spike you

Every logged meal is compared with the readings before and after it. Over time the app sorts your meals into the ones that spike you, moderate rises and gentle ones, so you learn your own patterns.

4. Weekly insights and time in range

The Insights tab sums up your week: time in range, average glucose, lows, and an estimated A1C. Readings from Dexcom and Libre sensors arrive through Apple Health without typing.

5. Everything in one place

Glucose, insulin, medication, weight and meals live in one diary. Reminders, home screen widgets, and PDF and CSV reports for doctor visits round it out.

Design decisions

An editorial, calm look. I wrote a design system I call "Salt & Pepper": paper-grey backgrounds, deep ink text, white cards and soft pastel tints for each health area (blood sugar, meals, weight, medication). Status colours stay soft so a high reading informs you instead of alarming you.
Ranges instead of promises. The app never claims to know your exact carbs or your future glucose. Carbs are a rough estimate, and predictions are a likely band. That keeps the app honest and keeps users thinking, which matters when insulin is involved.
A story-led onboarding. New users don't land on a form. Onboarding opens with the problem a diabetic feels ("ever stared at a plate and had no idea how many carbs were on it?"), asks a few questions about their diabetes type, goals and settings, then shows the app working with their numbers.

Tech stack

React Native 0.81, Expo SDK 54, Expo Router, TypeScript
Health data: Apple HealthKit (glucose from Dexcom and Libre via Apple Health)
Food AI meal photo analysis, barcode lookup with Open Food Facts
Subscriptions RevenueCat (weekly, monthly and yearly plans, plus Snap Packs)
Analytics: Mixpanel, with acquisition source tracked from onboarding
Extras: OS home screen widgets, PDF and CSV export
Website: t1dapp.xyz, hosted on Vercel

Going global

The app ships in 13 languages: English, Arabic, German, Spanish, Finnish, French, Hindi, Italian, Portuguese, Russian, Swedish, Thai and Simplified Chinese. App Store text, keywords and screenshots are written per country, not machine-translated once and forgotten. Arabic needed full right-to-left support across the app.

Marketing

I market T1dApp the way I built it: as a diabetic talking to other diabetics. Short vertical videos and slideshows for TikTok, Instagram and YouTube Shorts open with a question every diabetic knows, then show the app on a real plate.

As a diabetic, have you ever guessed your carbs and paid for it two hours later? That's why we built T1dApp.


Results

Downloads: More than 1000 downloads.
Real downloads data for t1dapp
Real downloads data for t1dapp
Paying subscribers / MRR: $448
Real revenue data for t1dapp from revenuecat
Real revenue data for t1dapp from revenuecat
App Store rating: 4.8/5
Shipped: 2.7.2, with product scores, additive warnings and healthier alternatives in the barcode scanner

What I learned

Building for yourself is a head start, not a finish line. I knew the problem well, but users with type 2, prediabetes and gestational diabetes needed different words and different screens. The onboarding now changes its story based on diabetes type.
Honest wording builds trust. Saying "rough carb estimate" and showing a range instead of a single number made the app feel safer, not weaker.
Track where people come from. Onboarding asks where each user heard about the app, and every event carries that answer, so I can see which channel brings people who actually subscribe.

Try it

T1dApp is on the App Store for iPhone. Learn more at t1dapp.xyz.
T1dApp is not a medical device. It gives estimates for information only. Always follow your care team's advice for insulin and treatment.
Like this project

Posted Nov 8, 2026

Developed an iOS app for diabetics focusing on meals and glucose predictions and grow it to $400 mrr in less than 40 days organically.