Building Winote: A Tasting Notes App for Working Sommeliers
The wine industry moves billions of dollars through the hands of working sommeliers. These are the people who decide which wines end up on restaurant lists, what distributors push, what producers actually sell. These professionals taste 30-40 wines in a single sitting, hundreds per year, and they’re tracking almost all of poorly. Hastily written notes on napkins, sell sheets, or event booklets. Maybe they use a notes app on their phone. Almost every app built for wine was built for enthusiasts at home, not professionals in the middle of a portfolio tasting. Nobody solved the right problem.
Winote is my attempt to fix that. It’s a progressive web app built around one constraint: a complete, WSET-aligned professional tasting note in under 60 seconds, without typing. The growth mechanic runs through distributors, not marketing spend. And the long-term play is a structured professional tasting dataset that nobody else has at scale — one that Vivino, Wine Folly, or wine.com would pay serious money to acquire. Here’s how I thought through building it.
- Speed Is the Whole Design
- The Camera Is a Trust Problem
- The Offline Problem Nobody Talks About
- Distributors Are the Distribution Channel
- Winote Trade
- What Nobody Has Built Yet
- How It Was Built
- Where It Is Now
Speed Is the Whole Design
Most product decisions trace back to one constraint: under 60 seconds, start to finish.
Not 60 seconds of typing. A working sommelier can’t type during a tasting — their hands are swirling a glass, their attention is on the wine, and the room is moving. The constraint forces a specific kind of interface: taps and slides, not keyboard input. Choose from options, not compose from scratch.
This ruled out almost every form-based approach. It pointed directly toward structured selection: descriptor chips you tap to toggle, sliders that snap to calibrated points on the WSET scale, a scoring system that works from four checkboxes. The only place a user types freely is an optional notes field at the very end. Everything else is structured input.
The tasting flow has eight screens — Color, Aroma, Taste, Finish, Score, plus photo capture, wine confirmation, and the library home. None of them require typing. A sommelier who knows what they’re doing can move through the whole sequence faster than they can finish the wine.



That’s not accidental. Every screen is a design decision that traded expressiveness for speed. You can’t write “the nose had an unusual mix of petrichor and dried apricot with a hint of reduction that dissipated.” You can tap Mineral → Stony/Steely, Dried Fruit → Apricot, and add a custom chip if you need it. The structured input is the point — structured data is what makes the notes useful later, and useful to anyone besides the person who wrote them.
The Camera Is a Trust Problem
Sommeliers recognize labels on sight. They don’t need to read them. But the app does.
The original instinct was to make label scanning seamless — photograph it, AI reads it, you’re already at Color & Body. The reality is that AI vision on wine labels is imperfect, and a wrong producer name or vintage in your library is worse than no note at all. Bordeaux labels with decorative typography, back labels with the actual vintage, wines with similar names from different producers — the failure modes are real.
So there’s a confirmation screen. Every time. The AI pre-fills what it found, the sommelier reviews it in two seconds, corrects anything wrong, and moves on. It’s not frictionless. It’s trustworthy. A tool that professionals rely on has to be right before it’s fast.
The manual entry path exists for the same reason. If you don’t have the bottle in front of you, or the camera isn’t cooperating, you type the name and keep moving. The structured tasting flow is the same either way.
The Offline Problem Nobody Talks About
Distributor portfolio tastings happen in event spaces, restaurants, hotel ballrooms, and warehouses. WiFi is often terrible. Cell signal is often worse.
An app that requires connectivity to save a note is an app that sommeliers will stop trusting after one bad experience. Lose a note because the connection dropped and you’ll never fully rely on the tool again.
Winote is offline-first. Every note saves to local storage the moment you tap Save. Sync to the server happens in the background when connectivity is available. From the sommelier’s perspective, the app always works. They never see a spinner or an error at the moment they need to save.
This was a foundational architectural choice, not a feature. Offline support with background sync shapes the data model, the conflict resolution logic, and the auth flow. It’s harder to build. It has to be there from the start.
Distributors Are the Distribution Channel
Sommeliers don’t go to tastings alone. They go together — fifty or a hundred at a time, poured by a distributor rep who’s showing off a new portfolio.
That’s where the growth mechanic lives.
The rep hosting the tasting has a problem of their own: they pour forty wines for sixty sommeliers and get almost no structured feedback. They know people liked the Grenache because the bottle emptied first. They don’t know whether it was the price point, the body, the finish, the story. They have nothing to bring back to their manager or the producer.
Winote gives them something. Create a tasting event, pre-load the wine lineup, print a QR code for each bottle on the table. Sommeliers scan, tap through their notes, and by the end of the event the host has aggregate data: which wines rated highest, which descriptors came up most often, which ones the room flagged as bang for the buck.
The rep promotes the app — “rate today’s wines here” — because it gives them data they want. The sommelier uses the app because it’s a better version of what they were already doing. After the tasting, they see what everyone else thought. They’re hooked.
The distributor is the distribution channel. That’s the insight that makes the growth model work. You don’t need to convince sommeliers one at a time. You need Winebow and RNDC and Southern Glazer’s to include a QR code at every portfolio tasting. At that point, adoption is a byproduct of showing up to work.
Winote Trade
The taste app is what sommeliers use at the table. Winote Trade is what the people who sold them those wines use back at the office.
It’s a web-based portfolio management and analytics platform for distributor reps, importers, and portfolio managers. Where the taste app is designed for a phone in one hand and a glass in the other, Trade is designed for a screen — before tastings and after them.

