This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass What if AI could help us spend less time staring at screens and more time noticing the world around us?
That's the idea behind Explora, a nature-walk journal that helps you identify what you discover outdoors and preserve those little moments in a personal journal.
Explora uses Gemma to suggest possible identifications for nature photos. You can review the suggestions, correct them, or leave a discovery unidentified. The goal isn't to turn every walk into a competition—it's to make exploring feel a little more curious and personal.
AI-assisted identification: Get identification suggestions for nature photos.
Personal nature journal: Keep your discoveries and walk memories together.
Photo-based exploration: Start with what you notice on your walk.
Gentle discovery prompts: Find inspiration for observing your surroundings without streaks, scores, or pressure.
I wanted to explore how a small local AI model could support a useful, human-centered experience without relying on a paid AI API.
Building Explora reminded me that technology can do more than keep us looking at screens. It can also encourage us to step outside, observe our surroundings, and appreciate the small details we often overlook.
Through this project, I explored how local AI could support nature identification while keeping curiosity and personal experiences at the heart of the application.
Explora is still a work in progress, but this journey has taught me that building meaningful technology isn't just about what AI can do—it's about how we choose to use it to enrich everyday life.
Sometimes, the best thing technology can do is inspire us to look up.
Live Preview: [https://explora-api-9gf3.onrender.com/](https://explora-api-9gf3.onrender.com/)
Source Code: [https://github.com/asvibes/explora](https://github.com/asvibes/explora)
Note: The frontend is deployed, but the backend and Gemma inference are not yet connected to the public deployment. The complete AI workflow currently requires a local setup.
https://github.com/asvibes/explora I started with a simple question: What if AI could help people become more curious about the nature around them?
I wanted to build something different from a typical AI chatbot. Instead of making users ask questions and receive text responses, I wanted the experience to begin with a real-world activity: going outside, taking photos, and recording discoveries.
That became Explora, a nature-walk journal designed around exploration rather than productivity metrics. Walks are the main unit of the experience, and the journal helps users preserve their discoveries without streaks, scores, or pressure to complete daily goals.
I separated the project into a frontend, a backend, and a local AI component.
The frontend provides the interface for starting a walk, working with nature photos, viewing discovery suggestions, and browsing the journal.
I wanted the interface to feel more like a personal scrapbook than a conventional AI dashboard. The visual direction includes journal-style layouts, photo thumbnails, and a calmer, nature-inspired aesthetic.
I used Python and FastAPI to build the backend that handles application requests and connects the interface to the application's functionality.
Keeping this logic separate from the frontend makes the project easier to develop and maintain.
SQLite provides local database storage for the application's structured data. The project also has separate storage locations for photos and journal-related files.
I used Pillow for image processing. The project includes a privacy-conscious image-handling approach that removes EXIF metadata and re-encodes images before processing them.
This matters because photos can contain information beyond the visible image, including location metadata.
One of the main technical challenges was integrating a language model into a practical application.
I chose Gemma 4 E2B, running locally through Ollama, to explore how a relatively small model could support nature-photo identification without requiring a paid, hosted AI API.
The intended workflow is:
A user selects a photo from a nature walk.
The application processes the image.
The backend sends the identification request to the locally running model.
Gemma generates a suggested identification.
The application interprets the response and presents the suggestion to the user.
The user can confirm, correct, reject, or leave the discovery unidentified.
The model's output is treated as a suggestion, not unquestionable truth. This is particularly important for nature identification, where a photo may be blurry, poorly lit, or insufficient to distinguish between similar species.
I also wanted the interface to communicate uncertainty in understandable language rather than relying on confidence percentages that users might misinterpret.
I didn't want the AI to force an answer when it couldn't identify something reliably.
Explora uses different levels of identification language, such as:
High: “Looks like…”
Medium: “Might be…”
Low: “Not sure…”
The intention is to communicate uncertainty without making the experience feel intimidating or overly technical.
Users retain control over their discoveries. They can correct a suggestion or leave a photo unidentified rather than being forced to accept the model's answer.
For a nature-focused application, this is an important design decision: sometimes the most responsible response is to acknowledge that the available information isn't enough. The journal is an important part of Explora because I didn't want the application to end when the AI returned an answer.
The idea is to connect discoveries to individual walks so users can revisit their experiences later. The interface includes journal-oriented views, photo thumbnails, and scrapbook-inspired elements.
I also explored gentle discovery prompts to encourage observation. These are suggestions rather than mandatory tasks, and the experience deliberately avoids streaks, badges, and competitive scoring.
This helped keep the project's purpose focused on curiosity and personal memories rather than turning outdoor exploration into another productivity system.
I also worked on an evaluation workflow to test the identification pipeline instead of relying entirely on a few successful demonstrations.
The project includes a ground-truth dataset and evaluation scripts. I used a frozen prompt and implemented checks around the evaluation process, including handling malformed model output and scoring results.
I also ran a mock-model smoke test to verify parts of the evaluation workflow.
An important distinction: Passing a mock-model test verifies aspects of the evaluation pipeline; it does not establish the real model's identification accuracy. Real Gemma evaluation results should be reported separately, using the actual evaluation dataset and recorded results.
I deployed the frontend to Render and published the source code on GitHub.
However, the current public deployment is only the frontend. The backend and Gemma inference are not yet connected to the public website, so the complete AI workflow is not available through the deployed link.
The intended AI workflow currently relies on the appropriate local setup, including Ollama and the Gemma model.
This is an area I want to improve next: connecting the frontend and backend through a suitable deployment architecture while considering the storage, resource, and privacy requirements of a local-first application.
Building Explora helped me think beyond simply connecting an AI model to an interface.
I had to consider how the application handles uncertainty, how photos are processed, how users retain control over AI suggestions, and how to evaluate the workflow rather than judging it solely by how convincing its responses look.
It also reinforced an important lesson for me: a useful AI application isn't just about generating an answer. It's about how that answer fits into a real human experience.
Explora is still evolving, but my goal remains the same: to build technology that encourages people to look up, explore their surroundings, and remember what they discover.
Open innovation makes it possible for developers to learn from existing technologies, experiment with open-source tools, and turn ideas into practical projects without having to build everything from scratch.
While building Explora, I explored how an open Gemma model could support a more personal, nature-focused experience. Using local AI through Ollama gave me an opportunity to experiment with AI inference without depending on a paid, hosted AI API. This project also reminded me that innovation isn't only about making AI more powerful—it's about finding thoughtful ways to use it. I wanted to create something that encourages people to observe their surroundings, stay curious, and preserve little moments from their walks.
For me, open innovation means having the freedom to experiment, learn by building, share what works, and be honest about what still needs improvement. Explora is my small step toward using open AI to build technology that brings people closer to the world around them. Explora explores the use of Gemma for AI-assisted nature identification through a local-first application. I intend to enter the applicable challenge categories that align with the project's use of open-source technologies and locally run AI, subject to the official eligibility criteria.
Solo Project — Designed and developed independently by me.