All guides

For contributors

Every member keeping a notebook of tasting notes and adding wines, and Contributors - your own cellar, wine runs, and hosting

Last updated 29 October 2026

What this is

barberry.io started as one person's wine notebook and, for most of its life, that's exactly what it was - I wrote, you read. The plumbing is now there for you to keep a notebook of your own under the same roof: your cellar, your tasting notes, your scores, your analytics, all sitting alongside mine rather than mixed in with them.

This guide covers the notebook every member keeps, the wines every member can add to the catalogue, and what a Contributor membership adds. If you're reading it because you're curious - you're in the right place, but you'll also want the Start here guide first. That one explains what the site is and how to find your way around.

Accounts and memberships

  • No account. Everything public (wines, producers, posts, event reports) is open to read. Most visitors stop here.
  • A free account, self-serve at /register. Adds a notebook of your own (tasting notes and drafts), adding wines and producers to the catalogue, the photo helpers that find a wine from its label or fill in a new one, a profile, Telegram reminders, and coming to tastings: the first time you sign up for one, the site asks you to message the host once, and after that you sign up yourself.
  • A membership, one of three (see Membership): Reader opens the full notes and event scoring; Contributor adds your own cellar, wine runs and hosting your own tastings, and more room for the photo helpers; Patron adds a balance to spend on the site and the patron-only gatherings.

How to get Contributor

  • Take a membership. The Contributor and Patron tiers both include it, and it unlocks the moment your subscription goes active - no waiting on me to flip a switch.
  • Drop me a line. boris@barberry.io with a sentence or two about what you'd want to use it for. I can switch it on for someone, and the price of entry is your opinion: use it, break it, and tell me what's missing.

Once you're in, you'll see the same shell as before with a few more affordances unlocked - "Add bottle" on your cellar, wine runs, and the host's pages once you run a tasting.

Your cellar

Your cellar lives at /profile/cellar. Adding a bottle is the main gesture. Every bottle carries three things worth remembering:

  • The wine. Picked from the catalogue. If the wine isn't in the catalogue yet, you can add it from the same dialog without leaving what you're doing. See Adding wines below.
  • The price. What you paid for this specific bottle, in whatever currency you paid in. This is per-bottle, not per-wine - the same Champagne bought in Kyiv and in Paris will happily carry two different prices. When you add a bottle, the dollar figure beside the price is not yours to type: the site works it out from the exchange rate of the purchase's day, shows it in the form as you go, and stores it with the bottle. Editing the bottle later lets you correct it.
  • The location. Two levels. The primary is a categorical label you'll reuse a lot: "Home Cellar", "Kitchen rack", "Wine fridge", "Komora", whatever makes sense for your setup. The detail is the specific slot within it - "shelf 11", "top drawer", "case #3". Both are free text; the site doesn't try to be clever about what you mean. Pick conventions you'll stick to and your analytics will reward you. The primary location and source pickers remember what you've used before and list the frequent ones first (recent purchases break ties), so your usual answer is one tap away.

The fast paths

