“Crushed ants.”

That's what I said when someone asked me what I could taste in a glass of wine.

For my 21st birthday my father gave me 21 bottles of Penfolds Grange Hermitage, vintages running from the mid-1970s to the mid-1990s. I sold them to buy art supplies.

An old nose injury left me with very little sense of smell. The elaborate vocabulary of wine tasting— blackcurrants, leather, tobacco, forest floor—doesn't mean much when you can't reliably smell any of it.

But I can still experience sweetness, acidity, astringency, body, alcohol warmth and finish. I wanted to learn to recognise those sensations more reliably, so I built Anosmia.

Start with what you can feel

Most wine-tasting tools ask what you recognise. Anosmia starts with what you can actually perceive: sweetness, acidity, tannin, body, alcohol warmth and finish—six sensory dimensions, each with contextual guidance and a simple way to respond.

“Not noticed” and “Can't tell” are valid answers. There's no need to invent a convincing tasting note.

A glass in one hand, a phone in the other

I designed the recording flow for one-handed use. Controls stay anchored at the bottom of the screen, with the sensation overview and learning guidance in the space above. You can identify the wine and attach a photograph, but neither is required to record a tasting.

The Cellar Book

Each completed tasting becomes a permanent observation. You can correct a wine's identity or photograph, but not retrospectively change its sensory responses, tasting note, enjoyment rating or date.

Retasting creates a new record. The point is to see whether my perception changes over time, not to quietly rewrite my earlier answers.

Two glasses

A guided A/B comparison asks which wine feels more acidic, fuller or warmer—or whether you can tell the difference at all. Blind comparisons keep identities hidden until the appropriate point.

Design, build, test

I designed the identity, interaction flows and component system, then built Anosmia as an installable React and TypeScript PWA. It uses IndexedDB for local-first storage, supports camera capture and works offline. The interface has been tested across browsers and on a physical Android phone.

AI-assisted tools were part of the design and development process, alongside hands-on product decisions, debugging, test review and device verification.

I still can't reliably taste blackcurrants. But I want to find out what I can learn to recognise.

Walkthrough

A short video walkthrough is on its way—check back soon.

Tech

React, TypeScript, Vite,
IndexedDB, PWA, Figma,
UX / interaction design

Anosmia welcome screen, introducing wine beyond aroma
Wine beyond aroma
Recording a wine's six sensations with contextual guidance
What can you feel?
Tasting summary with sensory observations saved to the Cellar Book
Your tasting, recorded