BärnHäckt 2025 · Bern · 22–24 August

Mealcam
«Plan smart, eat consciously» — one photo of the open fridge, and the app knows what you have, what you can cook from it and what your week looks like.
The most expensive place in the house is the back corner of the fridge.
2.8 m t
of food every year
is lost in Switzerland even though it was perfectly good
330 kg
per person per year
almost a kilo of food a day that nobody eats
CHF 620
per person per year
bought, carried home, refrigerated — and then thrown out
25 %
of the footprint of what we eat
is spent on food that never reaches a plate
About a third of it happens in households — the environmental cost of food waste alone is roughly half of all car journeys in Switzerland. And yet almost nobody throws food out on purpose. You simply lose track of what is still there — you buy more, plan past your own supplies, and three days later it is too late.
Figures: BAFU / ETH study on food losses, foodwaste.ch
Our Solution
An app you open before you shop
Mealcam sits on the home screen. No form, no inventory list — you take one photo and the rest happens in the background.
Our own server, instead of keys in the app bundle
The app computes nothing itself. It sends the photo to our Raspberry Pi 5 — that is where Flask runs, where the keys live, and where the answers from Google Vision and TheMealDB are cut together into clean JSON.
App · Flutter
Our server · Raspberry Pi 5
External · APIs
Mealcam
Flutter · camera, list, menu plan
Firebase
Firestore · ingredients & menus per account
api.py
Flask · /analyze, /meals/…
vision_labels.py
labels from 50 % score up
filter_function.py
intersects recipes over ingredients
blacklisted_labels.py
drops “Food”, “Ingredient” & co.
Google Vision API
object detection on the photo
TheMealDB
recipes, ingredients, images
Security
The API keys never leave the Pi. There is nothing to pull out of a decompiled app.
Efficiency
The expensive filtering runs server-side — the phone only makes the request.
Less data
The server cleans up the API responses and sends back nothing but tidy dictionaries as JSON.
Built at
2025
BärnHäckt is the hackathon in Bern: one weekend, real challenges from companies and public administration, and a pitch in front of the jury on Sunday. Mealcam was built there from 22 to 24 August 2025 — the first hackathon for all of us.
bernhackt.ch