doruk.ch
· 5 min read

i was spending too much on protein. so i built a tracker.

i'm a student trying to hit 140g protein daily without protein powder and on a budget. i got tired of checking every product at the store, so i built a free protein tracker for Swiss stores.

webappopensourcereacthealth

Protein Tracker

i'm standing in migros, holding two different packs of quark, squinting at the nutrition labels. one is 500g for 2.50, the other is 250g for 1.80. both say "high protein" on the front in that aggressive fitness font. but which one actually gives me more protein per franc?

i've been doing this math in my head for months. every single grocery run. standing in the dairy aisle like a budget accountant, flipping packages over, trying to calculate protein-per-price ratios on the spot while people squeeze past me to grab their normal groceries like normal people.

i'm a student. i'm trying to hit 140g of protein daily. without protein powder, because have you seen what that costs in switzerland? so i'm doing it with real food — quark, skyr, eggs, chicken, lentils, whatever has the best ratio. but "best ratio" is the problem. best ratio of what? protein per franc? protein per calorie? protein per "how much of this can i actually eat without wanting to die"?

so i built a tracker.

the actual problem

most nutrition apps want you to track everything. every macro, every micro, your water intake, your mood, your sleep. i don't need that. i need one number: am i hitting 140g of protein today, and am i doing it without spending my entire student budget?

the other problem is store-specific. swiss stores have specific products at specific prices. myfitnesspal doesn't know that migros has a 500g quark for 2.50 that's objectively the best protein-per-franc deal in the dairy aisle. that's local knowledge. the kind of thing you accumulate over months of label-reading and then lose because you didn't write it down.

what i built

Onboarding — load Swiss store data or start empty

protein.doruk.ch is a free, open-source protein tracker. it does three things well:

smart scoring. every product gets scored on protein-per-price, taste rating, and calorie efficiency. not just "how much protein" but "how much protein for how many francs and how many calories." because 50g of protein doesn't help if it comes in a 900-calorie package or costs 8 francs.

daily tracker with protein goal. set your daily target (mine is 140g), add what you eat, see how close you are. simple. no account required, no sign-up, no email verification flow. you open the app and start tracking.

works with any store. it comes pre-loaded with swiss store data — migros, coop, the usual suspects. but you can add any product from any store. the data is yours.

Products ranked by score — Aldi, Lidl, Migros, Coop all compared

built for the store aisle

the whole thing is mobile-first because that's where you use it — standing in migros, phone in one hand, quark in the other. you pull it up, check the score, make a decision, move on. no login screen. no loading spinner. just the information you need.

your data stays on your phone. 100% local storage, no backend, no database, no server tracking what you eat. i'm not interested in your dietary habits. i just wanted to stop doing mental math in the dairy section.

you can import and export your data as JSON if you want to back it up or move between devices. but there's no cloud sync, no account, nothing to hack or leak. your grocery habits are between you and your browser's local storage.

the protein-per-franc insight

here's the thing nobody talks about in fitness content: the "best" protein source depends entirely on your budget and your context.

every fitness influencer says "just eat chicken breast." great advice if you have a kitchen and 30 minutes to cook. less great if you're a student eating between lectures. the quark-in-the-library strategy is underrated.

protein-per-franc changes everything about how you shop. suddenly you're not just reading the protein line on the nutrition label — you're dividing it by the price and comparing across products. and the winners are not always what you'd expect.

some of the best protein-per-franc products in swiss stores are the boring ones. the store-brand quark. the big bag of red lentils. the eggs. not the fancy "high protein" branded stuff with the gym bro on the packaging that costs three times as much for marginally more protein.

the tech

it's JavaScript, hosted on vercel, MIT licensed. nothing fancy. i didn't need a framework for this — it's a tracker with some math. the source code is on github if you want to fork it or add your own store data.

the whole point was to build something i'd actually use. every day. in the store. on my phone. and i do.

the honest take

i built this because i was mass texting my gym buddy asking "yo is the coop skyr or the migros quark better value this week" and he told me to stop. fair enough.

it's not a startup. it's not a product. it's a tool i built for myself that turned out to be useful for anyone in the same situation — trying to hit a protein target on a student budget in switzerland without spending 15 minutes per grocery trip doing arithmetic.

if that's you, it's free. no signup, no ads, no "premium tier." just open protein.doruk.ch next time you're in the store.

your quark decisions will never be the same.

On this page