.case study
03
•
Enterprise IoT • Dashboards
Designing for High-Stakes Operations
Building a centralized operational platform that enables commercial cultivation teams to monitor and control environmental systems in real time.
00

Project at Glance
Greenfield IoT platform built for commercial cannabis cultivation facilities in the US legal market
Designed interfaces for multiple environmental systems: HVAC, irrigation, fertigation, lighting, CO₂
Unified experience across operational workflows while preserving each system's unique behaviour
Established the interaction patterns that became the foundation of the platform's operational experience
why this project matters
Commercial cannabis cultivation facilities run on tightly coordinated environments - temperature, humidity, CO₂, irrigation, lighting, fertigation - each historically behind its own interface. That fragmentation overloads operators who need one complete picture of facility health. THC Controls set out to fix that, and my challenge wasn't designing dashboards: it was reducing cognitive effort without oversimplifying the decisions operators make.
Problem & Context
Understanding the System
I'd never worked in controlled environment agriculture, so before designing anything I learned how each system actually works. They aren't variations of one problem: temperature needs live visibility, irrigation is scheduled execution with manual overrides, fertigation adds nutrient management, and lighting and CO₂ follow their own rules. Designing one unified template would have created consistency while destroying operational clarity - so each system got an interface shaped by how it works, unified through structure and navigation.

.platform
Enterprise SaaS • IoT • Controlled Environment Agriculture
.timeframe
3-4 Weeks
.role
Solo Product Designer
.primary users
Commercial cultivation operators managing one or more grow facilities.
.responsibilities
Product Discovery
Domain Research
Information Architecture
Interaction Design
Data Visualization
Design System
Developer Collaboration
.team
Client Stakeholders
Business Analyst
Project Manager
Engineering Team
Design Solutions
Design Decision 01
Interfaces Shaped by Operational Behaviour
Why this matterd
Monitoring needs immediate visual feedback; configuration needs richer controls; irrigation and fertigation need scheduling front and center. One layout can't serve all three.
Exploration
I mapped how operators interact with each system - what needs continuous visibility, which actions are frequent, how fast issues must surface - then built a consistent structural framework that lets each system adapt its visualizations and controls to its operational purpose.
impact
Flexibility without fragmentation: each module communicates its own way, and the platform stays cohesive.
Design Decision 02
Building Unity Without Sacrifice
Why this matterd
Specialized interfaces create a new risk: if every module behaves differently, operators relearn the product constantly - cognitive effort in exactly the wrong place.
Exploration
I identified what stays constant across every system - navigation, page hierarchy, status indicators, layout behaviour, interaction patterns, reusable components - and made that the shared foundation.
The Decision
Each specialized system sits on that foundation. Navigation stays predictable, components keep visuals consistent, and specialized controls appear only where they support real operational decisions.
impact
Consistency didn't come from making everything look the same. It came from shared structure and interaction principles - one coherent product that still respects each system's workflow.
Outcomes & Reflection
The Balance
The end state is one workspace for previously disconnected systems: monitor facilities, configure environments, run daily operations - each system specialized, the whole unified by a shared design language and predictable navigation. That balance turned a technically complex environment into faster understanding and more confident decisions.
What I Learned
It was tempting to see this as a set of dashboards. Deeper in, the real challenge was supporting different kinds of operational decisions - and the only way to see that was understanding the systems first.
Understand the system, then design interactions that support how people actually work. It's shaped every complex product I've taken on since.
.see also








