Loading lab data
Lab Dashboard
Welcome back
Auto-save on

Key Metrics

The current lab population and the recent contamination signals that need the quickest review.

Total in lab ?Current active shoots across initiation, multiplication, rooting, hardening, and cold storage. Logged plant losses are already removed.
0
current active population
Contamination events / cycle ?Plant contamination events divided by unique multiplication cycles in the selected window. Media-only events are excluded. This is an incident rate, not percent of plants lost.
--
no multiplication cycles
Mold events ?Logged plant contamination records whose type is Mold. This counts incidents, not individual shoots or vessels lost.
0
selected window
Cultivars affected ?Distinct cultivar lines with at least one logged plant contamination event in the selected window.
0
selected window

Population by cultivar ?A current snapshot, stacked by stage. The chart shows the largest 15 populations so it stays readable; every cultivar remains in the Lab Health table.

Current active shoots, largest populations first

No active population has been logged yet.

Contamination events / cycle over time ?Each point is plant contamination events divided by unique multiplication cycles that week. A logged event may represent more than one vessel. Choose View full history to expand this chart and include every recorded date.

Weekly incident rate in the selected window

No multiplication cycles in this window.

Contamination types ?Logged plant contamination incidents grouped by the type selected by the tech: Bacterial, Mold, or Unknown. Media-only contamination is excluded.

Plant incidents in the selected window

No plant contamination types to show in this window.

Mold events / cycle by cultivar ?Mold events divided by unique multiplication cycles for that cultivar in the selected window. This is an incident rate, not percent of plants lost. Cultivars with no matching cycle are listed below the chart.

Highest event rate first

No cultivar mold rate to show in this window.

Best Media by Cultivar ?Recipes are compared within each cultivar. Best Mult Rate produces the most total shoots per shoot started. Best RIM / Node produces the most RIM-ready shoots per node started. Best Overall balances both. Cycles logged shows the amount of evidence behind the result.

Which recipe is producing the strongest multiplication and RIM results for each cultivar, with the most-tested lines first.

View full media performance

Media & Vessel Readiness ?The same live media-batch counts shown in Lab Health. Ready inventory is past QC and not expired; vessels holding plants come from active stage records.

What is ready to use, what is still in QC, and how many vessels are holding plants now.

Vessels: Can Fill vs. In Use ?Filled (ready) is usable media still on the shelf. In Use Now is active test tubes and multiplication or RIM vessels currently holding plants.

Usable filled vessels compared with active vessels holding plants

Up Next
Incomplete calendar tasks: overdue and due in the next 7 days
View Calendar >
Needs Attention - worst first, pulled live from your logs

Pipeline

Auto-calculated dates by stage entry

Cultivar-stage timing. These rows describe plant progress and may differ from the calendar task count above.

CultivarPop TypeCurrent StageStage EntryNext ActionNext DateStatusDays
This Week - throughput vs last week, targets, and the live pipeline
Initiation
0
Multiplication
0
Rooting
0
Hardening
0
Cold Storage
0
Revival
0
Total In Lab
0

Cultivar Populations

Stage breakdown and charts
Cultivar Populations by Stage
CultivarPendingInitiationMultiplicationRootingHardeningCold StorageTotal In Lab

Plant Pipeline (active shoots)

Cultivar Mix

Cultivar Mult Rates

Average shoots produced (output + elongated) per shoot in, across all multiplication records, per cultivar

Calculated as (output + elongated) / subcultured shoots when filled, otherwise previous shoots averaged across every multiplication entry for that cultivar. Counts every shoot the cycle produced (kept in tubs plus pulled for rooting), so it matches the Mult tab. Higher = better multiplier; flag low performers for a media swap or pull from rotation.

Top Media Per Cultivar

Best media for each cultivar by mult rate, RIM shoots, and overall

The winning media per cultivar on three measures: best Mult Rate (throughput), best RIM / Node (RIM shoots pulled or recorded as kept, per node started), and best Overall (strong at both, scored 0-100). Full detail on the Media Performance tab.

Media Inventory

