MSB
All posts

Plantagotchi: A Houseplant With Something to Say

Our natHacks-winning attempt to give a plant a personality, and a candid look at what a hackathon build gets right and glosses over.

The idea

We learn to care for pets and people by reacting to them, but plants barely give you anything to react to until something has already gone wrong. Plantagotchi was our attempt to change that: read what's happening around a plant and inside it, then let the plant express it as a character with moods instead of a dashboard full of numbers.

I led a team of six to build it at natHacks, and it won.

How it works

A small set of sensors covers the plant's world: soil moisture, temperature and humidity, air quality, surface wetness, and a BioAmp EXG Pill that picks up tiny bio-electrical signals from the plant itself. An Arduino streams those readings to a Node.js backend, which filters out noise and decides what state the plant is in, then pushes updates to a React Native app in real time over WebSockets.

The app is where the personality lives. The plant is hand-drawn in a soft, cozy style with an animated state for each situation: content in good conditions, thirsty when the soil dries out, dizzy when the air quality drops, cold at night, windswept, and a separate animation while it's being watered. Speech bubbles do the rest, so instead of reading a humidity value you hear the plant complain. We also used the PL@NT.net API to recognize the plant's species and inform how its states are mapped.

What worked

  • Leading with character instead of charts. In usability testing, engagement went up 35% when live readings drove expressive states rather than raw values.
  • A mock sensor server that behaves exactly like the real hardware. Because both spoke the same protocol, the app never needed to know which one it was talking to, and our QA testing time dropped by 55%.
  • Parallel work. With the mock in place, animation and app work didn't have to wait for the hardware to be ready, which matters a lot on a hackathon clock.
  • The art direction. Hand-drawn states made the project approachable for anyone, not just people already interested in sensors.

What a hackathon build glosses over

The biggest caveat is that the plant's "feelings" are a design interpretation, not plant science. We decided which readings should make it look thirsty or dizzy, and that mapping is a storytelling choice. It's a good one for building empathy, but it shouldn't be mistaken for the plant literally reporting its emotions, and the bio-signal in particular is reduced to a single number the app responds to.

The hardware is also the kind you reach for when you have a weekend: accessible hobby sensor modules rather than lab-grade instruments. That's fine for a responsive demo, but I'd want sturdier sensing before trusting it with real plant care over months rather than hours.

If I picked it up again

I'd keep the character and the mock-first workflow exactly as they are, and spend the effort on grounding the moods: tuning the thresholds against how real plants respond over time, and making it clearer in the app which reactions come from direct measurements like soil moisture and which are more interpretive.

Key takeaways

  • Sensor data becomes something people act on when it's wrapped in a character, not a chart.
  • A mock that shares the real protocol lets software and hardware progress independently.
  • Be upfront about where storytelling ends and measurement begins.