cd /news/artificial-intelligence/wildlens-see-nature-understand-it-th… · home › topics › artificial-intelligence › article
[ARTICLE · art-147737] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

🌿 WildLens — See Nature. Understand It. Then Put Your Phone Away.

A developer built WildLens, an open-source AI nature companion that identifies plants and animals from a photo and then deliberately pushes users to put their phone away. The app routes images through a modular provider abstraction, defaulting to open-weight Gemma 2 for offline botanical reasoning and optionally Gemini 3.5 Flash via a server-side /api/analyze route, with strict Zod schema validation and IndexedDB-backed field journal storage. It was submitted to the Hacktoberfest Open-Source AI Challenge Week 1 "Touch Grass" prompt and includes an instant demo mode with four pre-configured specimens.

by read4 min views2 publishedOct 8, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

“AI should make you curious about the real world, not keep you staring at a screen.”

Modern nature apps often suffer from a counter-productive irony: they turn outdoor walks into another screen-time addiction, trapping users in infinite scrolling feeds, leaderboards, and social feeds.

WildLens is an AI-powered outdoor companion built specifically for the “Touch Grass” challenge. Its design mandate is the exact opposite of attention-economy apps: make screen interaction as brief as possible, and prompt the user to put their phone in their pocket.

$$\text{Step Outside} \longrightarrow \text{Point Camera} \longrightarrow \text{Gemma AI Taxonomy} \longrightarrow \text{Look Closer Tip} \longrightarrow \mathbf{Phone\ In\ Pocket} \longrightarrow \text{Physical Exploration Quest} \longrightarrow \text{Earn Nature XP}$$

Large Viewfinder & Nature Scanner (/scanner):

facingMode: environment). Real-World Nature Challenges:

PutPhoneAwayPrompt) Nature Passport / Field Journal (/passport):

Touch Grass Session Mode (/session):

Nature XP & Progression System:

Level 1 — Seedling (0–99 XP)Level 2 — Explorer (100–249 XP)Level 3 — Trail Seeker (250–499 XP)Level 4 — Naturalist (500–999 XP)Level 5 — Wild Guardian (1000+ XP) Safety & Foraging Guardrails:

Live Link: https://wildlens-hacktober.vercel.app/

GitHub Repository: https://github.com/rudraism19/Wildlens-Hacktober

Instant Demo Mode: Includes 4 pre-configured biological specimens (** Peepal Tree**, Indian Robin, Plain Tiger Butterfly, French Marigold) so judges and testers can experience the entire scanner, taxonomy, and challenge pipeline without needing camera permissions or API keys.

The complete source code is open source and hosted on GitHub:

👉 github.com/rudraism19/Wildlens-Hacktober

flowchart TD
    A["📷 Camera / Drag & Drop Image"] --> B["WildLens Viewfinder"]
    B --> C{"AI Provider Router"}

    subgraph OpenWeight ["Open-Weight & Local Tier"]
        C -->|"Default / Offline"| D["Gemma 2 Open-Weight"]
        D --> D1["Vision Feature Extraction"]
        D1 --> D2["Gemma Botanical Reasoning Engine"]
    end

    subgraph CloudTier ["Cloud Multimodal Tier"]
        C -->|"Cloud Toggle / API Configured"| E["Gemini 3.5 Flash API"]
        E --> E1["Server-side Secure Route /api/analyze"]
    end

    D2 --> F["Strict Zod Schema Validation"]
    E1 --> F

    F --> G["Nature Identification Card"]
    G --> H["Observation Tip ('Look Closer')"]
    G --> I["Ecological Fact ('Did You Know?')"]
    G --> J["Real-World Outdoor Challenge"]

    J --> K["📴 Put Phone Away Modal & Timer"]
    K --> L["User Explores Real World"]
    L --> M["+50 Nature XP Earned"]
    M --> N["IndexedDB Nature Passport Field Journal"]

WildLens is built on a modern, offline-first open-source stack:

#08100b, #12231c, emerald, moss, and warm off-white). NatureIdentificationSchema. idb stores passport entries, outdoor sessions, and XP progression entirely in the browser. WildLens implements a modular AI provider abstraction (IAIProvider):

GemmaProvider) GEMMA_ENDPOINT_URL (Ollama gemma2:9b, Hugging Face google/gemma-2-9b-it, or local GPU server). GeminiProvider) gemini-3.5-flash with dynamic API key resolution./api/analyze and /api/challenge) — API keys are never exposed to client bundles. “The best outdoor AI is one that still works when the internet doesn't.”

Building WildLens around open-weight models (like Google Gemma) is an intentional architectural choice driven by five critical pillars:

True Wilderness Resilience:

Real nature exploration happens on forested mountain ridges, remote ravines, and national parks where cellular towers don't reach. Closed, cloud-only proprietary APIs fail completely the moment you lose signal. Open-weight models empower users with a fully functional field naturalist directly on their device.

Privacy-First Exploration:

Where you hike, what you discover, and the nature photos you capture should belong to you. Open-weight inference ensures personal location and photography data are processed locally without being scraped into proprietary corporate training databases.

Freedom from Proprietary Lock-In:

With a modular provider abstraction (IAIProvider), users and organizations are never trapped by single-vendor price hikes, sudden deprecations, or terms-of-service shifts.

Zero Per-Token Tax on Curiosity:

Commercial vision APIs charge per-query token fees, which penalizes spontaneous curiosity. Running open-weight Gemma models eliminates recurring API bills, allowing students, schools, and park rangers to explore nature without metering.

Fine-Tuning for Local Bioregions:

A generic black-box model treats the entire world with broad strokes. Gemma's open weights can be fine-tuned on regional botanical datasets (such as Western Ghats flora, Appalachian lichens, or Alpine mosses), enabling localized taxonomic precision that monolithic closed APIs overlook.

This application was engineered with the assistance of Google DeepMind's Antigravity agentic coding pair programmer:

npm test) to validate levels, XP rewards, and provider failover logic.

git clone https://github.com/rudraism19/Wildlens-Hacktober.git
cd Wildlens-Hacktober

npm install

cp .env.example .env.local

npm run dev

npm test

Built with ❤️ for the Hacktoberfest 2026 Touch Grass Challenge.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @wildlens 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/wildlens-see-nature-…] indexed:0 read:4min 2026-10-08 · —