This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
🌿 Verdantra — Look closer outside.
Verdantra is an open-source, AI-powered botanical field journal designed to encourage people to step away from their screens and explore the natural world.
The idea is simple: take a photo of a leaf, plant, rock, puddle, or another outdoor subject, and use AI to guide your observation rather than replace it.
Key Features
- Photo-based observations: Upload an outdoor photo for AI-assisted analysis.
- Visible evidence: Receive descriptions of features visible in the image, such as leaf colors, shapes, and patterns.
- Honest uncertainty: The AI highlights what cannot reliably be determined from a photo instead of presenting guesses as facts.
- Safe mini-experiments: Get short observation activities that encourage real-world exploration without picking, tasting, or damaging plants.
- Personal field journal: Save your photos, AI predictions, and your own observations for later review.
- Online and offline AI modes: Use Google's Gemini API in online mode or a local Gemma model through Ollama in offline mode. Each mode can be selected explicitly.
Verdantra is built around an important principle: AI should encourage curiosity about the real world, not replace our own observations.
Demo
GitHub Repository: https://github.com/codewithvishuuu/verdantra
The project currently runs locally. A public, deployed demo is not available yet.
The repository includes setup instructions for running the backend and frontend locally, configuring the AI provider, and testing the application.
Code
Explore the complete source code:
The repository contains the React frontend, FastAPI backend, AI integration, journal functionality, tests, and individual project documentation files.
How I Built It
I built Verdantra using a modern web stack with an emphasis on practical AI integration, privacy awareness, and reliable local development.
Technology stack
- Frontend: React, TypeScript, Vite, and Tailwind CSS
- Backend: Python and FastAPI
-
AI — Online: Google's Gemini API using
gemma-4-26b-a4b-it -
AI — Offline: Gemma 4 E2B through Ollama using the
gemma4:e2bmodel - Data storage: SQLite for journal entries
- Testing: Pytest for backend tests, TypeScript checks, and Vite production builds
The application uses a shared AI service interface so that the observation workflow can work with either provider without requiring separate frontends.
For online use, the backend sends the image to the configured Gemini API. For offline use, the backend communicates with the local Ollama server, allowing image analysis without an internet connection once the model is installed and running.
The AI instructions emphasize photo-grounded evidence, plain language, explicit uncertainty, and safe observation activities. Predictions are labelled unverified so users understand that AI-generated descriptions can be wrong.
I also added automated tests for backend behavior and output constraints. Passing tests verify implementation behavior; they do not guarantee that every AI-generated observation is botanically correct.
Why Does Open Innovation Matter?
Nature exploration should not depend on expensive hardware or a single online AI service.
Open-source tools made it possible to build and inspect the complete application, combine different AI inference options, and give users a choice between hosted and local processing.
Local inference through Ollama also provides an alternative when internet access is unavailable. The hosted option offers a different model and inference path, while the local option keeps image processing on the user's machine.
Open innovation makes projects like Verdantra easier for other developers to inspect, learn from, improve, and adapt for their own communities.
I hope other contributors will help improve the quality of observations, accessibility, offline usability, and the overall field-journaling experience.
My Agent Session
This section is optional. I do not have a verified, shareable DevRelay agent-session link to include, so I am leaving it out rather than linking to a nonexistent session.
Prize Categories
My submission is for the Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass.
I have not added any additional partner prize categories because I have not verified which partner categories apply to this project.
Built with curiosity, open-source tools, and a little more time outdoors.
Verdantra — Look closer outside. 🌱
Top comments (1)
Official Platform Update
Security protocols have been updated for all developer accounts.