Technology
Cuisine is the wrong unit.
Ask someone what food they like and they will name a cuisine. It is almost useless information. Two people who both say “Thai” can disagree about every dish on the menu, because what they actually differ on is heat, sourness, texture and sweetness — and nobody describes themselves that way.
The idea
TasteTwins models the dish, not the cuisine and not the restaurant. Each dish is described as a set of sensory intensities — how much heat, how much acid, how much crunch, how much savoury depth — and your palate is described in the same terms. Learning your taste means finding out where your coordinates sit. Matching you to a dish, a venue or another person is then a question about distance in that space, which is a well-posed question with a real answer.
Doing this properly needs a vocabulary rich enough to describe food that is not from the Western canon. That is the hard part, and it is why we started with Sierra Leonean and West African cooking rather than with the easy cases.
Four layers
Layer 1
Describe the dish
Every dish in the catalogue is given a sensory profile: intensity values across the taste dimensions, plus categorical descriptors for the things that are kinds rather than amounts — preparation method, base ingredient family, and so on. This is the foundation, and it is also the slowest and least glamorous part of the work.
Layer 2
Learn the palate
You rate dishes on a seven-point scale, from strongly disliked to strongly liked. Each rating pulls your palate coordinates toward or away from that dish’s profile, weighted by how strongly the dish expresses each dimension. A dish that is emphatically one thing teaches the model more about that thing than a dish that is mildly several. Enough ratings and the shape of a palate emerges — including the parts you would never have thought to state.
Layer 3
Explain the result
After a meal you can select Taste Drivers — short, fixed descriptions of what actually made it good or bad. This does two things. It gives the model a correction signal that a star rating cannot carry, and it lets the app tell you why a recommendation was made, in words, instead of asking you to trust a number. A recommendation you can argue with is a recommendation you can improve.
Layer 4
Find the overlap
Once palates are points in a shared space, so is the overlap between two of them. The app finds people whose taste genuinely intersects yours, identifies the region where you agree, and recommends into it — which is a different and much better problem than averaging two lists of favourite restaurants. Then it helps you turn that into an actual plan, because the failure mode of “we should eat sometime” is never the food.
What is actually built
Round numbers make people suspicious, and they should. Here is the catalogue as it stood on 30 August 2026:
- Canonical places1,475
- Menu items described956
- Photographs2,005
- Rating scaleSeven points, strongly disliked to strongly liked
- PlatformNative iPhone app, private testing
- Data layerPostgreSQL with row-level security on every application table
Numbers we are not using
This is a working catalogue at the scale of a company that has been building for months, not years. You will not find “millions of ingredients” or “global cuisine coverage” anywhere on this site, because neither is true yet, and a figure that cannot be checked is worth less than a small one that can.
Built for the food that gets left out
The Sierra Leonean seed dataset is a deliberate stress test rather than a market. We describe a set of dishes with their Krio names, ingredients and preparation methods, then check whether our own model can tell them apart. Where it can’t, we have found a missing dimension.
Concrete examples of what that surfaces: a model with a single “fat” axis cannot distinguish red palm oil from olive oil, though they taste nothing alike. A model with no viscosity dimension cannot tell a thin broth from a stew ground to a heavy paste. A model that reads ingredient lists literally misses dried fish used as background seasoning — which is a flavour gap and, for someone with a fish allergy, a safety gap.
Each of those is a fix that improves the model everywhere, not only for West African food. That is the argument for starting at the difficult end.
Where the computation goes
Two things in this product are genuinely expensive to compute, and both get harder as it grows: describing dishes at scale — extracting sensory structure from menus, text and photographs — and searching a high-dimensional palate space fast enough to answer a query while someone is standing on a street deciding where to eat. Neither is a research novelty. Both are engineering problems where hardware matters, and they are the reason this is built as a data and compute problem rather than as a list of restaurants with a filter on top.
What this is not
- Not genetics. “Taste DNA” names your learned preferences. There is no genetic test, no sample and no genetic data. We have been asked enough times that it is now in the privacy policy too.
- Not a medical or nutritional tool. It does not diagnose, treat, prescribe a diet or give clinical advice, and it is not a substitute for a professional who does.
- Not a validated instrument. The matching works and people find it useful. It has not been through a designed study, and until it has we will not describe it as accurate, validated or clinically meaningful.
- Not an allergy safeguard. Dietary filters use data that can be incomplete or out of date. Confirm ingredients with the venue. Always.
- Not what the demo shows. The browser demo uses a deliberately simplified arithmetic to illustrate the interface. It is not the production engine and its scores are not calibrated probabilities.
Going deeper
This page describes the architecture at the level that is useful without being a specification. The exact dimension set, the weighting scheme and the update rule are internal, and are shared under a confidentiality agreement with research and technical partners rather than published. If you are one, or would like to be, write to hello@tastetwins.app and say what you are working on.