Project Info
Inspiration
Agriculture is one of the most data-rich yet data-scarce industries. A majority of farmers rely on intuition rather than data when making decisions about when, what, and how to farm. We wanted to build a system that brings real-time environmental intelligence to the field. The idea sprouted from how drones can capture so much stunning visual data, but weren't really used to collect other sensor data that are vital to driving decisions about agriculture.
What it does
TerraIntelligence is an AI-powered drone and IoT network for precision agriculture. It collects real-time environmental and geospatial data — including temperature, humidity, soil pH, water level, altitude, and distance — through onboard and ground sensors. That data is automatically streamed to a Firebase Realtime Database, visualized on a web dashboard, and used to map crop health trends or irrigation needs. The system can: Capture and tag images with precise location metadata (lat, lon, altitude) Stream live sensor readings to a web interface in real time Build a historical log of conditions across multiple zones Help identify patterns for water optimization, soil balance, or early signs of crop stress
How we built it
On the hardware layer, we used an ESP32 microcontroller connected to a DHT11 temperature-humidity sensor and ultrasonic water level module. The board connects to WiFi and pushes JSON-formatted data directly to Firebase RTDB. Additionally, we used a motor to launch and bring back up the payload (the ESP32 + sensor module) whenever it needed to collect data from a probing site. From there, the data is fetched by ML models designed to extract meaningful insights from the source data points. We used the NASA API and conducted literature review to decipher how this data can be used and why it’s meaningful for farmers. From there, we built a web dashboard that doesn’t just visualize data — it lets farmers actually interact with it. The dashboard fetches data from Firebase in real time, displaying it through live-updating charts and a leaflet.js map showing sensor locations and environmental readings. But we wanted to go beyond numbers and graphs, so we integrated AI-driven interaction. Farmers can: Download all their field data as CSV files for offline use or research. Talk to the dashboard directly using a VAPI voice agent, which allows natural, hands-free interaction: perfect for use out in the field. Ask questions about their data, powered by Claude, such as “Which area had the lowest moisture this week?” or “Show me pH trends for Zone 3.” The AI parses Firebase data and generates insightful, contextual responses on the spot.
Challenges we ran into
One of the biggest challenges was getting all of these different endpoints to work: we had data coming in from multiple sensors that had to be sent to the database, then analyzed by various ML models looking for various different signals, and finally sent to the frontend for users to interact with. We solved this through breaking down each component, and integrating together once each module worked as it needed to. Another major engineering problem was balancing the payload and ensuring that the drone would be able to support
Accomplishments we're proud of
We're proud of building the probe dropping mechanism on the drone, and all the data that it was able to collect. We also really liked how we were able to visualize and use multiple ML models to extract so much powerful data.
What's next
Getting farmers to actually use this. We have the mechanics, we have the software, we just need to find the people who need this.
TerraIntelligence Marketplace
A unified marketplace platform hosting multiple AI-powered geospatial analysis applications.
Project Structure
TerraIntelligence/
├── terra-intelligence-landing/ # Main landing page (Port 3000)
├── drone-sensor-dashboard-farm/ # AgriVision - Farm monitoring (Port 3001)
├── drone-sensor-dashboard-fire/ # HydroSense AI - Fire monitoring (Port 3002)
└── start-all.sh # Script to run all apps
Getting Started
Prerequisites
- Node.js 18+ installed
- npm or yarn package manager
Installation
- Install dependencies for all projects:
# Install landing page dependencies
cd terra-intelligence-landing
npm install
# Install farm dashboard dependencies
cd ../drone-sensor-dashboard-farm
npm install
# Install fire dashboard dependencies
cd ../drone-sensor-dashboard-fire
npm install
Running the Application
Option 1: Run all apps at once (Recommended)
From the root directory (TerraIntelligence/):
chmod +x start-all.sh
./start-all.sh
This will start:
- Landing page at http://localhost:3000
- Farm dashboard at http://localhost:3001
- Fire dashboard at http://localhost:3002
Press Ctrl+C to stop all servers.
Option 2: Run apps individually
Open three terminal windows:
Terminal 1 - Landing Page:
cd terra-intelligence-landing
npm run dev
Terminal 2 - Farm Dashboard:
cd drone-sensor-dashboard-farm
npm run dev
Terminal 3 - Fire Dashboard:
cd drone-sensor-dashboard-fire
npm run dev
Available Applications
TerraChem AI
Status: Coming Soon Soil chemistry and nutrient analysis
AgriVision
Status: Available Link: http://localhost:3000/farm Crop and vegetation health monitoring
HydroSense AI
Status: Available Link: http://localhost:3000/fire Water distribution and flow analysis
Development
- The landing page uses Next.js rewrites to proxy requests to the farm and fire dashboards
- Each application runs on its own port but can be accessed through the main landing page
- The landing page provides a unified interface to access all tools
Technologies Used
- Next.js 16
- React 18
- TypeScript
- Tailwind CSS
- Lucide React (icons)
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- AnthropicIn code
- CSSIn code
- FirebaseIn code
- JavaScriptIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
8 of 8 appear in the indexed code.
AI coding agents
- Claude CodeCommits
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.2 MB
Source files
341
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
RadonUmar/TerraIntelligence
406 files · 2.7 MB · @ d158604
Structure
Interface
280 files · 69%Screens, components and styles rendered to the user.
+8 moreApplication logic
33 files · 8%Domain rules, services and shared utilities.
+12 more
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
- TypeScript87%
- Markdown8%
- CSS3%
- JavaScript1%
- Shell0%
- YAML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
drone-sensor-dashboard-farm/package.json
npm · 68- @anthropic-ai/sdk
- @emotion/is-prop-valid
- @hookform/resolvers
- @mapbox/mapbox-gl-draw
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- +50 more
drone-sensor-dashboard-fire/package.json
npm · 68- @anthropic-ai/sdk
- @emotion/is-prop-valid
- @hookform/resolvers
- @mapbox/mapbox-gl-draw
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- +50 more
drone-sensor-dashboard-water/package.json
npm · 68- @anthropic-ai/sdk
- @emotion/is-prop-valid
- @hookform/resolvers
- @mapbox/mapbox-gl-draw
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- +50 more
terraintelligence-landing-main/package.json
npm · 58- @hookform/resolvers
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- +40 more
terra-intelligence-landing/package.json
npm · 15- @radix-ui/react-slot
- class-variance-authority
- clsx
- lucide-react
- next
- react
- react-dom
- tailwind-merge
- +7 more
package.json
npm · 11 development-only dependencies.
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.