This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
FieldNote is a nature journal built around one simple idea: spend less time looking at your screen and more time noticing the world around you.
It gives you outdoor observation missions to try, from noticing patterns in leaves to listening for bird calls. Once you're outside, you can record what you actually experienced, including surprising details, sounds, colours, weather, and optional photos or sketches.
FieldNote can then help turn your raw observations into a structured journal entry while keeping your original notes available. It also includes an observation tally for recording things like birds, plants, and fungi.
The goal isn't to turn nature into another screen-time activity. It's to give people a small reason to step outside, slow down, pay attention, and build a personal record of the natural world around them.
Demo
Try FieldNote live: Open FieldNote 🌿https://fieldnote-byg.pages.dev/
Code
FieldNote is open source. You can explore the source code, implementation, and tests here:
The repository contains the React and Vite frontend, the local Node.js/Express backend, Cloudflare Pages Functions for the hosted AI endpoints, and automated tests.
How I Built It
I built FieldNote using React and Vite for the frontend, with a Node.js and Express backend for local development.
Local AI with Ollama: During local development, FieldNote uses Ollama to run the open-weight Qwen 2.5 7B model on my own machine. This powers outdoor observation mission generation and helps organize raw nature notes into structured journal entries.
Adapting it for the web: To make a public demo possible, I added Cloudflare Pages Functions for the AI endpoints. The deployed version is configured to use Cloudflare Workers AI with Meta's Llama 3.2 3B Instruct model, rather than calling Ollama on my personal computer.
I also built input validation, prompt formatting, error handling, and tests for the AI endpoints. The prompts are designed to preserve the user's actual observations instead of inventing details about species or nature encounters.
FieldNote keeps journal entries in the browser, while the AI processing path depends on whether you're using the local version or the hosted version. The hosted AI path still needs end-to-end verification.
Why Does Open Innovation Matter?
Open innovation made it possible for me to experiment with AI on my own terms.
I could run Qwen 2.5 7B locally through Ollama, test prompts against real observation notes, and shape the experience around a specific goal: helping people describe what they actually noticed without making up nature facts. I didn't need to build the first version around a proprietary, cloud-only AI API.
That freedom matters for a project like FieldNote because personal journals can contain sensitive details about people's lives and locations. Local inference gives users a way to experiment with AI while keeping processing on their own machine. The hosted demo uses a different AI path, so I also had to think carefully about how local and cloud processing differ.
Open models and open tools gave me room to learn, compare approaches, and adapt the architecture as the project evolved. As a student developer, that access made it easier to go from an idea to a working application and understand more of the system behind the AI.
For me, open innovation isn't just about making AI available. It's about giving more people the ability to build with it, question how it behaves, and adapt it to useful problems in their own communities.make possible that a closed API wouldn't? -->
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.