<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jowi A</title>
    <description>The latest articles on DEV Community by Jowi A (@jowi00000).</description>
    <link>https://dev.to/jowi00000</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3802552%2F4d347498-4291-4263-865d-93ac7a1ec5a7.png</url>
      <title>DEV Community: Jowi A</title>
      <link>https://dev.to/jowi00000</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jowi00000"/>
    <language>en</language>
    <item>
      <title>From Deadlocks to Green Streaks: Building an AI Greenhouse with Gemini in 36 Hours 🧑‍🌾</title>
      <dc:creator>Jowi A</dc:creator>
      <pubDate>Tue, 03 Mar 2026 06:30:30 +0000</pubDate>
      <link>https://dev.to/jowi00000/from-deadlocks-to-green-streaks-building-an-ai-greenhouse-with-gemini-in-36-hours-15gf</link>
      <guid>https://dev.to/jowi00000/from-deadlocks-to-green-streaks-building-an-ai-greenhouse-with-gemini-in-36-hours-15gf</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/mlh-built-with-google-gemini-02-25-26"&gt;Built with Google Gemini: Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://devpost.com/software/plante" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd112y698adiu2z.cloudfront.net%2Fphotos%2Fproduction%2Fsoftware_thumbnail_photos%2F004%2F173%2F371%2Fdatas%2Fmedium.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://devpost.com/software/plante" rel="noopener noreferrer" class="c-link"&gt;
            Plante | Devpost
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            We built Plante, a plant monitor, so you can touch grass inside
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          devpost.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9boxdeg4ddf8gdl122lo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9boxdeg4ddf8gdl122lo.png" alt="User's farm character next to his farm"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built with Google Gemini
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Spark
&lt;/h3&gt;

&lt;p&gt;As university students, my teammates and I noticed a common problem: lots of people want to grow their own fruits and vegetables but simply don't have the time to monitor a garden. We wanted to bridge that gap. We set out to create a system that could teach anyone how to automatically grow their own produce using a simple, accessible Raspberry Pi kit.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Solution: Plante 🌱
&lt;/h3&gt;

&lt;p&gt;Built over 36 hours at the MLH sponsored uOttaHack 8 with almost a thousand registered students, &lt;a href="https://devpost.com/software/plante" rel="noopener noreferrer"&gt;Plante&lt;/a&gt; &lt;em&gt;(French for "plant")&lt;/em&gt; is a prize-winning mini automated greenhouse and gamified learning platform. We hooked up temperature, humidity and soil sensors to a Raspberry Pi and an Arduino, allowing the physical greenhouse to automatically open and close its hatch using servos to regulate its environment. We also added a camera to monitor the plant’s health.&lt;/p&gt;

&lt;p&gt;To make learning fun, we built a sleek, gamified frontend (which actually won "Best Design" prize!). Users earn XP, maintain "green streaks", and unlock achievements in their personal museum for keeping their plants alive. Users also can visit their friends’ farms and museums, enhancing the social aspect to growing plants!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8nz9hv9jz483j0o46e0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8nz9hv9jz483j0o46e0l.png" alt="Kalanchoe farm"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Role of Google Gemini
&lt;/h3&gt;

&lt;p&gt;As the software lead, my main focus was integrating AI to make Plante truly intelligent. I used the Google Gemini API to power two core features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Context-Aware AI Chat:&lt;/strong&gt; We didn't want a generic botany bot. We passed real-time sensor data from the user's specific farms directly into the prompt context. If a user asks, "Help, my &lt;em&gt;Tomato Farm&lt;/em&gt; is critical 😭😭😭", Gemini knows exactly what the humidity and temperature levels are for that farm and provides targeted, actionable advice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98p1ut963unkchebbudb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98p1ut963unkchebbudb.png" alt="Chat feature"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Weekly Pulse Insights:&lt;/strong&gt; Gemini analyzes the plant's data over the week to generate custom reports and suggestions, helping users learn long-term farming habits. This goes with our goal of continuously teaching the user about their farm.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgye1flbzwezrgiqnxf1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgye1flbzwezrgiqnxf1l.png" alt="Weekly pulse report"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can check out our full hardware and software demo in action right here:&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/7n9EgHPRCC8"&gt;
  &lt;/iframe&gt;


&lt;br&gt;
&lt;em&gt;Feel free to register in the &lt;a href="https://plante-flame.vercel.app" rel="noopener noreferrer"&gt;Plante app&lt;/a&gt; directly, but beware that AI features have been disabled after the hackathon ended.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's a demo CodePen of the little farm game where you can see your farms, originally written in TypeScript from scratch 😀. Press &lt;code&gt;G&lt;/code&gt; to express yourself!&lt;/p&gt;

&lt;p&gt;

&lt;iframe height="600" src="https://codepen.io/zkttazgw-the-flexboxer/embed/JoRYVRz?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Technical Skills
&lt;/h3&gt;

&lt;p&gt;Hooking up physical hardware to a web application is NO JOKE 🥶. We had to create a dedicated sensor polling service on the Raspberry Pi which our app’s server talked with because our initial approach of requesting sensor data from the app’s backend would end up causing deadlocks. So more moving parts means exponentially more thought to put into the architecture of a system. We also learned how to wire servos and sensors to an Arduino, route that through a Raspberry Pi, and expose the hardware states to our app via a REST API.&lt;/p&gt;

