- School project
- Team of 2
- Nov 2025 – Apr 2026
Generative Engine Optimization
of LLM mentions go to the top 15 % of restaurants
Source 1
62 %
The top 15 % of restaurants get 62 % of all LLM mentions
- How it was measuredMention counts per restaurant, summed across all prompts, model slots and runs
- On what450 LLM answers, 182 restaurants, 1,351 mentions
- Keep in mindOne domain (Tunisian restaurants), French prompts, 30 prompts — every restaurant was labelled unstable
Built with Emna Kaaniche · supervised by Mrs. Sonda Ammar (ENET'Com)
The problem
Generative Engine Optimization · before
Chatbots decide
People now ask chatbots where to eat; a restaurant that never appears in those answers doesn't exist for that user.
Small means invisible
Small local businesses with few reviews are structurally invisible to LLMs.
One answer proves nothing
One query proves nothing: LLM answers are random, so visibility needs many prompts, runs and models.
The goal
Generative Engine Optimization · after
Measure mentions
Measure how consistently LLMs mention local businesses.
Map the web footprint
Collect each business's real web presence.
One clean dataset
Link both in one clean dataset. Pilot: Tunisian restaurants, French prompts.
How it works
Generative Engine Optimization
Four agents run in sequence, each reading the previous stage's saved output. A shared model registry picks the best free LLM available for every call; the web-research agent reaches the outside world only through MCP tool servers; a supervisor decides how to recover from every API error.
- Agent 0 · prompts
- Agent 1 · query + extract
- Model registry
- Agent 2 · web research
- MCP tool servers
- Agent 3 · consolidate
- Supervisor
- Dataset
- Step 1 of 6 Agent 0 writes 30 French prompts over 6 user intents and checks they make models name real places.
- Step 2 of 6 Agent 1 sends each prompt to 3 models, 5 times each (450 answers); a registry picks free models within quota.
- Step 3 of 6 A cleanup turns 2,020 raw mentions into 234 restaurants, each with a mention rate and a stability score.
- Step 4 of 6 For 213 visible restaurants, Agent 2 searches Google Maps, TripAdvisor, Wikipedia and more through MCP tools.
- Step 5 of 6 When an API fails, a supervisor switches model, waits, retries or skips; each result is saved at once.
- Step 6 of 6 Agent 3 merges everything, judges restaurants with no web trace, and keeps 182 in the final dataset.
Next project
100 % local JobMatch: LLM-assisted candidate pre-selection ← Previous: LLM coach for a competitive gaming platformSources
62 %
The top 15 % of restaurants get 62 % of all LLM mentions
- How it was measuredMention counts per restaurant, summed across all prompts, model slots and runs
- On what450 LLM answers, 182 restaurants, 1,351 mentions
- Keep in mindOne domain (Tunisian restaurants), French prompts, 30 prompts — every restaurant was labelled unstable