This is a submission for the Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass.
What I Built
NatureQuest AI is an open-source nature exploration companion designed to turn ordinary outdoor moments into small adventures.
The idea started with a simple question: What if AI gave us a reason to put our phones away instead of spending more time on them?
Whether someone is walking through a college campus, exploring a garden, or visiting a nearby park, NatureQuest AI aims to make the experience more engaging through outdoor challenges, nature discovery, personal observations, and progress tracking.
Instead of making the screen the main attraction, the app is designed to help people notice more of the world around them.
The experience follows a simple cycle:
Choose a quest → Step outside → Discover something → Record the experience → Keep exploring.
Screenshots
The following sections are intended to show the running NatureQuest AI application. Replace each image placeholder with the corresponding screenshot uploaded through the DEV.to editor.
🏡 Dashboard: Start Your Next Adventure
The dashboard brings the next nature quest, exploration progress, and personal achievements together. The goal is to make choosing an outdoor activity quick and easy, so users can get outside without spending too much time navigating the app.
🌿 Discover: Find Your Next Nature Quest
Discover is where users can explore activities inspired by plants, trees, birds, insects, natural patterns, and everyday surroundings. Challenges are intended to be approachable in places such as gardens, parks, college campuses, and neighborhood paths.
🔎 Identify: Explore What You Find
The Identify experience provides a place to explore image-classification predictions from a selected photo using a compatible browser-based model.
AI predictions are starting points for curiosity, not verified species identities. The experience should communicate uncertainty and make the limitations of general-purpose image classifiers clear.
What NatureQuest AI Is Designed to Offer
- Nature Quests: Short outdoor activities that encourage users to observe leaves, flowers, birds, insects, patterns, and natural sounds.
- Screen-Free Adventures: Timed exploration sessions that encourage users to put their phones away and reflect afterward.
- Nature Detective: Optional image classification to help users explore predictions about selected photos.
- Discovery Journal: A personal record of observations, notes, reflections, and optional images.
- Nature Passport: A collection of completed adventures, personal milestones, and discoveries.
- Eco XP and Achievements: Progress tracking that rewards completed activities without pretending that virtual points equal environmental impact.
- Weekly Nature Recap: A summary of exploration activity recorded by the user.
- Community Biodiversity: A potential next step for contributing observations with appropriate consent and privacy protections.
The core outdoor experience should remain useful even when AI is unavailable. A nature walk does not need a model prediction to be worthwhile.
How I Built It
Technology
The intended client-side architecture uses open web technologies:
- React, TypeScript, and Vite: User interface and development tooling.
- Transformers.js: Browser-based inference with a compatible model.
- ONNX Runtime Web: Inference runtime for supported models.
- IndexedDB: Local persistence for journal entries and exploration progress.
- Progressive Web App technology: Installability and caching of suitable application resources.
- Vitest: Testing application logic and important user interactions.
The exact dependencies and model configuration should match the current repository. Optional AI identification depends on successfully integrating a compatible model and testing it on supported devices.
There is no requirement for a hosted generative-AI API for the core experience.
System Architecture
The intended architecture separates the outdoor experience from optional AI inference.
flowchart TD
User[Person exploring outdoors] --> App[NatureQuest AI]
subgraph Experience[Exploration Experience]
App --> Quests[Nature quests]
App --> Walks[Screen-free adventures]
App --> Identify[Optional image classification]
App --> Journal[Nature journal]
end
Quests --> Progress[Local progress calculations]
Walks --> Progress
Identify --> Journal
subgraph Local[Browser storage]
Journal --> DB[(IndexedDB)]
Progress --> DB
DB --> Passport[Nature Passport]
DB --> Achievements[Eco XP and achievements]
end
Model[Compatible open-weight model] -. Optional inference .-> Identify
PWA[Service worker and cached assets] -. Offline access .-> App
Core activities, locally saved records, and progress calculations can run without a dedicated cloud backend. Shared community observations, if implemented, would require a separate online synchronization mechanism.
Image-Identification Flow
When the compatible image-classification model is available, the intended flow is:
sequenceDiagram
actor User
participant App as NatureQuest AI
participant Model as Browser classifier
participant Runtime as ONNX Runtime Web
participant DB as IndexedDB
participant Host as Model repository
User->>App: Select a photo
App->>App: Validate image and preview
User->>App: Start identification
opt Model assets unavailable locally
Model->>Host: Request model assets
Host-->>Model: Return model files
end
App->>Model: Classify selected image
Model->>Runtime: Run inference
Runtime-->>Model: Return ranked predictions
Model-->>App: Display results
opt User saves observation
App->>DB: Save result and field notes
DB-->>App: Confirm local save
end
A general image classifier is not a specialist plant, bird, or insect identification system. Predictions must not be presented as verified species identifications, and low-confidence results should be treated cautiously.
Local Activity and Offline Support
NatureQuest AI aims to keep the core experience independent of continuous internet access.
- Curated nature quests can be available locally.
- Adventure timers and progress calculations can run in the browser.
- Journal entries can be stored locally.
- The application shell can be cached for future visits.
- Optional AI identification requires the relevant model assets to be available on the device.
A first-time model download generally requires internet access. Future offline inference depends on browser support, storage availability, and the model files remaining cached.
The application should clearly distinguish verified offline features from features that require a connection.
Why Open Innovation Matters
I want NatureQuest AI to explore a different role for AI: help people become more curious about the real world, without making them dependent on a remote AI service.
Privacy by design
The intended local-first experience keeps personal notes and saved observations on the device by default. Browser-based inference can avoid sending selected photos to a hosted inference API.
Freedom to experiment
A replaceable model integration makes it possible to evaluate different compatible open-weight models and adapt the application as better options become available.
Useful without AI
Quests, timers, journal entries, and local progress do not inherently need a language model. This separation helps the basic outdoor experience remain useful when AI is unavailable.
More accessible exploration
Curated activities and saved records can remain available without continuous connectivity or a paid AI API subscription.
Open-weight models have their own license conditions and hardware requirements, so model selection and attribution must be documented carefully.
Safety, Privacy, and Limitations
NatureQuest AI is intended to encourage respectful exploration.
- Location permission should be optional.
- Personal notes and photographs should remain private by default.
- AI predictions should be presented with their limitations.
- Missions should encourage observing wildlife without touching, feeding, capturing, or disturbing it.
- AI should never be used to decide whether a wild plant or mushroom is safe to eat.
- Browser storage and cached model assets may be removed by the user or browser.
- Environmental impact statistics should reflect actual recorded activity, not fabricated claims.
Demo and Code
-
Run locally: Follow the setup instructions in README.md, then run
npm run dev. - GitHub repository: github.com/parthaoundhakar-commits/NatureQuest-AI
There is no hosted demo URL included here. NatureQuest AI is intended as a client-side React application, with no application backend required for its core local exploration features.
What's Next?
Future development could include better nature-specific models, downloadable regional nature guides, Hindi and Marathi missions, campus exploration challenges, and privacy-conscious community biodiversity features.
These are development directions rather than claims that every feature is already implemented.
Why I Chose Touch Grass
Technology often asks for more of our attention. NatureQuest AI explores the opposite approach: use technology to inspire an adventure, then encourage people to look up from their screens.
Sometimes discovery means recognizing a plant. Sometimes it means noticing a bird call you usually ignore. And sometimes the best result is simply spending ten minutes outside and remembering something interesting about the world around you.
Choose a quest. Step outside. Discover something new.



Top comments (0)