
Rethinking how machines read human emotion.
Four years, three papers, one working prototype — arguing that Emotion AI built from massive datasets is biased by design, and that a bottom-up model trained on the individual is the way out.
once given context
from one person
personal model
Emotion AI captures a three-second twitch. It misses the person.
Facial-coding systems only see primary emotion — the instant, involuntary reaction. Everything that actually defines how someone feels lives further down the chain, and a camera never sees it.
- Instinctive, involuntary reaction
- Common to everyone — universal facial cues
- A raw defence mechanism
- Gone almost as fast as it appears
- Shaped by context and cognitive appraisal
- Varies person to person
- Built from memory, culture, experience
- The long-term affective state that defines someone
A wink and a blink look identical. A cringing smile and a happy smile look identical. Trained only on faces, AI cannot tell the difference — so it defaults to the average, and the average is where bias lives.
One neutral face sits on top of all of this.
Cognitive appraisal — the real driver of what we feel — is fed by culture, memory, environment, temperament and preference. A face-only model throws every one of these away.
Two ways to build Emotion AI. Only one respects the person.
Start from millions of faces and you get one averaged model that misreads anyone unusual. Start from the individual — calibrated to their own neutral, labelled by them — and the model finally has a chance. Scale up only where patterns genuinely hold.

Let the machine measure. Let the person mean.
The fix isn't more surveillance — it's a clear seam between what a device can measure accurately and what only the person can tell you. Collect the minimum, with consent, and hand meaning back to the human.
AffectLab — a model that learns one person at a time.
Built in Python with MediaPipe and a Random Forest classifier. It never trusts the raw face — it measures change against your own neutral baseline, and only you decide what each moment meant.
Six affect-family buckets
Fine labels overlap visually, so the model predicts a family — honest about uncertainty instead of faking one exact emotion.
On other faces, a one-person model breaks in revealing ways.
Tested live on ten new people, the model transferred only for big, obvious expressions — and failed exactly where the theory said it would. That failure isn't a bug. It's the whole argument.
The full peer-reviewed record.
Emotion AI should be honest, personalized, and culturally aware.
If you're researching affective computing or thinking about the ethics of these systems — I'd love to talk.
Start a conversation →