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
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)
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