The portfolio view gives reps a filterable catalog of every wine they carry: style, country, region, appellation, varietal. Each entry connects to detailed varietal and regional knowledge — the context a rep needs to actually sell a wine, not just list it.

The deeper play is the analytics layer. When sommeliers rate wines through the taste app, that data flows into Trade. The rep who hosted the event sees aggregate results: which wines scored highest, which aroma descriptors came up most often, which ones the room flagged as exceptional value. For the first time, a distributor has structured, anonymized professional feedback on their entire portfolio — not just which bottles went empty, but why.
That intelligence compounds across events. Multiple tastings, multiple cities, multiple sommeliers — you start to see which wines travel across markets, which ones fall flat outside their home region, which price points consistently over-deliver. For an industry that has run on gut feel and relationships for decades, this is genuinely new information.
What Nobody Has Built Yet
Vivino has 50 million consumer ratings. CellarTracker has hundreds of thousands of collector notes. Both are valuable datasets.
Neither is what Winote is building.
WSET-framework tasting data from credentialed professionals is a fundamentally different asset. Not “I gave it four stars because I liked it.” Structured evaluations: color intensity, nose development, palate structure, finish length, BLIC scoring, price-to-quality assessment. From people who taste professionally, in volume, at events where the same wines get evaluated by dozens of sommeliers on the same night.
The acquisition pitch writes itself. To Vivino: you have 50M consumer ratings. We have structured professional evaluations. Together, you’re the Rotten Tomatoes of wine. To Wine Folly: you’re the best wine education brand — we have an active community of WSET students and working somms generating structured data daily. To wine.com: we know exactly what professional sommeliers rate highly at every price point. That’s your recommendation engine.
The app is free for sommeliers. Free to host an event. The structured data aggregate is the product. Distributors pay for the analytics. Producers pay for the professional feedback they can’t get from a single critic. The network compounds: more sommeliers means better data, which means more value for distributors, which means more distributor promotion, which means more sommeliers.
How It Was Built
The build approach was walking skeleton first — ship something usable end-to-end, then layer features on top.
Sprint 1 was the minimum: sign in, manually enter a wine, walk all five tasting screens, save a note, see it in the library. No camera, no offline sync, no events. Just the core loop working, on a real phone, before building anything else.
Every sprint validated one hypothesis against reality. Camera + AI label parsing: does Claude actually return useful structured data from a Burgundy label? Yes, with a confirm screen as the trust layer. Offline sync: does background sync actually work when you come back online after airplane mode? Test it explicitly, not in theory. Tasting events: can two devices actually sync aggregate results in real time after both submit notes?
The pattern was the same across every piece: describe the problem and constraints, get a working baseline, run it against reality, fix what breaks. Claude as a collaborator throughout — not to write code autonomously, but to compress the cycle from problem to working version to refined version. The economics of solo development have changed. A project that would have required a team and months now has a complete V1 in weeks. The value isn’t automation. It’s the speed of the iteration loop.
Where It Is Now
- V1 covers the full tasting flow, camera + AI label parsing, offline-first sync, and tasting events with host aggregate views. It installs as a PWA on iOS and Android.
- V1.5 is the full host analytics dashboard — desktop-optimized, per-wine BLIC breakdowns, descriptor frequency analysis, structure profile averages. That’s the product distributors pay for.
- V2 adds the B2B paid tier: historical event trends, portfolio analytics across multiple tastings, export, API access. That’s when the data asset starts generating revenue.
- The sommelier app stays free. It has to. The data only gets valuable when the network is large, and the network only grows if the tool is worth using for free.
Fall in love with the problem. The problem here is clear: working wine professionals have no good tool for their most fundamental task. Everything else — the viral mechanic, the data play, the acquisition positioning — follows from solving that problem well.
Winote is available at winote.app. V1 is in active development.
