Inspiration

“What should we eat?”

A simple question… but somehow it makes a whole group think like they’re solving advanced math. One person says “anything is fine” (but rejects everything), another has a 50k budget but wants a 5-star experience.

Meanwhile, current apps just show a long list of restaurants — the decision is still… entirely up to you.

So we thought: What if there was a system that actually understands you — from your budget to your taste — and makes the decision easier?

That’s how MealMatch was born — a “food companion” that never says “whatever you want.”

What it does

MealMatch helps users by allowing them to input:

budget taste description (free-form, e.g., “spicy, soup-based, under 70k”) number of people, dining time

The system will then:

analyze needs using AI extract dining preferences fetch restaurant data from Google Maps analyze reviews to identify popular dishes recommend the most suitable restaurant and specific dishes Key highlights: Understands natural language Recommends specific dishes, not just restaurants Provides explanations for recommendations (Explainable AI)

How we built it

We combined AI with a rule-based system to ensure both intelligence and reliability.

  1. Data sources

Using Google Maps API:

restaurant names ratings price levels reviews

  1. Dish extraction from reviews

We use:

keyword matching (fast fallback) optional AI to extract dish names from reviews

This allows the system to understand what a restaurant serves without needing an official menu.

  1. User input analysis

AI processes natural language and converts it into structured data:

taste (spicy, sweet, etc.) category (soup, dry dishes, etc.) budget context (dinner, group dining, etc.)

  1. Matching & Scoring engine

We match:

user needs dish tags

Then compute a compatibility score.

  1. Recommendation output

The system returns:

restaurant suitable dishes estimated price match percentage AI-generated explanation

Challenges we ran into

  1. No structured menu data

Google Maps does not provide menus, so we had to:

extract from reviews infer from unstructured data

  1. Understanding natural language

User inputs are often vague:

“something warm” “light but still filling”

We needed AI to convert these into structured data.

  1. Balancing AI and accuracy AI is powerful but hard to control Rule-based systems are stable but less flexible

Solution: a hybrid system

  1. Limited development time

We had to:

optimize scope (MVP) focus on core features instead of complex UI

Accomplishments that we're proud of

We successfully built a system that:

understands natural language input recommends real dishes from review data provides explainable recommendations

We effectively combined:

AI (NLP) real-world data (Google Maps) scoring system

Creating an experience similar to a personal food assistant

What we learned

AI is not always the perfect solution → it needs to be combined with traditional logic

Real-world data is often:

messy incomplete → requires smart processing

UX is extremely important Users prefer:

clear recommendations explanations simplicity

Scope limitation is critical when working under tight deadlines

What's next for MealMatch

In the future, we plan to develop:

  1. Personalization learn from eating history understand long-term preferences
  2. Location integration recommend nearby restaurants optimize travel time
  3. Conversational chatbot

Example:

“I feel tired today, what should I eat?”

  1. Advanced recommendation use embeddings / vector search deeper semantic understanding (beyond keywords)
  2. Real menu data crawl data or partner with restaurants

Built With

Share this project:

Updates