This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
BaroBuddy is an offline-first outdoor awareness prototype designed to track atmospheric pressure, monitor environmental changes, and help users understand when those changes deserve attention.
Atmospheric pressure changes over time, and interpreting those changes alongside elevation can help people become more aware of their surrounding environmental conditions. BaroBuddy explores how a combination of deterministic rules and local AI can turn raw readings into understandable assessments.
The current prototype analyzes simulated pressure and elevation readings, identifies patterns, displays supporting evidence and uncertainty, and uses a locally running Gemma model to explain the results in plain language.
It currently supports six simulated scenarios:
- Uphill climb: Pressure changes alongside increasing elevation.
- Falling pressure: Pressure falls while elevation remains stable.
- Conflicting signals: Pressure and elevation signals do not align clearly.
- Steady conditions: The configured rules detect no significant change.
- Pressure recovery: Pressure rises after a lower-pressure interval.
- Abrupt pressure change: A large adjacent pressure change is flagged.
The application includes interactive pressure and elevation charts, event classifications, evidence, data-quality information, uncertainty reporting, and AI-generated explanations. If the local model is unavailable or returns an unusable response, BaroBuddy falls back to deterministic guidance.
The future vision
The longer-term goal is to develop BaroBuddy into a practical environmental monitoring and alerting system. Future versions could connect to real environmental sensors and outdoor devices, including drones equipped with suitable sensors, to collect readings from different locations.
BaroBuddy could then monitor incoming measurements, account for elevation-related pressure changes, detect meaningful trends or abrupt changes, and notify users when something warrants attention. Drone-assisted data collection could eventually help extend monitoring to areas that are difficult to access on foot.
The current version is an early prototype using simulated readings. Live sensors, drone connectivity, continuous real-time monitoring, and actual alert delivery remain future enhancements.
Demo
- Video demo: [https://youtu.be/bQV_YaUyKos]
The demonstration showcases how BaroBuddy analyzes different environmental patterns, visualizes pressure and elevation changes, and uses local Gemma inference to explain a detector assessment.
Code
GitHub Repository: BaroBuddy on GitHub
The repository contains the current prototype's main components:
The code demonstrates the foundation for analyzing environmental readings, explaining detected changes, and building toward continuous monitoring and timely alerts.
How I Built It
BaroBuddy combines Python-based environmental analysis with a locally running open-weight Gemma model.
The application separates detection from explanation:
- Generate readings: The simulator produces controlled pressure and elevation patterns.
- Analyze changes: Deterministic Python rules validate readings and classify observed patterns.
- Show evidence: The dashboard displays the assessment, supporting evidence, data quality, uncertainty, and charts.
- Explain with AI: Gemma, running locally through Ollama, explains the detector's assessment in plain language.
- Handle failures: If the local model is unavailable or its response is unusable, the application provides deterministic fallback guidance.
The technology stack includes:
- Python 3.13
- Streamlit
- Gemma (
gemma4:e2b) - Ollama
- pytest
- uv
I kept the prototype focused on a reproducible pipeline rather than introducing live APIs or physical sensors before the core analysis and explanation behavior could be tested.
To run the project locally:
uv sync
ollama pull gemma4:e2b
uv run streamlit run app.py
To run the automated tests:
uv run python -m pytest -q
Why Does Open Innovation Matter?
Atmospheric pressure monitoring becomes more useful when changes can be tracked, interpreted, and communicated without relying entirely on external services.
Open-weight AI and open-source tools let us experiment with that idea using locally processed data. With Gemma running through Ollama, BaroBuddy can explain detected pressure changes without sending its AI prompts to a hosted inference API. Python-based detection also lets us keep the core classification logic explicit and testable instead of relying on a language model alone.
This approach gives us a foundation we can adapt as the project growsβfrom simulated readings to real sensors, more continuous environmental monitoring, and eventually drone-assisted data collection and timely alerts. The aim is to make environmental monitoring more accessible to build, inspect, and extend.
Prize Categories
- Best Use of Gemma
Team
We worked on BaroBuddy together:
- Mohit Anand β @mohit_anand_9f7275b63f423
- Neeraj β @ks_neeraj_7b407064bd57e34
BaroBuddy is our exploration of how local AI and transparent environmental analysis can help turn raw pressure readings into useful outdoor awareness.
Thanks for checking out BaroBuddy! ποΈ
Top comments (0)