Build an AI Sommelier with pre.dev

Our digital menu needed a wine recommendation. The old way means an account, an API key and a file full of secrets before you write a line of feature code. With native AI, none of that exists. Here's the sommelier build, from a bigger wine list to a real recommendation.

Build an AI Sommelier with pre.dev

Last time we built a digital restaurant menu from a single plain-English prompt. No IDE, no git, no local setup. Now we want to put AI inside it.

The new native AI feature is what makes this worth writing about. You use AI in your predev-built app without creating an account somewhere, generating an API key, wiring up environment files, or thinking about where secrets live. It's provisioned with the app.

So what are we building? An AI sommelier, inside the menu. It recommends a wine to the guest based on the dishes they want to order.

First, a bigger wine list

Our one-shot menu had a wine section, but a thin one. So we grow it: ten whites and ten reds of the kind you'd expect at an Italian restaurant, enough for some real variety. Each one gets a few basic properties like sweetness, aromas, character, because the sommelier is only as good as what it knows about the bottles.

i want to add a comprehensive wine section with around 20 bottles, 10 white and 10 red. all italian, and a good spread of different styles and varietals.

The order list

Before the recommendation, a detour that turns out to matter.

We want this to be convenient for the guest, but we also want to keep the flow going. Nobody should get lost in a menu and spend their evening in it. So we add a kind of wishlist: the guest taps dishes to add them to a list, like an e-commerce cart.

They don't order through the menu. Not yet, anyway. Check back for a dedicated blog post on that. For now, the list is just a convenient way to keep track of what they want, so they can read it off when the waiter comes to the table.

Item and quantity picker

But the real payoff is the context it creates. Without the list, the guest has to type "what wine goes with the branzino?" With it, we hand the sommelier the whole table's worth of dishes and let it recommend against all of them at once. The guest types nothing.

This one was complex enough to trigger plan mode, so before writing anything the agent interviewed us about it. Five questions, each with its options spelled out and the trade-off stated:

pre.dev plan mode asks clarifying questions

We said everything on the menu goes in the list, wine included, so a guest can recite the whole order in one go. Quantities get +/− steppers, so tapping twice reads as ×2 instead of two identical lines. The list is session only — it clears on reload, which is fine for someone sitting at a table. No per-dish notes; special requests get said out loud anyway. And no separate full-screen read-out view, because the slide-out panel already does that job.

Worth noting what this replaces. These are exactly the decisions you'd otherwise discover halfway through building, or worse, after shipping. Answering five questions took under a minute and meant the first version was the right version.

List of dishes to order

The sommelier

Now the actual feature. When the guest opens their order list, an AI sommelier button appears. One tap and it suggests three wines that fit what's on the list.

Here's where the AI has to earn its place. Matching wines to dishes, on its own, is not a hard problem. A lookup table gets you most of the way: white with fish, something with acid to cut the richness, done. If that's all we wanted, we'd write forty lines of logic and skip the model entirely.

What we want is the explanation. Real prose, in the sommelier's register, laying out why this bottle works with these dishes. That's the part a rules script can't do: it can't write a fresh paragraph for an arbitrary combination of four dishes, and it can't do it in three languages. And the story is half the equation. It's almost educational. The guest leaves with something they didn't have when they sat down, which is exactly what you're paying a sommelier for in the first place.

The model only recommends from the list on our menu, so nothing gets suggested that isn't in the cellar.

Here's what it returned:

Brunello di Montalcino
Its robust tannins, rich dark cherry, and earthy spice effortlessly cut through the charred, juicy richness of Bistecca alla fiorentina.
Pairing suggestions by the AI sommelier

The result

The build was straightforward. 12 credits for the whole thing, and it works as intended. This addition to the digital restaurant menu fits right in the monthly free tier that includes 20 credits. You can try it yourself here.

The point

This is what the native AI tools are for. No account to create, no key to generate, no .env to babysit, no secret to rotate. The feature the guest sees is the only thing you had to think about.

That overhead is usually the reason a small idea never gets built. Not the idea, the setup around it. Take it away and the question stops being "is this worth the afternoon" and becomes "is this worth five minutes."

So go build yours. Bring AI to your users without the plumbing.

And check back next week: we'll use native authentication to give guests a reason to come back, turning a one-time drive-by into a returning user.


Let Us Know Your Thoughts and Feature Requests

We want to hear from you! We are incredibly excited to see what you build and learn how you are using In-Line Media Generation to accelerate your projects. Join the conversation and share your feedback over on our X and LinkedIn pages.

About predev

pre.dev is built to provide professional engineering teams with hyper-intelligent and cost-efficient coding agents. These agents deliver scalable, self-verifying, and model-agnostic software development.

Professional software development requires agentic coding that deeply understands system architecture, mitigates technical debt, and respects your compute budget.