All work

Driftora

A food and workout journal. Recognizes food in photos, calculates calories and macros, and tracks workouts and walking.

React Native / Expo · TypeScript · Express · SQLite / Drizzle

Why I built Driftora

I wanted to lose weight and keep track of my body. Existing apps didn’t give me the features I needed, so I started building Driftora. I now log meals in it every day, and also track workouts and walking.

What I built

I built Driftora myself: the interface, backend, nutrition calculations and data storage. Food recognition returns a draft I can check and edit before saving.

How meal logging works

A model identifies the foods and estimates portion sizes. The backend matches each item against food databases. If there isn’t a suitable database match, a separate model request can provide approximate nutrition values.

The draft stays editable. I can choose a different food, change its weight or correct its nutrition values. Editing the portion weight recalculates the totals on the phone, without another model request.

Nutrition data sources

A photo can’t reliably tell me how much every ingredient weighs. The draft shows the estimated portion size, and each item is labeled with its nutrition source: a food database, a product label or an AI estimate.

The source is saved with each item. If I reopen or repeat a meal, values estimated by AI keep their label.

The app and the API

The app resizes the image before upload. Online photo analysis requires user consent. The Express API returns a structured draft. Saving a meal writes the meal and its items to the phone’s SQLite database in a single transaction.