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

Mealcam

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

Nachrichten
Telefon
Kamera
Karten
Wetter
Fotos
Musik

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

photo (multipart)JSONimage bytesfilter.php / lookup.phpstore
Flutter

Mealcam

Flutter · camera, list, menu plan

Firebase

Firebase

Firestore · ingredients & menus per account

Flask

api.py

Flask · /analyze, /meals/…

Python

vision_labels.py

labels from 50 % score up

Python

filter_function.py

intersects recipes over ingredients

Python

blacklisted_labels.py

drops “Food”, “Ingredient” & co.

Google Cloud

Google Vision API

object detection on the photo

TheMealDB

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

BärnHäckt2025

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