This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
WildLens is an outdoor-first AI nature companion designed to make exploring the real world more interesting than staring at a screen.
We have AI that can answer almost any question, but most AI experiences keep us sitting in front of a screen. I wanted to explore a different idea: what if AI helped us put our phones away and pay more attention to the world around us?
That's the idea behind WildLens.
WildLens helps hikers, nature enthusiasts, birdwatchers, gardeners, and curious beginners explore the natural world with assistance from Gemma 4.
The experience revolves around three core modes:
- 🌲 Explore: Discover daily outdoor challenges, follow nature quests, and learn about different habitats through short AI-generated briefings.
- 📷 Identify: Capture or upload an image of a plant, bird, insect, fungus, or natural object to get identification assistance, confidence information, safety warnings, and suggestions about what to observe next.
- 📖 Journal: Record nature observations, save photographs, and build a personal field journal without depending on an external cloud service.
But the most important feature isn't identification. It's the interaction philosophy.
WildLens is designed so that the screen is the shortest part of the experience.
Instead of endless AI conversations, feeds, and notifications, it encourages short interactions followed by real-world exploration. The goal is to help people observe more, learn more, and spend more time outdoors.
Demo
🎥 Video Demo: Link
The demo should show the core journey: open WildLens, explore an outdoor challenge, identify a natural object, read the safety guidance, and save the observation in the field journal.
Code
💻 GitHub Repository: repo
The repository includes the application source, setup instructions, and project documentation.
I want WildLens to be something other developers can inspect, run, improve, and adapt—not just another AI-powered interface hidden behind a proprietary API.
How I Built It
WildLens is built with a web-first architecture and an open-AI-first approach.
Technology stack
- React 19 + Vite 6: Application interface and development environment.
- TypeScript: Type-safe application logic.
- Tailwind CSS 3: Responsive layouts and dedicated nature, direct-sunlight, and twilight display modes.
- Gemma 4: The intended core AI model for nature guidance and identification, subject to the capabilities of the selected model variant.
- Ollama: Local model serving for supported environments.
- IndexedDB / browser-local storage: Local-first persistence for observations and journal data.
- Web APIs: Camera access, geolocation, device orientation, speech synthesis, and procedural audio where supported.
Designing for the outdoors
I designed the interface around three principles:
1. Glance, act, and put the phone away.
Large touch targets, readable typography, concise AI responses, and simple navigation minimize the effort required to use the app outdoors.
2. Make exploration the reward.
Daily challenges such as a canopy scan, listening for bird calls, or observing different types of lichen give users a reason to leave the interface and interact with their surroundings.
3. Treat privacy as a design requirement.
Nature observations and location information can be sensitive. WildLens is designed to keep personal field notes on the device, avoid continuous background GPS tracking, and offer location privacy controls.
Putting open AI at the center
The central technical goal is to run the AI locally through Gemma 4, using a compatible local inference setup rather than making a closed, cloud-hosted AI API the foundation of the experience.
That architecture is important because a nature companion should remain useful when a trail has no mobile coverage.
The intended flow is straightforward:
- The user captures or selects an image.
- The application passes the image and a focused prompt to the locally served model.
- The model returns a concise identification or observation guide.
- The interface displays relevant uncertainty and safety information.
- The user saves the observation locally and returns to exploring.
Actual image-understanding support, memory requirements, inference speed, and offline behavior depend on the chosen Gemma 4 variant and runtime configuration. The application should communicate uncertainty instead of presenting model predictions as guaranteed scientific identifications.
Why Does Open Innovation Matter?
For WildLens, open innovation isn't just a licensing preference. It influences the product's architecture and the kind of experience it can offer.
1. Nature doesn't always have an internet connection
A closed, cloud-only AI service makes connectivity part of the user experience. That's a poor fit for remote trails, campsites, and other places with unreliable reception.
With locally hosted open-weight models, compatible hardware can perform inference without sending every observation to a remote AI service.
The goal is simple: the environment shouldn't determine whether you can use your nature companion.
Local inference does require the model and its dependencies to be installed beforehand, and supported hardware must have enough memory and processing capacity.
2. Your observations should remain yours
A field journal can reveal where someone hikes, where rare plants grow, and where wildlife gathers.
A local-first design allows users to retain observations on their own devices without requiring an external database for core journaling. Combined with local inference, this reduces the need to transmit personal photographs and location information to third-party servers.
That matters especially when documenting sensitive habitats or endangered species.
3. Developers can change the intelligence
Open-weight models and open-source tooling give developers greater control over the system.
The model-serving layer can be designed to support compatible model alternatives. Developers can experiment with prompts, response formats, safety instructions, and model variants without rebuilding the entire application around a single proprietary API.
For WildLens, this means the community can investigate better identification workflows, more useful habitat briefings, and more efficient local inference.
4. Lower barriers to experimentation
Cloud AI APIs can introduce usage-based costs, rate limits, and dependency on a service provider. Local inference shifts the trade-off toward hardware requirements and local resource consumption.
For a project intended for learning, experimentation, and community contributions, this makes the underlying system more inspectable and adaptable.
There is no claim that local inference is universally faster or cheaper: that depends on the hardware, model size, and workload. Its strongest advantages here are control, privacy, and the potential for disconnected operation.
5. Open innovation makes the project extensible
WildLens could eventually support specialized models for bird calls, plant identification, or habitat analysis. Different models could handle different tasks while the same outdoor-first interface remains intact.
That is the broader opportunity: build a useful open foundation and let the community improve it for different environments, devices, and use cases.
My Agent Session
[Add your DevRelay agent session URL or embed your saved agent session here.]
This section can document how the agent helped build WildLens, from defining the outdoor-first interaction model to implementing the application and integrating local AI.
Prize Categories
- Open-Source AI / Touch Grass: Core project submission.
[Add any applicable partner-specific prize categories only if the project meets their eligibility requirements.]
What's Next?
WildLens is an exploration of a different relationship between people and AI.
Instead of building another tool that competes for attention, I want to build one that helps people notice things they would otherwise walk past: a bird call in a tree, a pattern on a leaf, a patch of lichen on a rock, or a change in the landscape.
Open AI makes that vision more adaptable, privacy-conscious, and potentially useful beyond reliable internet connections.
The best outcome isn't more time spent using WildLens. It's more time spent exploring the world because of it.
🌿 Build openly. Explore outdoors. Touch grass.

Top comments (0)