The Add bottle button offers three routes: pick from the catalogue, photograph the bottle, or snap the whole receipt (the photo routes come with the AI tools - see Identifying a wine from its label below). Whichever you take, the form pre-fills what it can - location and source from your most recent bottle, price from the wine's catalogue price when it's your first bottle of it - and anything you type wins over a default.

  • Save & add another keeps the dialog open and carries the purchase context (date, currency, location, source) back to the picker. Five wines from one shopping run is one loop, not five separate flows.
  • Photograph the bottle - Barberry reads the label and matches it to the catalogue. When the defaults cover every field, you get a one-tap confirm card instead of the form: the wine, a row of value chips, one button. Tap a chip to edit. Snap the invoice along with the label and the price, date, and quantity come straight off it.
  • Snap a receipt - one photo of the whole receipt; every wine on it gets matched to the catalogue (by the shop's own SKU where we track it, by name otherwise). Review the checklist, adjust the shared date, source, and location, and add every bottle in one tap. Lines the catalogue doesn't know stay flagged - scan their labels afterwards, or add the wines first.

On a phone, the same actions live behind the [+] button in the bottom bar, wherever you are on the site.

Bulk intake: snap a whole wine run, review it later

Came home with 30 bottles? Don't scan them one by one. Bulk intake (the [+] button on a phone, or the Intake tab in your cellar) is a different rhythm: work bottle by bottle - photograph every side of the bottle in hand (front, back, importer sticker; the back label is where the good stuff hides), tap Next bottle, repeat. Toss in the receipt photo too if you have one, and hit submit. Photos you took earlier import from the gallery, with a grouping step to mark which shots show the same bottle. The upload happens straight from your phone, so even a big batch takes seconds of your attention.

Each bottle and each receipt you submit takes one of the week's label identifications, and a bottle may take one of its new wines too (see Identifying a wine from its label below); a new-wine place the bottle turns out not to need goes back to your week. If the week runs out partway, the bottles before that are queued and the message says when the rest may go.

Then walk away. Barberry works through the batch in the background: matching labels against the catalogue, drafting entries for wines the site doesn't know yet, matching receipt lines. It matches against the approved catalogue plus the wines and producers you added that are still waiting for approval; other members' unapproved entries never show up as matches. When the whole batch is done you get a Telegram ping (toggleable in your notification settings) with a link to the review screen.

The review screen leads with the outcome, not the uploads. At the top, the receipt sits as a quiet reference block (shop, date, line count, the receipt's own total); its date, source, and currency are editable under "edit details". Below it, "adding to cellar" is one list of the wines that will actually land: one row per wine, with the resolved name, where it came from (a receipt line, your bottle photo, or both), the count, the price each, and the line total. Prices show in whole hryvnia. New wines carry a "new, pending" badge and go through the standard approval queue. At the bottom you type the location once (plus an optional sublocation for the exact slot; "it is somewhere else now" logs a transit move), check the grand total, and press a single confirm for the whole batch.

Everything the AI got wrong is fixable in place on the row: retype the quantity or the price, tap a quick "use ..." toggle to switch between the catalogue match and the create-from-bottle reading, or open "change wine" to search the whole catalogue. "Remove" leaves a row out this time (it stays reviewable later, under "not adding"). A row that still needs a decision, a wine or a price, blocks the confirm with a plain note instead of silently dropping out. Nothing is written until you confirm, and what the list shows is exactly what lands.

If you snapped both the receipt and the bottles, each bottle photo folds into its receipt line so the wine appears once, not twice: the receipt sets price and quantity, the photo rides along and becomes the wine's image. "Detach" splits a wrongly paired photo back out into its own row. When the catalogue doesn't have the vintage on the label yet (a fresh release the receipt could only match to an older year), the row does the right thing instead of filing a 2021 under 2020: it reads "create ... (new, pending)" and confirming mints the correct wine from the bottle's own reading, then adds the receipt's bottles to that. A brand-new producer bought as several cuvees on one run lands once, not per line: the first wine creates it and the rest of the batch reuses it. Confirming again after an error is safe, too: if a confirm trips halfway (say the new wine landed but its bottles did not), the retry picks the created wine back up instead of minting a duplicate. And if Barberry misreads a bottle and can't place it on the receipt, that bottle shows up as its own row that says so, with "link to a receipt line": pick the line it belongs to and it folds in, creating the right wine and inheriting that line's count and price instead of landing as a lone bottle at no price.

Photos still processing sit in a strip above the list and turn into rows as they finish (the page keeps itself current). Failed ones show why, with retry and dismiss right there; a blurry photo costs nothing. If the cellar is no longer on your account when a batch gets processed (say your membership lapsed in between), its photos fail without being read; retry them once it's back. Bottles with no receipt at all (a gift, a photo-only run) sit in the same list as their own rows: count 1, price you type, same shared details. A batch you submitted by mistake can still be cancelled while it's queued. Cancelling only takes out the photos that have not been read yet: whatever was already processed stays for review, and the batch finishes within a minute. If anything in it still waits for you, you get the usual ping.

Browsing and filtering

The cellar view defaults to a grid of bottle images. Switch to a table if you prefer dense rows. Filters across the top narrow by origin, grape, producer, colour, type, sweetness, fortification (when applicable), importer, price range, and location. The location filter folds sub-locations under each primary: expand a location to tick a single box or shelf, or pick the primary itself to cover all of them, and use the search field at the top of the dropdown when the list grows long. The main search box also matches storage locations, so typing "komora box 7" finds whatever lives in that box. Sort by name, vintage, what you paid, rating, quantity. In the table, Avail. is how many bottles of the wine you have, and Paid is the average you paid per bottle (in USD, at the purchase date's rate). ⌘K also searches across your cellar alongside everything else.

The cellar in table view

The table view: every bottle with its producer, vintage, origin, score, price, and quality-to-price ratio, all filterable and sortable.

The Bottles tab: every bottle on its own row

The Inventory tab groups your cellar by wine. The Bottles tab (/profile/cellar/bottles) lists every bottle separately, which is the place to do things to them. The status pills across the top (in cellar, for sale, consumed, sold, all) double as counts. Search matches the wine, producer, location, source, note, and the bottle number (type #42). You can narrow to one location and sort by number, wine, location, purchase date, what you paid, or asking price. A line above the list totals what is on screen: how many bottles, roughly what you paid, and what the ones for sale are asking.

Tick a few bottles (or the box at the top for everything shown) and a bar appears at the bottom:

  • Move sends them all to one location. Each bottle still gets its own entry in its move history.
  • Price sets the same asking price on each of them, or clears it with Not for sale.
  • Consume marks them consumed today. Bottles reserved for an upcoming event are left alone, and the toast has an undo.

Each row also has the usual actions: move, consume, and the "..." menu.

Asking price: what you would sell a bottle for

Any bottle in your cellar can carry an asking price, the amount you would sell it for. It is information only. Nobody else sees it, nothing is listed anywhere, and no money moves. Set it from the "..." menu on a bottle (Set asking price), in the edit dialog, from set price on a row in the Bottles tab, or for many bottles at once with the bulk bar. A priced bottle shows a for sale chip with the amount (tap it to change the price), the Inventory cards say how many bottles of a wine are for sale, and the For sale pill in the Bottles tab lists them all. When you do sell a bottle, the sell dialog starts from its asking price instead of what you paid.

Bottles on the wine's page

Every wine you own shows a Your Cellar table on its own detail page - one row per bottle you have (or had) of that wine, with its status (available, consumed , or sold ), its location, source, purchase date, price, asking price, and any private note you left on the bottle. The checkmark consumes the bottle right there; edit (purchase date, price, source, comment, asking price), set asking price, sell, and delete live under the "..." menu on each row. Saving an edit changes only the fields you changed, so a price you set on your phone while the page sat open stays as it is; if you changed that same field on both, the save stops and asks you to reload instead of choosing between them. Selling records the buyer (a member or just a name), the price and the date, as a sale you were paid for outside the site. If you can host, the sell dialog also offers via barberry.io: the buyer has to be a member, and the price goes on their balance with you as a charge instead, in the currency you price it in: a bottle sold for 100 euros is 100 euros they owe, kept apart from anything they owe in hryvnias. The price starts from the bottle's asking or purchase price when that is in the sale's currency. A consumed or sold bottle has back to cellar in the same menu, for mistakes you notice after the undo toast is gone. Undoing a sale also reverses its charge or envelope entry. If the buyer already paid for a sale that went on their balance, that payment stays there as credit with you. It's the same data as the cellar view, cut by wine instead of by inventory - convenient when you're deciding whether tonight is the night.

Priced bottles also carry a your QPR note next to the price: the wine's quality-to-price ratio re-based on what you actually paid rather than the market price. Pay 20% under retail for a fairly-priced wine and your bottle quietly crosses into good-deal territory - the note takes colour (and names the band) only when your price moves the bottle into a different band than the wine's own verdict, so an ordinary shop discount stays grey. Free and gifted bottles show nothing: a free bottle isn't an infinite gem, it's just not a purchase.

Consuming a bottle

When you open a bottle, tap the checkmark on its row. That marks it consumed today in one tap, with an undo in the toast; after that, Not consumed, back to cellar in the "..." menu brings it back. Linking a bottle to a tasting note you write also consumes it. Reserved bottles can't be consumed from the row, so an upcoming event never loses its bottle by accident.

A note names only a bottle from your own cellar. That holds for a note written at an event too: the host's bottle stays with the event, not on your note. If you brought a bottle yourself, say one poured blind, edit your note on the wine's page once the pour is revealed and pick the bottle: it is marked consumed on the note's date, the event's day. While the pour is still in its bag, its note can't name a bottle, since that would say which wine is in it.

Buying a wine again

If you've bought a wine before, the Add Bottle dialog shows your previous purchases of it as tappable chips - price, source, and location, with a count and the last purchase date. Tap one and the form fills itself; only the purchase date stays at today (it's a new purchase) and the USD price re-converts at today's rate. These suggestions come strictly from your own cellar - nobody else's purchases, and nobody sees yours.

Batch operations

Adding ten bottles of the same wine? The dialog has a quantity field. Each bottle gets its own ID, its own location slot, and its own price if you want to differ them. To move, price, or consume several bottles at once, select them in the Bottles tab.

Reservations

Bottles can be reserved for an upcoming event you've signed up for. A reserved bottle stays in your cellar count but is marked unavailable so you don't accidentally drink it on a Tuesday night.

Rating wines and writing tasting notes

The rating is the short end. The note is the long end. Both end up on the wine's detail page under your name, dated, stamped with the venue or event if there was one.

Every registered member writes notes, contributor access or not. What contributor access adds to them: a bottle from your cellar on a note, a new venue or a new person in the pickers (everyone's pickers list them), and pictures pasted into a note.

What a rating looks like

Scores here are personal - the five-point scale with two decimals described in the Start here guide. You can leave a rating without a note or a note without a score, though the most useful ratings carry both. A favourite flag (the heart) is separate from the score - it captures "I would recognise this anywhere and I want to remember that I loved it" rather than an absolute number.

Privacy

A note is either a draft, still being written, or finished. A finished note is private or public.

  • Draft - only you can read it. Not other participants, not the admin, nobody. Drafts are working thoughts: they stay yours until you publish them. Notes typed during a live event start as drafts; so do notes captured on the fly via /drafts/new; so do the blind ones you write before you know what you're drinking. A draft can already say who will read it once it's finished (the iOS app lets you choose); one that doesn't takes your default when you publish it.
  • Private - only you (and the admin, for reasons of database physics - see the admin-side note below) can read it. This is the default for notes written outside an event. "Honestly" sometimes means unflattering things about wines your friends brought to dinner; the site protects that by default.
  • Public: anyone may read it, once it names a wine. A public note from an event stays out of sight while the event is still running or being scored. The site lists the admin's and co-authors' public notes on the wine page, the recent tastings list and event reports; a public note by any other member is open to read but shows only on that member's own pages for now.

Capturing a draft in the moment

Three paths land in the drafts inbox, each for a different rhythm:

  • /drafts/new - the "+ Draft" button in the nav (or Quick note behind the [+] in the phone bottom bar) is the fastest way in. Tapping it creates a blank draft and drops you straight into the focused editor with the keyboard ready; no wine picker to answer first, no "Save" button to hunt for. Start typing, tap a score, identify the wine when you're ready. Everything saves to the server as you go - and if the connection drops mid-dinner, your keystrokes also stay on the device and sync the next time the draft opens. Think of drafts as an inbox for fleeting notes - figure out specifics (what, with whom, where) later.
  • Live event page. Still the right place when you're inside a hosted tasting - score + note get attached to the event automatically, and your score feeds the live scoreboard. If the pour is a blind wine, the draft it creates keeps the paper bag on everywhere: your drafts inbox shows it under its blind label ("Wine B", not the real name) until the host reveals it. No peeking at your own inbox mid-flight. A score the host enters for you makes that draft too, with no words yet, and your note's score and the event's are always the same one: change either and the other follows. Once the host finalizes the scores, the score is locked on both; your words stay yours to change.
  • Wine detail page. Write a full rating straight to private/public from the wine's own page when you already know exactly what you're reviewing and don't need a draft stop along the way.

The note editor on all three surfaces supports GitHub-flavoured markdown. Type [ inside a note to search for and link another wine, post, or producer; with contributor access, paste or drop an image to upload it inline.

The focused draft editor

The focused editor: identify the wine, tap a score, write the note. Everything saves to the server as you go; the blind label it started as is kept as a footnote.

Place, people, and a bottle

Under the note, a quiet row records the context: when (the tasting date, defaulting to today; tap it to correct a note written up after the fact), where (a venue, a host's home, or just typed-in text), who you tasted with (recently co-tasted people surface first; with contributor access, invent a guest on the spot if they're new), and, once the wine is identified, which bottle it was. The whole row autosaves; there's no Save button.

When you're working through several wines in one sitting, a fresh draft offers a one-tap Same as ... shortcut: if an earlier draft from the same day already has a place and people, tap Use to copy both across. It only shows while the new draft's location and participants are still empty, and quietly steps aside once the draft has context of its own.

When you tasted together with another member, they may have written their note first. On a wine's page, if someone's note of the same wine on the same day lists you among the people they tasted with, the note form asks Did you drink it with ...?. Copy place and people fills in their venue and their company: them in place of you, plus everyone else they listed. People you had already picked stay. Nothing else comes along: their score, their words and who can read their note stay theirs. The offer is per wine, since the company can change from bottle to bottle, and it follows the date when you change it. Only a note that lists you can offer its table; drafts and notes written at an event don't.

With a cellar, the bottle picker ties a draft to a specific bottle from your cellar: linking it marks that bottle consumed, the same as drinking it from the cellar view. Don't have it on the shelf yet? Pick Acquire a new bottle to record one (price, location, source) without leaving the draft; the new bottle is linked automatically. Blind drafts don't show the bottle picker until the wine is identified.

Blind drafts

A draft without a wine is fine; in fact every quick note starts that way. A new draft from /drafts/new is blind, under a short label ("Wine 1", "Wine 2") so several blind drafts in one session stay distinguishable. Everything else about a blind draft behaves normally - score, note, autosave to the server - except it can't be published. The Publish button flips to Identify to publish until you pick the real wine. Once identified, the blind label is quietly preserved as historical context under the wine name on the draft ("drafted blind as 'Wine 2'").

Identifying a wine from its label (preview)

Every member has the AI identify tools, within a weekly allowance: 30 label identifications and 10 new wines filled in from a label in any seven days, or 300 of each with a Contributor or Patron membership. When a week's are used up, the tool says when the next one frees up. There are two entry points. From the command palette (cmd/ctrl-K), pick Snap a label to capture or upload up to four photos of a bottle's labels - front, back, capsule, importer sticker, whatever's legible. Barberry reads them, looks up matches in the catalog, and offers one of:

  • In the archive - the wine is already here. Open it, or start a draft on it.
  • A few possibilities - pick which catalog wine matches, or skip and keep the draft blind.
  • New to the archive - saves a blind draft with Barberry's best read of the label so the inbox card isn't just "Wine 1", or, with Add to catalog, adds the wine itself (it waits for review, like any wine you add).

Identifying a wine from its label

Barberry read this Stella di Campalto label (down to the estate name on it) and surfaced the closest catalogue matches, the right wine first.

The second entry point is on a blind draft itself: alongside the existing Identify button (catalog search) you'll see From photo. Same flow, but it rewrites the current draft instead of creating a new one.

Both photo entries are every member's, within the same weekly allowance. They're still in preview, so we'd love your feedback on them.

The drafts inbox

/profile/drafts is the single list of every unpublished note you own. A red dot on your avatar (and on the Drafts menu item inside) tells you when the pile isn't empty. Opening a solo draft lands you in a focused editor at /drafts/[id] - swipe or arrow-key to slide between drafts without going back to the list. From there, publish, delete, change the wine, or identify a blind one - all inline. Event-linked drafts are marked with a small "event" pill and route straight to the event's live page with the wine preselected; score and sentiment live with the event, not the drafts surface.

Publishing a draft

When a draft is ready, Publish moves it out. The same button appears in three places, each for a different moment (drafts from an event publish with the event, below):

  • Drafts inbox at /profile/drafts. A row-level Publish → for when you're triaging the pile. Only appears on solo drafts - event-linked drafts publish through the event.
  • Focused draft editor at /drafts/[id]. The primary action at the bottom of the slide, next to Delete.
  • Wine detail page. Inline on the rating's meta row when you're looking at your own draft. Good for polishing a week later.

Publishing keeps the readers a draft already names; a draft that names none takes your default (Account → Publishing), which is private unless you chose public. It's one-way: there's no un-publish to draft. If you want to retract a published note, flip it to private via the wine-page edit form instead.

Event drafts also promote automatically when the host wraps up the tasting - either by clicking Finalize Scores or by settling the event's finances, whichever comes first. Each participant's drafts (notes and score-only entries) move into their notebook so nothing stays stranded in the drafts pile. A draft that already names its readers keeps them; for the rest, the visibility is a separate preference under Account → Publishing, the one that says "When the host finalizes scores, your event drafts auto-promote to this visibility." The default is private: your event impressions stay personal unless you explicitly opt them into the public timeline. If you'd rather have event drafts follow your general default, set the preference to Same as default. Reopening scoring later only unlocks the score field; already-promoted notes keep their visibility.

Editing

You can edit or delete your own ratings from the wine's page. Edits don't leave a visible audit trail, but they do update timestamps, so if you've revised a score three months later the date reflects the revision.

Adding wines the site doesn't know about

Every member can add a wine or a producer the catalogue is missing, with or without a membership. A new one is checked before others see it.

If the wine you want to add a bottle of isn't in the catalogue, add it where you are: in the Add bottle dialog, search for it and pick Add a new wine to the catalog (or Create "..." as a new wine with what you typed), which opens the New wine form in place. Add wine is the same form on a page of its own.

The form asks for:

  • Producer - picker with type-ahead. The list includes producers you added that are still waiting for approval, so a second wine from the same new estate attaches to the same entry instead of creating a duplicate. Typed names match ignoring case and accents. If the producer isn't in the catalogue at all, type a new name and pick "Create".
  • Name and vintage. Vintage is optional for NV wines.
  • Beverage. Wine (the default) or sake. The catalogue holds both, and sake reuses the same machinery - ratings, cellar, events. Picking sake swaps the wine-only fields below for two of its own: the grade as printed on the label (junmai, junmai-ginjo, daiginjo, ...) and the polishing ratio (seimaibuai - the percent of the rice grain remaining after milling). Fortification doesn't apply to sake.
  • Colour, carbonation, sweetness. Single-select chips.
  • Fortification. None / Fortified / Mistelle / Aromatised. For Madeira, Port, Sherry, vermouth, Barolo Chinato, and similar. Picking anything other than None reveals an optional cask age field underneath.
  • Bottling date and release label. Optional, available for any wine. Use them when a non-vintage release is identified by something other than a year: a bottling date off the back label, or a lot code like "L16372/05/23" on a grower Champagne or Sekt. "Lote 2" style release names go in the same field.
  • Grapes. Multi-select with synonyms - "Spätburgunder" surfaces Pinot Noir, "Tokay" surfaces Pinot Gris. If you pick a synonym the catalogue stores the canonical name. The order you pick is the order shown everywhere, so put the lead variety first; the list under the picker has arrows to reorder. Barberry keeps one list of grapes for everyone, so new ones are added at review: if yours isn't listed, name it in the note for the reviewer.
  • Origin. A country/region/appellation tree. Pick at whatever depth you know - "France" is fine if that's all you have.
  • Alcohol, volume.
  • Importer. Who brought the wine into the country, usually on the bottle's sticker. Leave it blank if you don't know.
  • Note for the reviewer. Anything whoever reviews the wine should know, most often a grape the list doesn't have. Only you and the admins see it, and you can change it while the wine waits for review. It sits at the end of the form; when a grape isn't listed, the grape picker links to it.

The description and a shop price are added when Barberry checks the wine. What you paid goes on your bottle, not on the wine: it can be a deal, and it isn't what the wine costs.

New wines go through a light approval queue. The queue mostly exists to stop the same Chardonnay being added eleven times with eleven different spellings. In practice most entries pass through in a day or two. Once approved, the wine appears in the public catalogue and can be rated by anyone who's had it.

From a photo (Barberry pre-fills it)

For every member, Pre-fill from photo sits at the top of the Add wine form, within the weekly allowance above. Snap or upload the front and back labels and Barberry reads what it can, the producer, name, vintage, colour, grapes, and origin, and drops it into the form along with a short note on what it inferred and what it couldn't see. Nothing is saved automatically: you review and correct every field, then submit to the same approval queue as a hand-typed wine.

Adding a wine from its label

Barberry read this Stella di Campalto label and filled the form, leaving a note on what it inferred (the grape, per DOCG rules) and what the single photo did not show.

The photo tools are wine-only for now: a sake label gets politely declined, so add sake through the form by hand.

Editing producers directly

The inline "Create" path on the Add wine form is the fastest way to add a producer you just need for a single bottle. For anything more - country and region links, correcting an existing entry - use Add producer from the Producers page, or the "Edit producer" link on a producer's page (visible on your own non-approved entries, and on everything if you're an admin).

The producer form asks for the display name, one or more countries and one or more regions. The descriptions and the cover picture are added when Barberry checks the producer. Producers created this way follow the same approval queue as wines.

Wine runs

With a Contributor or Patron membership (or an individual admin grant), /profile/wine-runs is where you plan what to buy. A run is a shopping list for a batch: an event, an offsite, a friend's order. Add wines (or free-text lines), set quantities, and the run tracks the list price, the discount you get, the actual price after it, and the line total, grouped by shop so you know what to buy where. Tick bottles off as they arrive; the header keeps a running spend, savings, and progress. Wishlists sit alongside, for wines you want but haven't slotted into a run yet.

A wine run

Planning a batch: list price, discount, and real cost per line, with savings and pick-up progress tracked across shops.

The Wine runs guide covers the pricing model, shop discount formulas, and wishlists in full.

Your pages

Your own pages live under /profile. The avatar in the top-right is the fastest way in. The top of /profile gives you an editorial overview - upcoming events, stats, top-rated wines, activity, consumption trends, favourite venues, recent events, latest wines.

Tabs along the top take you to the individual views:

  • Overview - the editorial page above.
  • Feed - every wine you've tasted, newest first, with filters that mirror the main catalogue.
  • Events - events you've scored wines at.
  • Analytics - deeper charts: rating distributions, vintage histograms, grape breakdowns.
  • Drafts - your unpublished notes (more on the drafts inbox above).
  • Ledger - event charges, settlements, top-ups, running balance. Below it, Settled directly: what you owe a host for a wine run, which is arranged in person and never goes through the site's payment gateway, so it stays out of the balance above.

Your profile is yours: only you and the admins can open it, and other members' profiles are closed to you too.

Cellar analytics

/profile/cellar/analytics is a separate view from the analytics tab above, because the data is different. It answers questions like: how much am I spending per year, what do I have too much of, what's been sitting there untouched, what's my most-represented country, how does the cellar's value distribute across locations. Because every bottle carries a real price and a real location, the charts mean something.

Cellar analytics

Where your money actually sits: by storage location, colour, country, producer, shop, and vintage.

The storage locations chart counts bottles per primary location. If you also fill in the location detail ("shelf 11", "case #3"), any location with more than one distinct detail gets a Show sub-locations toggle under the chart that breaks its count down per slot.

What's private, what's visible, what you'll see on event reports

Short version:

  • Your cellar. Private. Only you see it.
  • Your tasting notes. Drafts are yours alone until you publish; private notes are visible to you and the admin; public notes are open to read, and the admin's and co-authors' show up on the wine page and recent-tastings list. If a note is attached to an event you attended, your score shows up on the event report next to your name; the note doesn't unless you've published it.
  • Your profile. Other signed-in members can open it: its overview, feed, events and analytics, and how your taste compares with theirs. It is built from your event scores (which event reports show anyway) and the notes they're allowed to read, so a private note stays private there too. Your drafts are yours alone, and your ledger is yours and the admin's.
  • Your public name and avatar. Public - they appear on event reports, wine pages (under co-tasters), and in any event you're signed up for. Your public name starts as the name you signed up with; if you'd rather show less (a first name, a nickname), change it on your account page. Your full name stays private once they differ.
  • Wines you add to the catalogue. Public once approved. The catalogue belongs to everyone; the notes about it belong to their authors.
  • Your ledger. Private: you and the admin see all of it (settlement requires it), and a host sees the entries where they are the host.

A note on the admin side

I'm the admin. The database is mine, which means - technically - I could look at anything in it. I don't, and more concretely: I've deliberately chosen not to build any admin UI that would let me see what's in another member's cellar, or read private tasting notes, or browse anyone's personal pages beyond what the ordinary views allow. Drafts go one step further: the read policy in the database itself excludes drafts from any query that isn't the author's, so even I don't see them through any view. The temptation isn't so much resisted as removed at the root.

There are two reasons. The first is the obvious one: your cellar and notes are yours. The second is more selfish - we drink together, and I want to be surprised when someone pulls a blind bottle out of a bag. A cellar I've already snooped at isn't a blind tasting, it's a guessing game with an unfair advantage.

The one exception is the ledger, which I have to be able to see in order to settle with you after events. Everything else stays behind a door I haven't built a key for.

Hosting your own tastings

A Contributor membership includes hosting: create an event, manage its signups and its wines, run it live while everyone scores on their phones, and settle up afterwards through your own ledger. The Envelope ledger guide covers the money side.

Get in touch

Questions, bugs, feature requests, strong opinions about the default visibility of tasting notes - send them to boris@barberry.io or find me on Telegram. The whole point of contributor access right now is that you have the signal and I don't.

For contributors - Barberry Garden