Work  /  Applied AI

ÌMỌ̀: LLM agents that know Lagos

Two LLM agents that share one persona engine: one writes the review a Lagos diner would leave, the other ranks places for them and explains why.

merciven.co/work/imo-agents/live/LiveOpen ↗
The ÌMỌ̀: LLM agents that know Lagos app, running with sample data

The problem

Recommendation and user-modelling systems are tuned on American and European reviews. They miss how Nigerians actually write and choose: price sensitivity in naira, local dishes, Nigerian English and Pidgin, and Lagos traffic deciding where you go.

Objectives

  1. Model a user from their review history, not a demographic guess
  2. Simulate the review they would write, in their own voice
  3. Recommend places with a reason a person would accept
  4. Measure both tasks on held-out data

Process

  1. DiscoverStudied how Lagos reviewers write and what decides where they eat and shop.
  2. DefineSplit the work into Task A (user modelling) and Task B (recommendation) around one shared persona.
  3. BuildA persona engine, two agents and two FastAPI services, deployed with Docker on Render.
  4. ProveAn evaluation suite: ROUGE-L for review text, RMSE for stars, NDCG@10 and hit rate for ranking.

Who it's for

Product teams

Want recommendations that fit Nigerian users, not imported defaults.

Researchers

Need a reproducible baseline with a disclosed synthetic dataset.

Challenges

  • No public Nigerian review dataset of the right shape
  • LLM reviews drift into generic, polite English
  • Rankings must come with reasons, not just scores
  • Two services must agree on one view of the user

What we built

Shared persona engine

Extracts traits such as price band, cuisine, register and timing from a user's history; both agents use the same persona.

Review simulation

Writes in the user's register, from Pidgin to formal English, and predicts the star rating.

Ranked recommendations

Scores the catalogue against the persona and returns each pick with its reason.

Live APIs

Two FastAPI services with interactive docs, containerised and deployed.

Flow

  1. Review history
  2. Persona engine
  3. Task A: simulate review
  4. Task B: rank places
  5. Reasons attached
  6. FastAPI response
  7. Evaluation

Tools & languages

  • Python
  • Claude (Anthropic API)
  • FastAPI
  • Docker
  • Render
  • Pydantic

The code

Both agents, the FastAPI services, the dataset generator and the evaluation suite. The dataset is synthetic and disclosed as such.

View the code on GitHubTalk it through on a call