Live vessel counts by recipe LIVE

Live counts from your media batch logs. Test tubes, deli tubs, and petri dishes broken out by recipe: ready, in QC hold, expiring, or expired.

Filled Vessels by Recipe

Vessels: Can Fill vs. In Use

Pathogen & Contamination

Screening results and status charts

Pathogen & Contamination

Pathogen Status by Cultivar

Recent Activity
Completed Tasks (Audit Trail)

Performance vs Goals

Per cultivar: on-track status (Mult rate + Rooting), pipeline funnel, and the RIM rate for information

Are we on track to hit the goal? The current-phase goal is 43 RIM shoots on hand per cultivar (grandma stock: 43 RIM shoots make the 39 grandma plants). The last column shows RIM shoots on hand vs that 43 goal. The rate columns are process health: Target = your model's assumed rate (a manual override if set, otherwise the locked default), Actual = your tracked rate once there is enough data. Status counts Mult rate and Rooting only; the RIM column is informational (its 60 percent model target assumes a full RIM production week, so a no-pull stretch would otherwise mark a healthy cultivar At risk). The RIM shoots actual is the last 30 days: elongated RIM shoots per node you started each mult cycle with. Pulls logged on the Rooting tab count, and so do shoots recorded in the mult form's RIM kept box (RIM-ready but deliberately not pulled), so a week where the schedule was not calling for RIM reads as capability instead of a zero; Mult rate and Rooting are lifetime. The goal column's start ≈N nodes line is the plan: at that yield, how many nodes the next cycle must start to reach the 43. Full detail on the Production Planner and Media Performance tabs.

Shoots in Multiplication by Cultivar

Overall Performance

Per-cultivar and per-media rates from all logged history, independent of the 43 goal

How each cultivar and its medias actually perform, with no goal attached. Mult rate = every shoot produced per shoot started, all history. RIM / node = elongated RIM shoots per node started at the beginning of each mult cycle, shown for all history and for the last 30 days. Pulls logged on the Rooting tab count, and so do shoots recorded as RIM kept (ready but deliberately not pulled). Rooting = rooted per shoot sent, completed batches only. The media chips show the same mult and RIM measures for each media the cultivar runs on; full detail on the Media Performance tab.

Production Planner

Build populations to continuously produce 90 finished rooted plants per cultivar every 3 weeks.

Grandmother Schedule - soonest first
How this schedule works

Loading the schedule.

Cultivar Calendar

Your cultivar production calendar (PDF). Stored privately, only logged-in lab users can see it, never on a public link. A Lab Administrator or Lab Manager can upload or replace it.

Lifecycle Estimator - for anyone planning around the lab

Tissue culture takes time. Type how many finished plants you need and a request date, and we'll show you the earliest realistic date you can hand them off to veg, plus when the first Gen 1 cuttings can come off those moms.

Quick Delivery-Date Calculator - generic what-if, full lifecycle to hardened plants

A generic estimator for one-off questions: tell it how many finished clones the client needs and when. It sizes the run in moms (each mom safely yields about this many production clones), works backwards through the whole pipeline (through hardening), and shows the latest date initiation has to start. If that start date is already in the past, a cold start cannot make it, those moms have to already be growing or come from existing stock. For real production planning use the Production Planner by Room (the Readiness tab), which uses your lab's RIM hand off and grandmother model instead.

Production Planner by Room - each destination room's flips, with the grandma clone date and the 43-RIM-shoot stock goal
Production Forecaster - model multiplication cycles and output
Target to Veg
90
➞
Send to Rooting
120
➞
Mult. Cycles
4
➞
Timeline
12 wk

Forecaster Settings

Forecast per cultivar or all
End goal per cycle
Shoots entering first multiplication
Shoots kept in tubs per shoot, before pulling elongated (reads lower than the Dashboard Mult Rate)
Time between multiplications
Of ~5 shoots/deli tub, 1-3 elongate enough for RIM
% that finish rooting
% of deli tubs lost per 3-wk cycle (target <5%)
% lost during hardening transition
Capacity per tub

