
Shelfy
AI label scanner for unfamiliar shelves
About a year and a half ago I was in a Budapest supermarket, trying to find something I could confidently eat.
I'd been going aisle by aisle, picking things up, pointing Google Lens at labels, putting them back down. Too many unknowns. Eventually I gave up on packaged goods and walked over to the baked goods section - simpler, right? Just bread.
There were a few baskets with different types. One had a small sign: Sós kifli. Two words. I pointed Google Lens at it.
It translated "Sós" as "SOS."
So the basket now read: SOS kifli. I tried typing the words in manually, thinking maybe the camera hadn't caught that it was Hungarian. Same result. I bought the bread anyway, mildly uneasy about it. Later I found out that sós means savory and kifli is the Hungarian word for a crescent-shaped pastry. It was a savory croissant. That's it. No mystery filling, nothing to worry about.
But I'd spent twenty minutes in that supermarket feeling like I couldn't trust anything on the shelf.
That moment stuck with me - not because the translation failed. Translation tools have gotten genuinely good. The problem was something else: even a correct translation of Sós kifli wouldn't have told me much. I'd still want to know - is there anything inside it? Does it contain dairy? Should a gluten-free person avoid it? What actually is this thing?
Translation reads text. It doesn't understand products.
The idea sat with me for over a year. I'm not a developer, so for a long time "build the thing that fixes this" was just a daydream - until the tooling caught up. A couple of months ago I started building Shelfy entirely with Claude Code, no coding background, a lot of iteration, and a lot of moments of not knowing how to make the model do what I wanted.
What I ended up with: you point your camera at any label, menu, or food display - in any language - and instead of a word-for-word translation, you get a plain-language answer. What the product is, what's in it, any allergen flags, and whether it fits your dietary needs. Vegan, gluten-free, halal, kosher, nut allergy, keto - you set your preferences once, and every scan is filtered through them. It's a PWA, so it works in any browser with no install and no account required.
One scan shows the difference well. I scanned a jar of Libamájas - a Hungarian goose liver spread - at a Spar in Budapest. Google Lens translated the brand "Hamé" as "Ham" and the product as "Foie Liver." Technically words from the label. Not useful.
Shelfy identified it as a goose liver pâté, flagged that pork fat appears before the goose liver in the ingredient list, noted it's not halal or kosher certified, and explained that this kind of mixed-meat spread is common in Central European supermarkets. That's the difference between reading a label and understanding it.
It's live at shelfy.me — no signup, just try it.
On the building side: the scanning itself was straightforward - Sonnet handles the translation-to-context jump well out of the box. The real work was prompt engineering: getting the model to return a verdict - "pork fat is the first ingredient, here's why that matters to you" - instead of a translation. Happy to go into that or the stack if anyone's curious, especially other non-technical founders wondering if this is doable solo now. It is - but it's more about knowing what to ask for than knowing how to code.
Where I'm stuck, and what I'd love this crowd's take on: I have no paying users yet - early days. The product I can keep improving. The thing I genuinely don't know how to crack is distribution. My audience is niche but global - travelers, expats, people managing dietary restrictions abroad - and I have two self-imposed hard constraints: no social media presence, and no paid ad budget right now.
If you've reached a niche-but-worldwide audience under constraints like that - what actually worked? I'm far more interested in "here's the channel that worked for me and why" than a list of ideas.
And if you've ever stood in a foreign supermarket not sure what you were holding, I'd love for you to try it and tell me what's good, what's broken, and what's missing.
About
I built Shelfy because Google Lens translates words but doesn't tell you what you're looking at. Point your camera at any label in any language: get a verdict on what it is, what's in it, whether it suits you.

5 Comments
One thing I'd be careful with:
A lack of understanding can sometimes look like the problem while actually being a proxy for something else people are trying to gain confidence about.
Those can point toward very different products over time.
That's the part I'd be most curious about here.
That's a fair distinction to draw. For me the core of Shelfy is the understanding - what is this thing, what's in it, why is it on this shelf. The confidence to eat it follows from that, but it's yours to decide. I'm not trying to be the thing that tells you it's safe - I'm trying to be the thing that gives you enough context to make that call yourself.
That makes sense.
I think the thing I'd be watching closely is whether users continue drawing that distinction themselves.
Sometimes the thing a product provides and the thing people feel they're getting from it can drift closer together over time.
That's what I'd find interesting to observe.
That's a good thing to track. I'll be paying attention to whether the use pattern reflects what I think I'm building or something slightly different.
Agreed.
The interesting part is that if it does turn out to be something slightly different, the shift will probably feel obvious in hindsight.
Those are usually the ones that are hardest to notice while they're happening.