Sauti Porini: From Passive Observation to Proactive Defense
Inspiration
Living in Nairobi, the realities of environmental degradation and climate change are not just abstract concepts they are visible challenges that impact our communities and ecosystems every day.
When looking at the threats facing vital ecosystems like Kenya's Kakamega Forest, we realized a critical flaw in how the tech industry currently fights climate change:
Monitoring is not protection.
Governments deploy millions of dollars into satellite systems that act as passive observers, merely telling us that a forest was cut down three days ago. We have become absolute experts at mapping destruction, but we are failing to prevent it.
We were inspired to build a system that bridges the gap between detection and interception shifting our approach from passively watching to proactively defending.
What It Does
Sauti Porini (Swahili for "Voice in the Wild") is an autonomous environmental protection agent a digital ranger that never sleeps.
Instead of waiting for human analysts to review satellite imagery, Sauti Porini continuously monitors the forest's baseline state.
When a threat is detected such as:
- A thermal anomaly from satellite data
- A local community member reporting illegal logging via USSD
The system:
- Instantly synthesizes environmental context (wind speed, temperature, etc.)
- Escalates the threat level on a live 3D command center
- Generates a highly specific tactical dispatch for human rangers
The goal: intercept threats before they spread.
How We Built It
To make Sauti Porini fast, scalable, and cost-effective, we engineered a Hybrid Intelligence Architecture:
1. Frontend (Command Center)
An interactive dashboard built with:
- React
- Mapbox GL JS (3D terrain rendering)
- Framer Motion (real-time visual alerts)
2. Deterministic Brain
The backend is powered by:
- Node.js
- Express
- Azure Cosmos DB (MongoDB API)
This gives the forest a stateful memory, enabling structured decision-making.
3. Generative Brain
We used Azure AI Foundry to build an Agentic Framework.
The agent acts as a Chief Dispatcher, translating raw environmental data into actionable intelligence for human rangers.
4. Ground Truth Integrations
- Africa's Talking (USSD webhooks) for citizen reports
- Simulated IoT acoustic sensors for real-time environmental signals
The Mathematics of the State Machine
To prevent alert fatigue and excessive LLM API token usage, we do not pipe raw satellite data directly into the AI.
Instead, a deterministic State Machine acts as a strict gatekeeper.
Let ( S_t ) represent the state of a forest sector at time ( t ). The next state is defined as:
$$ S_{t+1} = \begin{cases} \text{ALERT}, & \text{if } E_{USSD} = 1 \lor E_{IoT} = 1 \ \text{WATCH}, & \text{if } C_{FIRMS} > \theta_c \land W_{speed} > \theta_w \ \text{NORMAL}, & \text{otherwise} \end{cases} $$
Where:
- ( E ) = binary ground triggers
- ( C_{FIRMS} ) = satellite anomaly confidence
- ( W_{speed} ) = real-time wind speed
The computationally expensive AI agent is only invoked when:
$$ S_{t+1} = \text{ALERT} $$
Challenges We Ran Into
1. Frontend State Synchronization
Initially, the map struggled to differentiate between:
- Historical deforestation data
- Live forest state
We solved this by:
- Creating a dedicated live-state endpoint
- Switching to a polling-based React architecture
This allowed Mapbox pins to dynamically reflect real-time states:
WATCHALERT
2. Whistleblower Protection
Reporting illegal logging can be dangerous.
We implemented cryptographic hashing using SHA-256:
$$ \text{Hash} = \text{SHA-256}(\text{Phone Number}) $$
This ensures:
- Anonymity
- Verifiability
- Trust in the system
Accomplishments We're Proud Of
- Successfully fusing deterministic logic + generative AI
- Building a true event-driven state machine (not just prompt wrappers)
- Achieving real-time visual feedback on a 3D Mapbox interface
Watching a forest sector transition:
- Invisible →
NORMAL - Pulsing amber →
WATCH - Flashing red →
CRITICAL ALERT
…in real time feels unreal (in a good way).
What We Learned
This project pushed us far beyond CRUD apps.
We learned how to:
- Architect a true Agentic Framework
- Use LLMs as reasoning engines, not chatbots
- Handle webhooks, async workflows, and cron jobs
- Manage stateful systems with real-world consequences
What’s Next for Sauti Porini
We’re treating Sauti Porini as an enterprise-ready system.
1. Strategic Partnerships
- Collaborate with Kenya Forest Service (KFS)
- Work with telecom providers (e.g., Safaricom) for IoT deployment
2. Community Rollout
- Pilot USSD reporting in community conservancies
- Expand into networks like Northern Rangelands Trust
3. Data Monetization
Leverage real-time forest intelligence as a verification layer for the carbon credit market:
$$ \text{Trust in Carbon Credits} \propto \text{Quality of Verification Data} $$
Final Thought
Sauti Porini isn’t just a system it’s a shift in philosophy:
$$ \text{Protection} > \text{Observation} $$
Because the future of conservation isn’t about knowing what happened.
It’s about stopping it before it does.
Log in or sign up for Devpost to join the conversation.