Multiplication Cycle Map

Population Growth

Vessel Requirements

Select Cultivars
No cultivars selected.
Production Settings
Tier Clone Targets
High, Medium, and Low cultivars use these clone targets unless a per-cultivar override is set below. Reserve and untiered cultivars stay out of planning.
Initiation Yield (only used for cultivars at the init stage)
e.g. 1 nodal explant ➞ 5 shoots ready for mult
% of meristem explants that survive to mult
Each cultivar's pathway is auto-detected from its initiation record. Only the relevant value is applied per cultivar.
Each tub starts with ~5 shoots. After 3 weeks, 2-3 elongate enough to send to RIM.
Shoots pulled per build-up cycle (5-10) so you can replace moms while still growing the population. Set to 0 to grow as fast as possible.
12-Month Mult Planning Guide - year at a glance

Set a start date, dial in your end-plant target per cultivar (or use the global one), and we'll lay out every projected multiplication for the next 12 months. Each cell shows the mult dates and the cumulative end-plant capacity by that month.

Lab Calendar
Task categories

Select a category to filter the week, month and upcoming tasks.

Weekly Schedule
This Week's Workload
Show:
Upcoming Pipeline Tasks (30 days)
Cultivars
Master list of every strain in the lab. Add a new cultivar here before you initiate it. Status, Initiated date, and Age auto-update from downstream tabs.
Add New Cultivar▼
Use Show retired to include retired rows.
Tier key: H High M Medium L Low R Reserve tiers set each strain's clone target
IDNameClassAvailabilityScheduledInitiatedMediaPathogen ScreenAge (Days)TC in Veg
Initiation Log
Log every batch of cuttings going into culture. Pick the cultivar from the master list (add it on the Cultivars tab first if it is not there), choose the media batch, and enter how many test tubes per recipe. Use Meristem (not Nodal) when recovering an HpLVd-positive line. Full SOP in the handbook.
Add New Initiation Record▼
Replacement counts as another attempt on this cultivar. Bolster does not, it is simply more material.
Meristem marks a virus-cleaning population (shows a * everywhere). The explant is the only switch; lineage follows it automatically.
Total test tubes: 0
Media BatchPlant IDCultivarSourceExplantOperatorMediaInit. DateInitiated #
Multiplication
Log each subculture cycle. Output Shoots = shoots placed back into deli tubs for the next mult cycle; leave it blank and the app estimates it from your counted tubs × shoots per tub (shown in italics until you enter the real count). RIM Shoots = shoots pulled out for rooting (Root Induction Media); RIM kept = shoots that were RIM-ready but deliberately not pulled. Mult rate auto-calculates as (Output + RIM) ÷ Subcultured when filled, otherwise Previous, since both are real shoots this cycle produced. Previous fills itself from the last cycle or the initiation. Default cycle is 3 weeks at 5 shoots per deli tub.
Add New Multiplication Record▼
Recipes used this cycle
Click each recipe you put shoots into. A row appears with Prev / Subcultured / Output / RIM / RIM kept / Tubs / Operator / Media ID. Single-recipe cycles = one chip + one row. Multi-recipe = multiple chips + multiple rows.
Split total: 0 deli tubs

No multiplication records yet. Data will appear here as subculturing begins.

Cloning
Root Induction Media (RIM) is the first stop after multiplication.?The whole path, start to finish:

1. At subculture, elongated shoots are pulled into RIM deli tubs. The count goes in the RIM box on the Multiplication tab, and the batch appears here on its own.

2. It sits in RIM about a week.

3. On the Wednesday of the following week the veg team collects it. Press Hand Off and it moves to the Cloning tab.

4. After the rooting window (14 days unless your lab is set up differently) you count how many rooted. That is the success rate.

