Axis Cultures: Contamination triage that learns from a grower's own history

Platform

Web App

Year

2026

Tools

Claude Design&Code, Figma

Status

In active design & vibe-coded development 

Role

Solo product designer 

The Idea

Most cultivation apps diagnose contamination from a photo, or report it after the fact as a rate. Axis Cultures compares a new batch against the grower's own history and flags it early - before it's confirmed.

The Problem

  • Contamination happens - growers can't tell why

  • Records scattered across notebooks, spreadsheets, photos

  • Lineage invisible - one bad mother culture, no way to trace descendants

  • Growing and selling live in separate systems


Contamination triage is the flagship flow designed here. The rest are named, not built out.

What the market has shown

Competitors Overview

Competitors Overview
AppWhat it doesWhere it stops short
MushBloomAI contamination scanner, batch loggingFlags from a single photo — no comparison to your own history
MycroFree grow log, contamination rate calculatorReports a rate after the fact, not a proactive per-batch flag
MycoHubVisual lineage tree, offline-firstLineage-focused, contamination is a secondary metric
CultureStackLineage tracking, plant tissue culturePlant-only, no mushroom culti- vation support
MeristemLabContamination monitoring, family treesPlant-only, same domain gap as CultureStack

The gap, precisely:


  • Personalized, not generic - compares against this grower's own history, not a shared pattern library

  • Proactive, not retrospective - flags at check-in, before the outcome is known

  • Core mechanic, not a bolt-on - the comparison is the product, not a secondary stat

Nothing here serves both mushroom and plant tissue culture growers, either.

Considered a persona who does both. No app serves both - but no evidence anyone's asking for it. Parked as a hypothesis.

Key decisions

Decision

Why

Trade-off

Mobile-first PWA, not native

Logging happens shelf-side, one-handed

Weaker background sync on iOS

Historical comparison, not AI diagnosis

Training data too thin for real diagnosis

Less flashy pitch, more honest one

Single-domain flagship, dual-domain deferred

No demand evidence for the dual persona

Shelved a segment I personally like

The flow

Photo → on-device scan → synced → compared to your own history → triage message → outcome logged

The Screens

No images provided
Connect CMS Image fields (Image 1–10)

One UI decision. "Dismiss the flag" started as a bare text link - visually demoted since it disagrees with the system. But it's the action that feeds false-positive corrections back into the model. Too quiet, and it goes unused. Became an outlined button instead - lighter than the recommended actions, still clearly tappable.

One process fix. Early screens showed "Patterns" on one nav bar, an invented "Yield" on another, no way to reach the camera at all - no shared nav spec, no home screen ever defined. Fixed with a locked four-tab structure referenced in every prompt after that.

Next Steps


  • Closed beta with a small group of growers

  • Track false-positive dismissal rate and contamination rate vs. plain logging

  • Validate the dual-domain persona before building for it

Create a free website with Framer, the website builder loved by startups, designers and agencies.