This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
I once went to Vaibhav Park in formals, just for fun. I found street dogs, people exercising, women doing yoga, and uncles relaxing. What stayed with me was that I hadn't known a place like this existed so close to me. That was not a Nukkad-generated walk. It was part of the reason I wanted to build Nukkad.
I grew up playing football, cricket, table tennis and pool around my society. Those shared places still exist, but it's easy to spend a free half-hour on a screen and assume there's nothing nearby worth going out for. I wanted a reason to notice the neighbourhood without making the phone the main event.
Nukkad is a local neighbourhood discovery app. Give it your interests, 20–60 minutes and a confirmed public walking start. A local open-weight model ranks eligible nearby places and suggests small things to notice. Application code checks the complete walk back to your start. You review the route, export a walk card to your phone or paper, and leave the app behind.
On return, report which destinations you reached or skipped and write what you saw. You can also record a visit directly from a place on the map, without planning a walk first. Reported visits live in place folders with editable journal drafts. Add photos and Nukkad can prepare a Location Card: a keepsake for a visit, separate from the walk card you take outside. Inferred interests stay pending until you review them. The map marks places you say you visited; it never claims you covered the surrounding streets.
Demo
For this demo, I asked my mom to try Nukkad. She visited Vaibhav Park and took five photos there, capturing flowering trees, walking paths, benches and outdoor exercise equipment.
The recording follows the experience of using Nukkad to keep a memory of that visit: adding a description, saving the photos in a place folder, and letting local AI prepare a journal and Location Card. The AI uses the description and supplied photos to write a summary and select a cover, while all five photos remain available in the folder.
It brings the idea behind Nukkad into everyday use: step outside, notice something nearby, and bring back a memory worth keeping.
Code
Nukkad on GitHub is MIT licensed. The setup guide covers the local model and first map download. The architecture and evaluation guides explain the design boundaries and measured results. The app credits OpenStreetMap; model weights retain their own terms.
How I Built It
Start with mapped places, then check the walk
Nukkad saves an OpenStreetMap extract and walking graph locally. The user confirms a public starting point, inspects possible entrances, and can correct a closed or inaccessible place. A park's polygon centre is a display point, not automatically a usable gate. Map tags are evidence, not a guarantee of current access.
Give AI a real job with firm boundaries
I run Gemma 4 E2B through Ollama on the laptop. It ranks a bounded list of eligible places using explicit interests and reviewed local history. After code fixes the route, Gemma drafts observation activities for the selected stops. On return, it can draft third-person journal prose from the user's report. For photo-backed Location Cards, it writes a short summary and can choose a cover from multiple supplied photos. With one photo, code uses that photo directly; code always renders the card layout.
The model cannot add a destination or declare a route safe. Code calculates the outbound legs and return, walking and stopping time, distance, daylight and current eligibility. It rechecks the plan before a walk card is accepted or exported. Ranking and wording can fail separately, so Nukkad labels each fallback instead of presenting a template as AI output.
Let the person own the memory
Original notes remain intact. Generated writing is editable, and earlier versions survive regeneration. An inferred interest needs an exact source quote and review before it affects a later quest. Seeing people doing yoga at a park, for example, would not by itself mean I want yoga-themed walks.
One bug taught me that saving inputs isn't the same as finishing an experience. Saving a direct visit initially stored its note and photos but didn't prepare the journal or Location Card the user expected. I connected preparation to the completed save, exposed failure and retry states, and made retries reuse the saved visit instead of reuploading everything. The original note remains the source of truth even when generation fails.
What I checked
The current repository passes 165 Python and 59 JavaScript tests, plus lint and formatting checks. Actual local-model evaluations used synthetic places and notes, not invented field results. In one twelve-case Gemma 4 E2B run, eleven cases had feasible routes: all eleven used validated AI ranking, eight used AI observation wording, and three displayed template wording after bounded attempts. The warm generation median was 5.87 seconds in that fixture. The model changed some stop choices against a simple interest-aware baseline, but blind human ratings are pending. Different is not automatically better.
A small synthetic vision check also exposed a limitation: in a five-image case, Gemma selected a square scene although the note referred to circles. Users can change the cover. Passing a schema validator does not prove a choice is meaningful.
Why Does Open Innovation Matter?
The context that makes Nukkad personal is also the context I wanted to keep on my laptop: where I went, what I noticed, photos I kept, and what I might enjoy next time. Gemma runs locally; notes and media stay in local storage. Generation needs no hosted inference account or per-request API bill, though hardware, disk space and electricity still cost something.
Open components let me inspect and change the decision path. I can see why a place was eligible, compare Gemma with deterministic ranking, edit prompts and validators, and choose another installed local model. A separate Gemma 3 run passed the production ranking-and-wording path. That supports model swapping, not equal recommendation quality; I have not fine-tuned a model or established a human preference win over the baseline.
The interface, saved map, bundled assets and downloaded weights are designed for use without a connection after setup. Initial installation, place search and map download need internet; optional air-quality refreshes do too. A process-level test blocked non-local requests from Nukkad during generation, but I have not completed a whole-machine disconnected trial. The supported advantage over a closed hosted API is control of personal context and model behaviour, not automatically better suggestions.
Nukkad has no live GPS, guarantee of public access, street-level air sensor or medical advice. Actual phone readability, a Nukkad-guided outing and blind recommendation ratings still need human testing. I would rather show those gaps than turn a synthetic demo into a story about a walk that never happened.
My Agent Session
I used coding agents to build Nukkad, while setting the product direction, reviewing behaviour and steering fixes. The saved-visit bug above is one example of that loop. The coding agents are separate from Gemma, which runs inside Nukkad.
Prize Categories
Best Use of Gemma. Gemma 4 E2B performs local destination ranking, observation writing, journal drafting and photo-assisted Location Card preparation. Fallbacks and limits remain visible.




Top comments (0)