Project Info
Inspiration
I lived in a yurt in Mongolia, where planting indoors during -40°C winters was nearly impossible. With Bloom AI, we're solving this by using IoT and AI to monitor plant health, helping families like mine grow plants even in harsh conditions. Have you ever struggled to understand what your plants need to thrive? Whether you're a seasoned gardener or a newbie, ensuring your plants get optimal care can be challenging. We created Bloom AI to eliminate the guesswork in plant care by providing real-time insights using cutting-edge technology. What It Does Bloom AI is a smart plant health monitoring system that allows you to: Monitor plant health in real-time with IoT sensors tracking temperature, humidity, soil moisture, and light levels. Receive AI-powered advice on plant care, answering questions about watering schedules, light requirements, and more. Visualize plant health data in 3D, giving you an interactive understanding of your plant's status. Analyze plant images for health assessments, offering actionable insights on issues like under-watering or poor lighting. With Bloom AI, plant care becomes easier, more efficient, and data-driven. How We Built It Frontend: Developed with Next.js, React, and TypeScript for a fast, responsive user interface. Backend: Utilized Node.js and Flask. Flask handles AI integrations and analysis, while Node.js manages data exchange between sensors and the frontend. IoT Integration: Connected sensors to Arduino and ESP8266/ESP32 boards to collect real-time environmental data. Data Visualization: Employed Recharts to visualize trends in plant health data. 3D Rendering: Used Three.js to create interactive 3D models of plant health status. AI-Powered Insights: Integrated APIs like Groq for language processing and Hume for computer vision to provide personalized plant care advice. Challenges We Ran Into Hardware Integration: Ensuring accurate data collection required precise calibration and testing of IoT sensors. AI Image Analysis: Implementing reliable image recognition across different plant types was complex. 3D Visualization: Optimizing performance and usability for interactive 3D models posed technical challenges. Accomplishments That We're Proud Of Real-Time Monitoring: Successfully built a system that provides instant feedback on plant health. AI Assistance: Developed an AI assistant that makes plant care advice accessible to all users. Interactive Visualizations: Created 3D models that simplify complex data into an understandable format. Seamless Integration: Effectively combined multiple IoT sensors into a user-friendly dashboard. What We Learned IoT Development: Gained experience in setting up and integrating sensors with web applications. AI and Machine Learning: Explored advanced algorithms for image analysis and natural language processing. Full-Stack Development: Enhanced our skills in building applications from the ground up, managing both frontend and backend components. What's Next for Bloom AI Expanded Sensor Support: Adding sensors for air quality, pH levels, and more environmental factors. Community Platform: Creating features for users to share data and gardening tips. Mobile Application: Developing a mobile app for easier access and monitoring on the go. Enhanced AI Models: Improving accuracy and personalization of insights based on specific plant types and conditions.
Bloom AI: Smart Plant Monitoring System
Bloom AI is an innovative plant health monitoring system that combines IoT sensors, AI, and data visualization to help you take better care of your plants.
Features
- Real-time Plant Monitoring: Track temperature, humidity, soil moisture, and light levels.
- AI-powered Plant Assistant: Get answers to your plant care questions.
- 3D Plant Visualization: View your plant's health status in an interactive 3D model.
- Data Analytics: Visualize trends and patterns in your plant's health data.
- Image Analysis: Upload plant images for AI-powered health assessment.
Technology Stack
- Frontend: Next.js, React, TypeScript
- Backend: Node.js, FastAPI, ThingSpeak
- IoT: Arduino, ESP8266/ESP32
- APIs: ThingSpeak, Groq, Deepgram
- Data Visualization: Recharts
- 3D Rendering: Three.js
Getting Started
Prerequisites
- Node.js (v14 or later)
- Arduino IDE
- ThingSpeak account
- Groq API key
- Hume API key
Installation
-
Clone the repository:
git clone https://github.com/your-username/bloom-ai.git -
Install dependencies:
cd bloom-ai npm install -
Set up environment variables: Create a
.envfile in the root directory and add the following:THINGSPEAK_API_KEY=your_thingspeak_api_key GROQ_API_KEY=your_groq_api_key HUME_API_KEY=your_hume_api_key -
Run the development server:
npm run dev -
Open http://localhost:3000 in your browser.
Hardware Setup
- Connect the sensors to your Arduino or ESP8266/ESP32 board according to the wiring diagram.
- Upload the
main_code.inosketch to your board. - Configure your Wi-Fi credentials in the
secrets.hfile.
Usage
- Place the sensor near your plant.
- Access the Bloom AI dashboard through your web browser.
- Monitor your plant's health metrics in real-time.
- Ask the AI assistant for plant care advice.
- Upload images of your plant for detailed analysis.
Contributing
We welcome contributions! Please see our Contributing Guide for more details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- ThingSpeak for IoT data platform
- Groq for AI language model and computer vision analysis
- Deepgram for Voice AI
Analysis
View
Metric
- 21
- 18
- 11
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CIn code
- C++In code
- CSSIn code
- FastAPIIn code
- FirebaseIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- FlaskClaimed
- Node.jsClaimed
11 of 13 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
550 KB
Source files
95
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
knhn1004/bloom-ai
206 files · 11.8 MB · @ 6c99afc
Structure
Interface
15 files · 7%Screens, components and styles rendered to the user.
Application logic
138 files · 67%Domain rules, services and shared utilities.
+7 moreBackground jobs
1 file · 0%Work run outside a request: tasks, workers and schedules.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- YAML55%
- C19%
- Markdown11%
- TypeScript8%
- C++4%
- Python3%
- Other (3)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 30- @deepgram/sdk
- @radix-ui/react-icons
- @radix-ui/react-scroll-area
- @radix-ui/react-slot
- @radix-ui/react-tabs
- @react-three/drei
- @react-three/fiber
- class-variance-authority
- cloudinary
- clsx
- firebase
- groq-sdk
- hume
- lucide-react
- next
- next-pwa
- react
- react-dom
- +12 more
voice-agent/requirements.txt
pypi · 8- fastapi
- firebase_admin
- janus
- PyAudio
- pyngrok
- python-dotenv
- uvicorn
- websockets
hardwareBackend/requirements.txt
pypi · 3- pyserial
- python-dotenv
- requests
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.