Written by our NLP software engineer Radoslav Klíč.
My team takes lunch seriously. Our daily quest through online menus to find the perfect lunch spot sparked an idea: what if a bot could simplify this? Since we work with AI daily in our business, applying it to a fun, everyday problem like choosing lunch felt like a natural next step. That’s how Restabot came to be.
How Restabot Works: Under the Hood
Restabot is a side project designed to tackle the sometimes messy world of online restaurant menus. Here’s how it operates:
- Scrape: The bot visits restaurant websites to grab menus. Since menus are often images rather than text, I opted to take screenshots for simplicity instead of parsing complex HTML. Even this approach requires automating interactions, like accepting those annoying cookie dialogs.
- See (OCR): The screenshots are then processed using Google’s Gemini models. I instruct the model to identify the relevant menu portion within the screenshot and extract the content in a structured format. It handles typical menus well, and I was surprised by how effectively it even parsed a photo of a handwritten chalkboard menu!
- Summarize: Once the menu data is extracted, another call to a Gemini model makes sense of it. This step involves selecting the menu valid for the current day, correcting potential OCR inaccuracies, and finally generating a neat, structured summary.
- Share to Slack: We already have a dedicated lunch channel. Now, it has a new, robotic member.

The goal is to give you a clear, quick overview of what a restaurant offers, saving you from squinting at blurry PDFs or oddly formatted websites.
For those following AI developments, you’ll notice I’m using AI in an ‘old-fashioned’ way here – no agents involved! At least, not yet. 😉
What’s Next?
Restabot is definitely still a work in progress. It’s a fun way to combine web scraping with AI for text recognition and summarization. The source code is up on the Restabot GitHub repository if you want to check it out or contribute. Feel free to share feedback or suggestions via GitHub issues! Or even better, fork and send pull requests! I’m excited to keep improving it—maybe it can help you find your next great meal, too!