&lt;p&gt;With all the complexities in creating a fully featured software application with hardware and connecting them together, I would still highly recommend taking on a similar kind of challenge to anyone as it was a lot of fun. We took on this with almost no knowledge of hardware, you can do it even better! Nowadays it is extremely accessible to bridge knowledge gaps with multi-modal AI models like Gemini, allowing you to communicate with it without limits. If you would like to learn how to build apps with Google AI Studio, I would recommend following the &lt;a href="https://dev.to/deved/build-apps-with-google-ai-studio"&gt;"Build Apps with Google AI Studio" track&lt;/a&gt;. The curriculum follows a clever route to teach and make you get creative on your own.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__user ltag__user__id__11026"&gt;
  &lt;a href="/googleai" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg" alt="googleai image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/googleai" class="ltag__user__link"&gt;Google AI&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/googleai" class="ltag__user__link"&gt;
        Our goal is to equip developers with the most advanced models to build new applications, helpful tools to write better and faster code, and make it easy to integrate across platforms and devices.
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3&gt;
  
  
  Unexpected Lessons (The Hackathon Pivot)
&lt;/h3&gt;

&lt;p&gt;Our original grand plan included a fully automated water pump. However, deep into the hackathon, we realized our hardware kit simply couldn't draw enough power to run the pump effectively 👎. With the clock ticking down, we had to triage. We completely scrapped the physical pump idea and quickly pivoted to a software solution: we wired the "Water Now" trigger to test sending mobile push notifications to the user instead. It taught us a massive lesson in MVP scoping and adapting on the fly when hardware refuses to cooperate!&lt;/p&gt;

&lt;h3&gt;
  
  
  What's Next
&lt;/h3&gt;

&lt;p&gt;We want to take Plante even further by designing a better mechanical box to fit larger plants, adding more advanced actuators, and expanding the software features to support community leaderboards. It would be really cool to add a Raspberry Pi AI HAT+ 2 Kit to have the farm deployable on the edge with LLM/LVM capabilities.&lt;/p&gt;




&lt;h2&gt;
  
  
  Google Gemini Feedback
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Good
&lt;/h3&gt;

&lt;p&gt;We utilized Gemini 2.5 Flash, and its speed and balance of performance were incredible for a fast-paced hackathon. The massive 1 million token context window meant we could pass context (temperature, humidity, light, farms, user info) directly into the prompt without worrying about cutting data. Additionally, our team had little to no experience with hardware. When we were stuck, we took pictures of our hardware and sent it to Google Gemini through the web interface, in text and image. It was of such big help, so much so that our team’s hardware lead went on to create &lt;a href="https://devpost.com/software/product-creator-temp-name-conu-x" rel="noopener noreferrer"&gt;Buildo&lt;/a&gt; in his next hackathon, an app that turns hardware ideas into reality by generating an image with Gemini and finding the components needed to turn the idea into reality. His team went on to win MLH’s best use of Gemini API, truly showing the powers of Gemini in hardware! I truly believe Gemini is untapped for hardware, help yourself and take advantage of this. Share in the comments any tracks you recommend 😁.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Bad
&lt;/h3&gt;

&lt;p&gt;While the context window is huge, we noticed that if we didn't explicitly rein the model in with our system instructions, it occasionally had a tendency to "overengineer" its advice, jumping the gun on complex solutions rather than just answering the user's specific plant question. It required some rigorous prompt engineering and testing to keep the AI strictly within its helpful "Plante Assistant" persona without hallucinating tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Ugly
&lt;/h3&gt;

&lt;p&gt;Rate limits. The free tier limits for the Gemini API (which dropped recently to around 15 requests per minute for Flash) hit us hard during our rapid, late-night testing phases. We kept running into the dreaded &lt;code&gt;429 Too Many Requests&lt;/code&gt; error right when we were trying to debug the chat feature. We had to quickly pause our UI work to learn and implement exponential backoff logic to keep the app from crashing during our demo prep. This was fair nonetheless as we received our API key with just a few clicks and were able to use it right away 🫡.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/JowiAoun" rel="noopener noreferrer"&gt;
        JowiAoun
      &lt;/a&gt; / &lt;a href="https://github.com/JowiAoun/Plante" rel="noopener noreferrer"&gt;
        Plante
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      We built Plante, a plant monitor, so you can touch grass inside
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🌱 Plante&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;🏆 Best Designed Award&lt;/strong&gt; – uOttaHack 8 2026&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A gamified, pixel-art smart plant monitoring system with AI chat, Raspberry Pi sensor integration, and real-time farm management.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://devpost.com/software/plante" rel="nofollow noopener noreferrer"&gt;Devpost&lt;/a&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=7n9EgHPRCC8" rel="nofollow noopener noreferrer"&gt;Demo Video&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🎮 Pixel-Art UI&lt;/strong&gt; – Retro-styled interface using PICO-8 color palette and NES.css&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 AI Chat Assistant&lt;/strong&gt; – Gemini-powered chat with voice synthesis (ElevenLabs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📊 Live Sensor Data&lt;/strong&gt; – Real-time temperature, humidity, and soil moisture from Raspberry Pi&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📸 Pi Camera Feed&lt;/strong&gt; – Auto-capturing plant photos with pixel-art filters&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔔 Smart Notifications&lt;/strong&gt; – In-app and SMS alerts via Twilio&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📈 Weekly Pulse&lt;/strong&gt; – AI-generated weekly insights about your plants&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🏆 Gamification&lt;/strong&gt; – XP, levels, achievements, and leaderboards&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔐 Google Auth&lt;/strong&gt; – Secure authentication with NextAuth.js&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Install dependencies&lt;/span&gt;
npm install

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Set up environment variables&lt;/span&gt;
cp .env.example .env
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Edit .env with your API keys&lt;/span&gt;

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Start development server&lt;/span&gt;
npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/JowiAoun/Plante" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




</description>
      <category>devchallenge</category>
      <category>geminireflections</category>
      <category>gemini</category>
      <category>mlh</category>
    </item>
  </channel>
</rss>