5. Rooted clones transplant onward, and anything lost gets recorded at Hardening.
RIM shoots logged on the Multiplication tab auto-appear here. They sit in RIM ~1 week, then transfer to the Cloning stage (the veg team picks them up every Wednesday for the previous week's batches). Manually add a RIM batch using the form below only if it did not come through Mult.
Add RIM Batch (manual)▼

No RIM batches yet. They appear here automatically when elongated shoots are logged on the Multiplication tab, or you can add one manually above.

Cloning
Rooted clones in domes, after they leave RIM.?This is where rooting success is measured.

A batch lands here when you press Hand Off on the RIM tab. It arrives already carrying its cultivar, shoot count and dates, so there is nothing to re-type.

Your job is the rooted count: enter how many newly rooted at each Root Check and they add up to the batch total (or type the final total straight into the Rooted box). Count at the end of your lab's rooting window, 14 days after it left RIM unless your lab is set up differently, and the success rate calculates itself.

Record anything you throw away under Tossed, so the numbers reconcile.

Success shows "--" while a row is open for editing. It fills in once you press Save.
Batches still in RIM stay on the RIM tab until you hand them off. Log # Sent, then your root checks as they happen; the rooted total adds up and the success rate auto-calculates. Roots typically visible 9-14 days. Crack dome open at 7-10 days as they harden off.
Add New Rooting Record▼
Rooted so far: 0

No rooting records yet. Data will appear here when plants move to rooting stage.

Cloning
Track rooted plantlets being potted up and acclimatized. Log Transplant Date and substrate when potting. When they go to veg, click Close out to record how many made it and the batch moves to the Completed section. Hold 70%+ RH for the first 3-5 days, then step down to ambient.
Add New Hardening Record▼

No hardening records yet. Data will appear here when rooted plants are transplanted.

Cloning

Per-cultivar rooting success and hardening yield. Built from your rooting and hardening logs. Use this to spot which cultivars root well, which need a hormone tweak, and which lose plants in hardening.

Cloning Success by Cultivar

Rooting Success = rooted ÷ sent to RIM, counting only batches that finished the clone stage (transplanted into hardening). Batches still in RIM are not counted yet. Hardening Yield = gave to veg ÷ transplanted, counting only batches that have been given to veg. Color bands: ≥80% strong, 65-80% on target, 50-65% watch, <50% needs attention.

Lab Totals
Cold Storage
Genetic backups in A/B rotation.?How to read this table: one banner row per cultivar group, then that group's rounds beneath it, newest first.

The Status pill on each row is the thing to look at. In Storage means it is sleeping and needs nothing. Pull This Week and Overdue Pull are the rows asking for action. Re-stored means that round is finished and is history.

Stagger Groups A and B so they come due at different times. Use the recorded removal due date and your lab's configured storage interval.
Log healthy explants under Group A or B. The due-actions list shows the next step and deadline from each record and your lab's configured rotation. Follow your lab SOP for storage conditions and shoot targets.
Status key: Overdue Pull needs action now Pull This Week coming up Re-stored done, history rows are grouped by cultivar, newest round first
Log Group Into Cold Storage▼
1. What is going in
2. Storage timeline
3. Pull and refresh (fill in when you remove / re-store)

No cold storage records yet.

Media
1. Pick Your Recipe
Base recipe
Recipe setting
2. Total Media to Make (Autoclave Bottles)
1800 mL each
900 mL each
Manual override, total mL
Total Batch Volume1800 mL
Bottles Summary1 x 2L
3. Deli Tubs and Test Tubes Filled

Enter how many deli tubs and test tubes you actually filled. Auto suggestion uses 95% of the batch to account for pour loss. Click "Use" to apply. Per-vessel pour size is configurable below if you pour different volumes than the standard.

Auto fills: 0
Auto fills: 0
Pour volumes (advanced)
RIM goes into a deli tub but takes more media than a multiplication recipe, so it has its own size. Pick a RIM recipe above and the deli numbers switch to the RIM pour. These sizes are saved for the whole lab and are the same ones Quick Fill uses on the Media Log.
Volume in Deli Tubs0 mL
Volume in Test Tubes0 mL
Total Vessel Volume0 mL
Recommended Batch (10% buffer)0 mL
4. Calculated Amounts
5. Batch Summary
6. Log This Batch

Once the media is made, click below to save it straight into the Media Log. The calendar and Media Inventory will pick it up automatically; no double entry.

Backfilling old media? Skip the ingredient detail and just count what's on the shelf.
How to Use

1. Pick one of your lab's configured recipes at the top.

2. Enter how many 2L or 1L autoclave bottles you're making, or type in a volume directly.

3. Optional: enter # of deli tubs and test tubes you plan to fill, then hit "Use Recommended Volume" to auto-size your batch.

4. Use the Calculated Amounts table and follow your lab's approved recipe and procedure.

5. Click "Log This Batch" to save the entry. It feeds the Media Log, Calendar, and Media Inventory automatically, no re-typing.

Media

Live vessel counts from your media batch logs. Track what you have, what's expiring, and plan what you'll need.

At a Glance

Test tubes and deli tubs on the shelf right now, plus what's still in QC and how many you'll need for the next multiplication cycle. Use Quick Add to count anything you forgot to log when it was made.

Current Vessel Levels by Recipe
Quick Set Levels

Count what is actually on the shelf and type it in. Start fresh count makes today the new baseline (recommended if the numbers have drifted). Apply All Changes instead writes one adjustment row per recipe for the difference. Leave a box unchanged, or empty it, to leave that recipe alone. An empty box is never read as zero.

QC Hold Status

Batches still in the QC rest period. Click "Use now" to override and release a batch early if needed.

More details (charts, planner, breakdowns)
Inventory vs. Upcoming Need

Compares your current ready vessels against what the Production Planner says you'll need for the next multiplication cycle.

Usage pulled from Initiation (test tubes), Multiplication (deli tubs), and Contamination (losses) by recipe.

Test Tube Usage by Recipe

Deli Tub Usage by Recipe

Vessels by Media Type

Vessel Status (Ready / QC / Expiring / Expired)

Available Inventory

Ready vessels remaining after recorded batch use. Resolve unassigned use against its source batch before relying on the balance.

Recipe Breakdown

Detailed inventory status for each media recipe: ready vessels, QC hold, expiring, expired, and recent batch history.

Production Target Planner

Set target finished (rooted) plants per cultivar. The planner works backward through hardening loss, rooting success, elongated shoot pulls, and multiplication rate to calculate vessel needs. All rate fields are editable. Tracked data auto-fills as you log more records.

Cultivar Target
Rooted
Mult
Rate
Root
Success
Elong
/Deli Tub
Hard
Loss
Mult
Deli
RIM
Deli
Test
Tubes
Cyc Source

Projected Vessel Need by Cultivar

Adjust Inventory

Manually add or remove vessels. Use this to set your starting inventory when first setting up, or to deduct vessels tossed due to contamination, expiration, or QC failure.

Media Preferences by Cultivar

Shows which media recipes are used most for each cultivar based on your multiplication records. Helps forecast which recipes to prep more of.

Recent Media Batches
RIM (Root Induction Media)

RIM media is poured into deli tubs for the rooting phase. Track your RIM-specific inventory here.

PDA (Microbial Testing Media)

PDA media is poured into petri dishes for contamination QC testing.

Media
Log every batch of media you cook. Pick the recipe, enter Bottles Made and Per Bottle (mL), then click Quick Fill on the vessel you actually poured into. Media rests 8 days before use; shelf life is up to 6 months kept sterile.
Quick Add Filled Vessels
Use this when you already have media on the shelf that wasn't logged at the time, or you just want to count vessels without filling out the full ingredient detail. Pick the recipe and vessel counts, save, and the totals update everywhere (Inventory, Calendar, Dashboard).
Logging several media recipes in one batch? Use "Save & Add Another" to keep the same M### so all vessels group under one batch.
Add New Media Log Entry▼
Autoclave Run (auto-logged with this batch)tap to expand
Fill in the autoclave details for this media batch - an entry will be added to the Autoclave Log automatically. Leave blank if you are skipping the autoclave step.
DateBatchOperatorType# BottlesPer Bottle (mL)DKW (g)Sugar (g)Agar (g)Hormone (uL)pH
Media
Log each configured base premix. Pick the batch size, follow your lab's saved target values, and record what you actually weighed.
Log a Premix Batch▼
Target vs. actual (grams)
IngredientTarget (for batch)Actual weighed
--
--
--
Media

Your recipe book. Add a new recipe and it will show up automatically in the Media Calculator and Media Log dropdowns. Edit values to update the math everywhere.

Recipes
Recipes are locked by default to prevent accidental edits. Click Edit on any card to change values, then Save to lock it back. Calculator dropdowns update the moment you save.
Autoclave Log
Sterilization cycle log. Most days a row gets auto-created when you save a Media Log entry, so you usually just review here. Standard M2-mode setpoint is 128°C / 28 min. Track Loading and Unloading operators separately for contamination traceback.
Add New Autoclave Entry▼
DateLoading Op.Unloading Op.StartEndTemp (C)Duration (Min)ContentsBatch
Contamination Tracker
Add Contamination or Intentional Cull▼
The whole vessel and all shoots inside it are discarded.

Date, operator and optional details

No contamination events recorded. Keep it clean!

Multiplication Schedule
Add New Multiplication Schedule▼
Overdue
0
Due This Week
0
Due Next Week
0

No upcoming multiplications scheduled. They will appear here once multiplication data is entered.

Media Performance

Track which media work best per cultivar. Each new cultivar starts on up to 5 hormone blends; use this dashboard to narrow down to the top MT (for morphology and multiplication) and PX (for shoot elongation and rooting production).

Mult Rate = (output + RIM shoots) ÷ previous shoots. RIM / Node = RIM shoots (pulled, plus any recorded as RIM kept) ÷ nodes the cycle started with, the same per-node measure the Dashboard uses; pulls logged on the Rooting tab count too, and a batch run on several recipes splits its pulls across them by node share. Overall = each media scored 0-100 against the best media for that cultivar on both axes (mult rate and RIM per node), then averaged, so the winner is strong at both. Contamination Rate from the contamination log.

Best Media Per Cultivar

The winning media for each cultivar on three measures: best Mult Rate (total throughput), best RIM / Node (RIM shoots pulled or recorded as kept, per node started), and best Overall (strong at both). Any family can win, MT or PX, narrowing your starters down to your winners.

Overall Ranking (Top 2 Per Cultivar)

Full Performance Table

Pathogen Screening
qPCR results for HLVd and the pathogen panel. Cq at or below 38 is positive. Above 38 is negative. A lab result of Undetermined is suspect: resample and retest, do not promote the line and do not use it as a mother. Upload the lab PDF with each result. A positive warrants meristem recovery, tracked on the Virus Remediation tab.
Add New Test Result▼
The day the sample was taken. Often days before the lab reports it.
Which SOP screening moment this result is for.
A pooled negative is a first-pass screen only. It never confirms clean stock.
Optional: attach the lab's signed PDF report.
Panel coverage by pathogen
Screening Panel

Cq at or below 38 is positive. Above 38 is negative. A lab result of Undetermined is suspect: resample and retest, do not promote the line and do not use it as a mother. Viroids (HpLVd, PSTVd, etc.) are screened the same way as viruses.

No test results recorded yet.

Virus Remediation
Track HpLVd-positive nodal lines and their meristem-derived clean lines. Status is derived from per-line Pathogen Screening history.
Metrc ?This worksheet is a guide, not a Metrc connection.

Use it to compare the physical lab with Metrc. TC Lab never creates, changes, or combines Metrc records for you.

One tag is for one cultivar and one documented source. Record each tag with its cultivar, source and stage allocation. Follow the stage requirements shown in the batch form.

See current populations and saved tags together. Counts update from your lab records. Use Manage tags to update an existing allocation or record a new batch tag after creating it in Metrc. Dismiss a reminder when no tag change is needed; it returns when the population or allocation changes. This worksheet does not send anything to Metrc.

Needs Attention ?Optional tag reminders.

Review a new population or changed allocation. You can update an existing tag, record a new one, or dismiss the reminder. Dismissing does not confirm a Metrc update or hide the current population. Save failures and missing storage groups still need attention.

Current lab counts ?One cultivar line can have several stage counts.

Saved tags appear beneath their stage counts. Cold A and Cold B keep separate allocations. Do not put different cultivars under the same Metrc batch tag.

Tracked total covers the stages shown here. Revival A and B show live shoots out of cold storage. Existing tag allocations stay unchanged; review them with your lab when material moves.

History
Inventory & Supplies
Add New Inventory Item▼
IDItemCategoryQtyMin ReqUnit PriceStatus
Getting Started

Welcome to the Tissue Culture Lab

This app tracks every stage of your tissue culture workflow, from initiation through hardening, plus supporting lab operations like media prep, autoclaving, and pathogen screening. Use the form's submit button (for example, Log initiation) to submit a record. Wait for a confirmed Saved message before closing the page. Saving or Unconfirmed means the cloud has not confirmed the change yet; keep the page open and follow any retry or reload instructions.

What's New

See the latest updates plus the full history of changes to the app, any time.

Your Daily Workflow

1. Check the Dashboard

Start here every day. The Today strip shows what needs attention. Stat cards and charts give you the full picture.

2. Log Your Work

Open the form at the top of any Workflow page (Initiation, Multiplication, etc.), fill in the fields, and click Add Record.

3. Check the Calendar

Your multiplication schedule, media days, and tasks all show up here. Click any day to add a new task.

4. Log Lab Ops

Media Log, Autoclave Log, and Contamination records keep your lab operations documented and auditable.

Production Planner

Open the full shared product manual for page-by-page guidance. Your lab's procedures stay separately in the Client SOP Library.

Operating the Lab Platform

The full searchable product manual. Your lab's procedures remain separate in the Client SOP Library.

Loading the operating guide...
Audit Log

Append-only history of every change to every record. Useful for traceback (who poured this batch, who approved this pathogen result, who deleted that cultivar). Filter and export anytime.

Import Data
Bring spreadsheet records into your lab. Files are read in this browser; reviewed records are saved only to your lab's database. Lab Administrator / Lab Manager only.
⚠
Importing into tenant:
Check that this is the right lab. The preview identifies new records, previous imports and conflicts before saving.

1. Choose a file

Excel (.xlsx, .xls) or CSV. Each sheet is treated as one record type. Headers should be on row 1, data on row 2 onward. If your sheet has a fancy title row, pick "Header row 2" below.
PDA Environmental
Start a monitoring round

Put PDA plates out at spots around the lab (plus one outside as a control), then read them after 10 to 14 days. Run a full round monthly, or any time you need one. Add a plate row per location; read-due is set-out plus the incubation days, and it shows up on the calendar as a "Read PDA plates" task.

Plates (one per location). Type the location; check Control for the outside control plate.
Hot spots - dirtiest locations across all read rounds
Rounds
Climate
Live temperature, humidity and VPD from your SensorPush sensors. VPD is air vapor pressure deficit in kPa (lower means more humid air). Readings refresh on their own while this tab is open.
History
Temperature (°F)
Humidity (%)
VPD (kPa)
Client SOP Library
Loading the handbook...

Your Lab's SOP Entries

Private to this lab. These entries and PDFs never inherit from another tenant or the managed-service library.
Admin
Everything in this page is saved to the cloud store and shared across every tab / device connected to this lab. Bug reports and feature requests are sent with the megaphone icon next to your name and show up in Messages.

Branding

Operators

Names show up in every operator picker across the app. One per line.

Cultivar Availability Options

Active and Inactive are built in. Add your lab's own labels (like Low pop or Test Tubes) and choose for each whether cultivars with that label count as in production. Only options that count feed planner targets, media forecasts, and dashboard totals. Hit Save Settings to apply.
Active · always counts Inactive · never counts

Media Recipes

Standard tissue culture recipe templates. Edit any value and hit Save Settings.

Initiation Auto-Fill Profiles

Controls the Initiation form's Class-based media breakdown. Auto-fill only fills the form; techs can still edit every row before saving.

Production Vessel

What this lab calls the container a multiplication or RIM batch grows in, and how many shoots go in one. The Production Planner reads both. Leave a box empty to keep exactly what the planner shows today; the placeholder is the value in use.

API Security

Optional shared secret. If set, the Netlify function will reject any request that doesn't carry this value in the x-tc-secret header. Leave blank during setup.

Users & Roles

Each user gets a real login (Supabase Auth) and shows up as the author on every record they create. Inviting a user adds them to this lab and emails a private link where they choose their own password. Roles: Lab Administrator (full control), Lab Manager (full control), Lab Technician (workflow + lab ops). Only a Lab Administrator can add or change a Lab Administrator or a Lab Manager.
Invite New User
No temporary password is created or shared. Their invitation link opens the secure password-setup screen.

Admin Password (legacy)

Required to open this Settings page. Change it before sharing the app with the team.

Production Timeline

The day counts your Production Planner runs on, measured from your anchor date. Change a number here when what you see in the lab says a stage needs more or less time. The preview below shows the timeline you are about to save; Save Settings at the bottom of this page makes it real. A blank box keeps the current value.

Cold Storage Timeline

Set how long each group stays in storage and how many months after Group A to place Group B. Changing the duration updates automatic pull dates for existing stored groups, including overdue groups, and fills missing pull dates when the storage date is known. Completed history and actual storage dates stay as recorded.

Use this to recalculate existing groups even if the duration is already saved. Past due dates remain visible in the cold action list and calendar. Groups without a known storage date need that date entered first. Pulled groups and groups currently being revived keep their history.

Lab Workdays

Select the days your lab works. Automatic dates use these days; dates you choose yourself stay as entered. Leave at least one day selected.

Calendar & Automations

Tune the intervals that drive the calendar, toggle which automations auto-fire, set reminder lead time, and add your own recurring tasks (hood cleaning, lab meetings, media prep, etc.). Changes take effect immediately after Save Settings.

Intervals

Auto-Fire Toggles

Cold storage A/B pull and revival reminders are always automatic and follow the current storage records and timing settings in Production Timeline.

Outdoor Weather Location

Look up your lab's city and state, or postal code. Choose a result and press Use location to save it for the Climate page. Only an owner or manager can change it.
Location search by Open-Meteo and GeoNames.

Climate Sensors To Ignore

If your SensorPush account covers rooms this lab does not track (flower, veg, dry), list words from those sensor names here, separated by commas. Matching sensors are left out of the Climate page, the calendar, and the staleness alert, and stop being stored. Leave blank to keep every sensor. Example: flower, veg

Custom Recurring Tasks

Anything you want on the calendar on a schedule. Examples: clean transfer hood every Friday, restock gloves monthly, autoclave filter change quarterly, team meeting every other Monday.
Add New Recurring Task

Data Management

Daily backups are saved automatically on the server, and a rolling snapshot of every save is kept in this browser. Use the buttons below for on-demand exports or to restore from a file.
Local Snapshots
Last 10 auto-saved states. Captured before every save. Stored in this browser only.
Server Daily Backups
Rolling 30 days. One immutable snapshot per day, captured at the first save of that day on the server. Use this when local snapshots are not available (different tech, different browser, or after a data-loss event).
Restore actions temporarily disabled
File-restore, snapshot-restore, and server-backup-restore are temporarily disabled while we harden the data layer. Downloading backups and the Audit Report still work. Stage logs (Initiation, Multiplication, Rooting, Hardening, Cold Storage, Contamination, Pathogen Screening) are NOT affected and can still be added or edited normally.
Audit Report (read-only)
Inspect dataset health: records missing id/createdAt, duplicate natural keys in multiplication, latest media log entry, current cloud version. Does not mutate anything.
Messages

Team Messages

Client Requests

Requests submitted through the client portal.

Client Messages

Messages from clients through their portal. Reply and they will see it on their end.
Clients
Manage the companies you culture for. Every cultivar, initiation, and request is tagged with a client so welcome pages can filter to that company.

Client List