This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Walk Worthy [or your final name] is a walk planner that gets you off the screen fast. You type one sentence, like "40 minute evening walk, somewhere green", and it gives you one route and one best time to leave. Then you put the phone away.
It's for people who want to walk but don't want to spend ten minutes planning it. The design rule was that the screen should be the shortest part of the experience: one input, one answer, and a minimal "Start walk" view showing only the route and the time left.
Code
quantcode2008
/
dev-1
This Week's Theme: Touch Grass. Build something with open-weight models or open-source AI that gets people off the screen and into the world.
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more…
How I Built It
- Model: Gemma 2 (2B), Google's open-weight model, running locally through Ollama.
- What Gemma does in the app: It reads the user's free-text request ("40 minute evening walk, somewhere green") and turns it into structured preferences: duration, whether they want green spaces, and time of day. Everything else in the app depends on that step.
- Why a small Gemma: a 2B model fits on a laptop and answers in seconds once loaded. I kept its job narrow on purpose. It never invents routes, places, or weather, because small models make up facts. Those come from real open data.
- Real data: [Open-Meteo] for weather, [OpenStreetMap via Overpass] for parks, [routing service I chose] for walking routes, and Leaflet with OpenStreetMap tiles for the map.
- Validation: The model's JSON is checked in code with safe defaults, since a 2B model sometimes returns something invalid. [Mention a real example you saw, if any.]
-
One swap point: every model call goes through
lib/llm.ts, so changing the model means changing one string. - Stack: Next.js, TypeScript, Tailwind.
- Builder: I used Google Antigravity as my coding agent, guided by a PRD, architecture, decisions, and task docs. It was only the builder. The running app calls no cloud AI service. [Confirm after your T9 audit.]
What works offline, and what doesn't
| Part | Works offline? |
|---|---|
| Understanding the request (Gemma via Ollama) | [Yes, tested with Wi-Fi off] |
| Weather | [No / cached?] |
| Places and routing | [No / cached?] |
| Map tiles | [No / cached?] |
Why Does Open Innovation Matter?
- Privacy: the sentence you type is interpreted on my own machine, not sent to an AI company's server.
- Cost: no per-request fee and no AI API key to manage.
- Control: I can swap or fine-tune the model by changing one string.
- No AI cloud needed: [state exactly what you verified with Wi-Fi off].
- An honest limit: [say where a closed API would have been better, for example answer quality or speed, and which parts still need internet].
My Agent Session
Prize Categories
Best Use of Gemma: The app runs Gemma 2 (2B) locally through Ollama to understand the user's walk request, with no cloud AI service involved.
Top comments (0)