Case study
Plante
A pixel-art smart greenhouse: a Raspberry Pi watches the plants and works the lid, and the app turns keeping them alive into a game.
Best Designed Hack, uOttaHack 8

The problem
People who want to grow their own food often do not have time to watch over it. Plante pairs a physical mini greenhouse, built on a Raspberry Pi 5 and an Arduino, with a pixel-art web app so the boring parts of plant care (lid control, sensor checks, alerts) happen on their own and the rest becomes a game with XP, achievements, a museum of trophies and a leaderboard. Built in 36 hours at uOttaHack 8.
The approach
- Hardware: the Pi reads a DHT11 for temperature and humidity, a BH1750 light sensor over I2C, a soil-moisture probe through an ADS1256 analog-to-digital HAT over SPI with a custom driver, and a Camera Module 3. An Arduino drives two servos that open and close the greenhouse lid on serial commands.
- A FastAPI service on the Pi is the only process that touches the GPIO pins. It caches readings, exposes sensor, camera, lid and config endpoints, runs under systemd and can require an API key. An earlier design that read the sensors straight from the web backend deadlocked, which is why the hardware got its own service.
- An automation loop polls that service and compares readings against thresholds that can be edited live (15 to 28 °C, 30 to 70% humidity, 20% soil moisture, 200 lux). Temperature and humidity out of range open or close the lid over the Arduino's serial link; soil moisture and light only raise a warning. The lid endpoint itself moves the servos in five-degree steps, so the lid never slams.
- The app is Next.js 16, React 19 and TypeScript on Vercel, reaching the Pi through a Cloudflare Tunnel: Google sign-in, sensor snapshots in MongoDB, and each farm's status computed as healthy, warning (within 10% of a limit) or critical.
- At the hackathon the AI layer was a chat assistant on Gemini whose system prompt carried each farm's live readings, spoken replies through ElevenLabs, a Gemini-written weekly report and SMS alerts through Twilio. Those services were retired afterwards and the app was rebuilt as a zero-config demo with simulated sensor drift.
- The pixel-art UI uses NES.css, the PICO-8 palette and the Press Start 2P font. The museum is a 16-by-10 tile room where your avatar walks between achievement pedestals, locked ones showing a padlock; the farm mini-game shows every plot with its live status, and you can visit friends' farms.
The result
Plante won the Best Design prize at uOttaHack 8, a hackathon with more than 400 participants. The planned water pump could not draw enough power from the hackathon kit, so “Water now” became a notification instead: a crash course in scoping an MVP. The demo lives on, with a hardware tour on YouTube.
Team
Jowi Aoun
Built with
More case studies
- TraceUnsupervised anomaly detection that surfaced a hidden multi-stage attack in 180,800 unlabelled Apache log lines, then handed analysts an investigation console.
- MapleVaultSigned, hash-linked supplier attestations for Canadian defence procurement, with a verifier that computes Canadian content and catches forgery, tampering and replay.
- Land-cover segmentationWildfire-risk screening for British Columbia homes: segmentation models find buildings and vegetation in aerial imagery, and every parcel gets a FireSmart score.
- Agent²Your real estate agent's agent: text a number, take a short call with an AI voice agent, and get a matched listing back by SMS.