This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
I built VERDA — AI that gets out of your way.
Most AI applications are designed to keep us on the screen: more messages, more prompts, more scrolling, more time inside the app.
VERDA takes the opposite approach.
It is a mobile-first outdoor companion that uses AI to create a short, personalized outdoor mission and then deliberately reduces the user's interaction with the phone.
The core experience is:
Choose an activity → AI creates a mission → Start → Screen-Away Mode → Go outside → Record discoveries → AI reflection → Outdoor journal
A user can choose activities such as:
- Nature Walk
- Trail Run
- Urban / Trail Explore
- Birding & Audio
- Gardening & Soil
- Micro-Texture Discovery
They can choose a duration of 15, 30, 45, or 60 minutes and select a difficulty level. VERDA then creates structured sensory objectives designed around that activity and context.
Once the mission begins, VERDA enters Screen-Away Mode with a large, minimal countdown and the message:
Your phone isn't needed right now. Go explore.
The idea is simple:
The AI creates the reason. The user leaves the screen. The real world becomes the interface.
After the activity, the user can record discoveries through photos, text, or voice notes. VERDA then creates a structured AI reflection and stores the experience in a personal outdoor journal.
The application also includes mission history, authentic outdoor streaks, outdoor-minute statistics, and locally stored discoveries.
Demo
GitHub Repository:
https://github.com/mahilsaily306-max/outdoor-discovery-tracker
The repository includes a zero-configuration DemoProvider so the core VERDA experience can be explored without API keys or an external AI service.
Demo video / deployed app:
Add the deployed URL or demo video here if available.
Code
The complete source code is open source:
https://github.com/mahilsaily306-max/outdoor-discovery-tracker
VERDA is built as a Next.js Progressive Web App with TypeScript, Tailwind CSS, Zod, IndexedDB, and browser-native APIs.
How I Built It
The most important architectural decision was to keep the AI layer provider-independent.
VERDA uses an AIProvider abstraction so the application logic does not depend on one AI vendor.
VERDA
│
AIProvider
/ \
/ \
OllamaProvider DemoProvider
│ │
▼ ▼
Open-weight model Zero-setup engine
│ │
└────────┬─────────┘
▼
Zod Validation
▼
Safety Interceptor
▼
Local Storage
Open-weight AI
VERDA includes an OllamaProvider for local open-weight model inference.
The provider can be configured to use lightweight models such as:
gemma2:2bllama3.2:1b
This keeps the AI layer replaceable instead of coupling the entire application to a single proprietary API.
The application also includes a DemoProvider that does not require Ollama, API keys, or a cloud service. It produces realistic missions and reflections through local deterministic logic so someone reviewing the project can experience the complete product flow without additional setup.
Structured AI
AI-generated missions and reflections are validated using Zod schemas before being used by the application.
This gives VERDA a pipeline like:
AI Output
↓
Schema Validation
↓
Safety Validation
↓
Application
The application does not blindly trust free-form model output.
Safety
Outdoor AI should not create dangerous challenges.
VERDA includes a deterministic safety interceptor that checks generated missions and reflections for problematic instructions such as trespassing, dangerous wildlife interaction, hazardous roads, cliff edges, and severe weather situations.
Local-first storage
Missions, discoveries, photos, reflections, and history are stored in browser IndexedDB.
There is no required account system or cloud database for the core experience.
Browser APIs
VERDA also uses browser capabilities where available, including:
- Screen Wake Lock
- Speech Synthesis
- Speech Recognition
- Geolocation
- Camera capture
- Web Share
- HTML5 Canvas
Each is optional and has a fallback when browser support is unavailable.
Why Does Open Innovation Matter?
For an outdoor application, open AI is especially meaningful because the user may be somewhere with weak or nonexistent connectivity.
With the Ollama architecture, VERDA can use an open-weight model locally instead of requiring every mission or reflection to go through a proprietary cloud API.
That changes what the product can offer.
Privacy
Outdoor data can be personal.
That includes:
- Where someone spends time
- Their activity history
- Photos
- Voice observations
- Approximate location
A local-first architecture gives users more control over that information.
Model Freedom
VERDA is not designed around one permanent model.
Because AI execution sits behind an AIProvider, developers can experiment with different open-weight models without rewriting the product.
Less Vendor Lock-In
A closed AI API can make the AI layer inseparable from one provider.
VERDA instead treats the model as a replaceable component:
VERDA
↓
AIProvider
↓
Model
That makes it easier to experiment, benchmark, modify, and extend.
The Bigger Idea
Open innovation is not just a technical choice here.
It supports the philosophy of the product itself.
The AI should be something that helps you leave the screen, not something that constantly asks for more of your attention.
My Agent Session
Add the DevRelay agent session link here if available.
The session is optional, but it can show how the project was developed.
Prize Categories
Best Use of Gemma
VERDA supports Google's open-weight Gemma models through the Ollama provider, allowing the mission/reflection AI layer to run with an open-weight local model.
What's Next
There is still room to expand VERDA with richer local vision models, stronger outdoor context, more offline capabilities, and deeper nature discovery features.
The current goal was to establish the core experience:
AI creates the mission.
You put the phone away.
You go outside.
Thanks for checking out VERDA.
Top comments (0)