Inspiration

I've killed every plant I've ever owned. Either overwatered it, underwatered it, kept it away from sunlight or simply forgot it existed for two weeks. But I also spent my childhood playing Plants vs Zombies, a tower defense game where you defeat zombies using plants and powerups for your plants, obsessed with defending those little plants from zombies. The idea hit me: what if the zombies were the diseases, and you defeat them by actually learning to care for your plant? That's Plantasia.

What it does

Plantasia turns real plant care into a tower defense game. You scan your actual houseplant, AI identifies it and gives it a personality, and it lives in your virtual garden as a character. A physical soil moisture sensor monitors your plant via Bluetooth. When something's wrong such as the soil being too dry, too wet, or you haven't checked in; a zombie spawns and heads toward your plant. Each zombie is a real disease: Drownface is root rot, Thirster is dehydration. To defeat them, you complete quests (generated based on the plant using Gemini) that teach you what's actually wrong through "chatting" with your plant and how to fix it. Water your plant in real life, the sensor detects it, quest completes, zombie dies. Your plant thanks you virtually and in real life. You earn coins for streaks, daily check-ins, and defeating zombies, which you spend on cosmetics and garden expansion. Miss your check-ins? More zombies. Let a zombie reach your plant? It's not gonna make it.

How we built it

React and three.js for the game environment. ESP32 microcontroller with a capacitive soil moisture sensor handles the hardware side, communicating via Bluetooth LE. Plant identification and health analysis run through GPT5. Chat, personality generation and quests use Gemini and makes sure to serve you the most accurate information. The pixel art style was inspired by the original PvZ aesthetic: colorful, not dark, because plant care should feel fun.

Challenges we ran into

BLE is pain. Getting the ESP32 to reliably stream data to React Native took longer than building the actual game logic. Sensor calibration was another problem. Balancing the game, specifically the zombies was challenging. If they're too aggressive, it's stressful. Too passive, nobody cares. 3D sprites were made from scratch (not downloaded from the internet) with the help of Claude, so there was lots of trial and error

Accomplishments that we're proud of

The live sensor integration actually works. When I water my fern during the demo, you see the moisture percentage climb in real-time and the quest auto-completes. I'm also proud of the educational loop: you literally can't defeat a zombie without learning something about plant care first. It was my first time making a game with Javascript frameworks so it was technically pretty challenging getting up to speed with everything.

What we learned

Plants are harder to keep alive than code. Capacitive sensors are better than resistive ones (less corrosion), BLE has tons of different ways to fail silently. Creating 3D models in three.js is a pain even with Claude. Creative game design takes a lot of work.

What's next for Plantasia

Creating better harness for the AI to actually understand your plant along with the context about how you take care of your plant to cater better to your interests. Adding more sensors to the hardware kit to enable more quests.

Built With

Share this project:

Updates