Nature Explore AI
Nature Explorer AI πΏ This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass What I Built Nature Explorer AI is an open-source, full-stack web application designed to counter digital screen fatigue by turning outdoor exploration into an engaging, educational adventu

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission πΏ
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
Nature Explorer AI is an open-source, full-stack web application designed to counter digital screen fatigue by turning outdoor exploration into an engaging, educational adventure.
Instead of keeping users tethered to their desks or doom-scrolling feeds, Nature Explorer AI acts as an intentional, lightweight field companion. When you step outside into a city park, hiking trail, forest reserve, or your own backyard, you can snap photographs of birds, native wildflowers, trees, and insects. The app leverages open-weight vision models to identify species, teach ecological context, highlight distinguishing characteristics, and recommend safe, hands-on outdoor activities.
The complete source code is organized into a clean, modular full-stack architecture:
nature-explorer-ai/ βββ public/ # Favicons, vector logos, and imagery βββ src/ β βββ components/ β β βββ layout/ # Navbar, Footer, PageLayout β β βββ home/ # HeroSection, FeatureCards, NatureStats β β βββ explorer/ # ImageUploader, ImagePreview, IdentificationResult, ConfidenceIndicator, ExplorationTips β β βββ journal/ # JournalCard, EmptyJournal β β βββ ui/ # Button, Card, Badge, Dialog, Toast β βββ pages/ # HomePage, ExplorerPage, JournalPage, ActivitiesPage, AboutPage, NotFoundPage β βββ hooks/ # useLocalStorage, useIdentification β βββ services/ # aiService, journalService, activityService β βββ types/ # nature.ts, journal.ts, api.ts β βββ lib/ # utils.ts, validation.ts β βββ __tests__/ # Automated test suite (Vitest + JSDOM) β βββ App.tsx β βββ main.tsx β βββ index.css βββ server/ β βββ src/ β β βββ routes/ # identification.ts (GET /api/health, POST /api/identify) β β βββ services/ # modelService.ts (Provider Abstraction) β β βββ middleware/ # errorHandler.ts β β βββ types/ # index.d.ts β β βββ app.ts β β βββ index.ts β βββ package.json β βββ tsconfig.json βββ package.json βββ vite.config.ts βββ tailwind.config.ts βββ README.md Enter fullscreen mode Exit fullscreen mode How I Built It 1. Open-Source AI Architecture The backend ( server/src/services/modelService.ts ) implements a clean Model Provider Abstraction ( IModelProvider ) that supports multiple open inference modes:
The project includes automated tests using Vitest and React Testing Library:
Open innovation is essential when building technology designed for the natural world:
This project was built iteratively with pair-programming assistance from the AI agent: