Mike “Demo” DemopoulosThis is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend I'm excited to take...
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
I'm excited to take part in the Hacktoberfest Weekend Challenge: Build for a Friend, where makers worldwide solve real problems for people they care about.
Eat Well AI empowers people with dietary needs to discover restaurants that actually welcome them. Forget complicated filters—just express what you want in your own words, and Eat Well AI does the rest. Find food that fits your life, not just your diet.
"vegan pizza in Chicago"
"kosher in Miami"
"gluten free tacos"
An open-source algorithm that runs in your browser. It converts your sentence into search filters. Isn't that pretty neat? There's no need for servers or API keys since your sentences remain on your device.
I built Eat Well AI for my friend Miriam, who keeps kosher and often struggles to find places to eat when we travel. As a vegan myself, our outings always meant an exhausting search for spots that welcome both our needs. Eat Well AI finally answers that question: Where can we both eat, easily and confidently?
The search now spans over 1,000 restaurants in 37 cities, each carefully labeled for vegan, vegetarian, gluten-free, kosher, and halal options. Results appear as rich, interactive cards—complete with directions—so users can go from query to table in moments.
Try it live: https://eat-well-ai.view.fast/
If you use Chrome or Edge on a device that supports WebGPU, the model will download once (approximately 340MB) and afterwards all the features will function on your device.
Watch the 55-second demo:
URL:
Type it in clear English:
Results with map QR codes:
The admin side, adding a listing:
https://github.com/Mike-Demo/eat-well-ai — MIT licensed.
The stack consists of plain HTML, CSS, and JavaScript served as static files; the restaurant database is in a single data.js file, and a search script filters it.
Alibaba's open-weight Qwen3-0.6B model can be run in the browser via WebLLM and WebGPU; I have hosted the model weights on the same static host, the page never makes a call to HuggingFace or any other API at runtime.
When you enter a query, the system interprets it and converts it into a formatted filter consisting of information about diets, the city, and cuisine keywords. The model's output is constrained using a JSON grammar (through WebLLM's response_format), which ensures that malformed output cannot occur. A model with a size of 0.6B will not comply with the instruction to "reply in JSON" by itself; the grammar overcomes this by design. If the model engine fails, a simple keyword parser then takes over so that the search can still function.
The JavaScript filters the restaurants and then displays the cards.
Eat Well AI evolved from Eat Well, the version I created for the Pimoroni Tufty 2350 microcontroller badge, which had 557 restaurants, physical buttons, and no possibility of using AI; the app for that badge operates in a panel below the search box and uses the same code and pixel art.
The hosted AI API was obviously the quickest way out and I decided not to use it for three reasons.
Privacy is the most important consideration. Individual dietary requirements are a matter for the person concerned. When you enter a query such as "kosher near me" you are giving information about both your religion and your location. The model operates on your device and so that sentence never gets sent to a server.
The cost is a close second. With hosted models you are charged on a per-query basis. This one has no cost per query. The entire cost is due to static file hosting.
Control is third; with open weights I am able to self-host the model, replace it at a later stage, and adjust the prompt. Since the small model was ignoring my JSON instructions, I restricted its output using a grammar rather than submitting a support request. Before shipping, I checked the prompt by running the same weights on my own machine.
Turning the weights open turned what had been a weekend project into one that I could give to a friend without having to hand her any of my data.
AI tools used on this project and write-up, and how:
Everything else — the code, the dataset, the MapQuest integration, and the final words — is the author's own work.