The Tea Planet · Internal Master Reference

Boba Recipe Master

Four workbooks reconciled into one deduplicated index, grouped by serve type. Quantities normalised to grams and millilitres. Names that had no build are drafted from the thirty drink formats and marked as drafts.

{{ s.n }}
{{ s.label }}
Serve
Second layer
{{ resultLine }}

{{ it.headerLabel }}

{{ it.headerCount }} {{ it.headerNote }}
{{ it.photoEl }}
{{ it.flavor }} {{ it.serve }} {{ it.dupeNote }}

{{ it.name }}

{{ it.desc }}

{{ tg }}
{{ it.chev }}
{{ it.galleryEl }}
{{ it.photoNote }}
Ingredients
  • · {{ g.text }} {{ g.origLabel }}
Base premix
{{ it.basesText }}
Build
  1. {{ st.n }} {{ st.text }}
No build steps written in the source sheet — ingredients only.
Glassware
{{ it.glassEl }}
{{ it.glassName }}
{{ it.glassCap }}
{{ it.glassWhy }}
Serve & source
{{ m.k }}
{{ m.v }}
Nothing matches those filters.

Backlog, drafted

Every backlog name has been given a build, drafted from the format its name implies on its family's base premix. They sit in the main index on dashed cards marked Draft, and appear here grouped by family with the format each one came from. Nothing has been tasted — treat these as a starting point for the test bench, not a menu.

Still unresolved
  • {{ u }}
{{ bg.flavor }}
{{ bg.count }}
  • {{ n.name }}

Slot templates

The backlog turned out to be thirty drink formats repeated across the kits, not four hundred separate recipes, and every drafted recipe was generated from one of them. Each format below is one parametric build: pick a flavour and the base premix and its dose swap, everything else holds. Doses are the median across the 281 written recipes, so these match how the sheets already spec drinks. Because each format is one recipe applied many times, testing thirty builds validates all 431 drafts.

{{ slotBaseLine }}
{{ s.serve }} {{ s.countLabel }} Not planned for this flavour

{{ s.label }}

{{ s.generatedName }}

{{ s.desc }}

{{ s.chev }}
Build · {{ s.flavourLabel }}
  • {{ l.qty }} {{ l.item }}
Method
  1. {{ st.n }} {{ st.text }}
Glassware
{{ s.glassEl }}
{{ s.glassName }}
{{ s.glassCap }}
{{ s.glassWhy }}
Flavours using this format
{{ fc.name }}
{{ s.closes }}

Glassware

The 21 glasses in the range, ordered by how much of the recipe book each one carries across both written and drafted recipes. The Drive folder holds the kit grids and the source workbook but no glassware mapping, so these assignments are proposed rather than recorded — the rule is that the glass has to serve the drink's visual: straight walls for stripes, headroom for layers, a handle where the pour is hot.

{{ g.el }}

{{ g.name }}

{{ g.cap }}

{{ g.note }}

{{ fm }}
{{ g.recipeCount }}
{{ g.countLabel }}

{{ glassFooter }}

Kit reference

Product codes and pairings pulled out of the kit sheets, kept separate from the recipes so the index stays clean.

{{ c.code }}
{{ c.name }}
{{ c.use }}

Standard dosage grid

One canonical dose and method per product format, taken verbatim from the master sheets. This is the layer beneath the recipes: a recipe says which premix, the dosage grid says how much of it. Duplicates merged, source errors flagged, every step graphic recovered.

{{ dosageResultLine }}

{{ g.name }}

{{ g.count }} {{ g.blurb }}

{{ e.name }}

{{ e.sub }}
Standard dose
{{ e.dose }}
{{ e.imgStripEl }}
{{ e.imgNote }}
Component grid
{{ r.c }}
{{ r.q }}
{{ r.n }}
Usage instructions
  1. {{ st.n }} {{ st.text }}
Positioning
Best for
{{ e.bestFor }}
Catalog usage note
{{ e.catalogNote }}
Ingredient matches
{{ e.usedByLine }}
{{ u }}
{{ e.flagLabel }} {{ e.flagText }}
Nothing matches that search.

What was merged from the dosage sheets

  • {{ dd.what }}
    {{ dd.detail }}

{{ dosageSourceLine }}

Against the live site

{{ siteIntro }}

Series mapping and publish gap

The site's nine series are the same nine used in the source sheets, so this index maps onto the live structure with nothing left over. Each row shows what is published against what this index holds, and which formats feed it.

{{ s.name }}

Live page

{{ s.blurb }}

{{ s.live }}
Published
{{ s.total }}
In this index
{{ s.gapLabel }}
Headroom
{{ s.splitLabel }} {{ fm }}

Kit gaps, both directions

This is the worklist. Kits with a page live and no recipes behind them are the more urgent side — the buyer lands on a stock list with nothing to make.

Live kit, no recipes — write these first
{{ k.kit }}
{{ k.meta }}
{{ k.total }}
Recipes ready, no kit on the site
{{ o.family }}
{{ o.meta }}
{{ o.total }}

Kits already covered

{{ k.kit }}
{{ k.meta }}
{{ k.countLabel }}

Settle these before publishing

{{ c.what }}
On the site
{{ c.site }}
In the sheets
{{ c.sheets }}
{{ c.impact }}

Season axis

The site's season filter is a rule about serving temperature, which is the same axis this index groups by. The mapping is direct.

{{ sn.name }}
{{ sn.live }}
published
{{ sn.maps }}

Duplicate & conflict report

What was removed and what still disagrees. The Edited workbook was treated as canonical throughout.

{{ r.n }}
{{ r.label }}
{{ r.note }}

Coverage by flavour family

{{ c.flavor }}
{{ c.label }}
Written Drafted

Conflicting builds

Same recipe name, different quantities across sheets. The kept version is shown in the index; the other is listed here for reconciliation.

{{ cf.name }}
Kept · {{ cf.keptSrc }}
{{ cf.keptIng }}
Also found · {{ cf.otherSrc }}
{{ cf.otherIng }}

What was cut

  • {{ x }}