DEV Community

Abhisek Roy
Abhisek Roy

Posted on

I Have 1 Hour Free" A Walk Plan in 10 Seconds, Powered by Local AI

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

Free Time Walk Planner is a local AI agent that turns "I have 1 hour free" into a real plan for getting outside.

It picks a nearby park, tells you when to leave and when to turn back so you're home before sunset, and says what to carry based on the weather.

It's for anyone with a short gap in their day who would otherwise spend it scrolling. The answer takes about 10 seconds to read, and then you're out the door. The screen is the shortest part of the experience.

Free Time Walk Planner home screen, where the user types how much free time they have and their location
Tell the agent how much free time you have and where you are.

Generated walk plan showing the suggested park, leave-by time, turn-back time, home-by time and what to carry
A short plan you can read in about 10 seconds: where to go, when to leave, and when to turn back.

Map view of nearby parks and green spaces found through OpenStreetMap
Nearby parks and trails, pulled from OpenStreetMap.

How this answer was made panel listing each tool call the agent made with its inputs and results
Full transparency: every tool the local models chose, and what each one returned.

Code

GitHub logo abhisek247767 / free-time-agent

A local-first AI agent that turns your free time into a concrete outdoor plan using Ollama, LangChain, weather, sunset, and nearby green-space tools.




How I Built It

Two small local models on Ollama, each with one job:

  • tev1:0.8b: a tiny decision model that only decides which tools a request needs (plan a walk, weather, daylight, or politely decline).
  • qwen2.5:3b: fills in the tool arguments via LangChain tool calling, then writes a short, friendly headline.

Free, keyless open data:

  • Open-Meteo: weather forecast
  • Nominatim (OpenStreetMap): place name → coordinates
  • Overpass API (OpenStreetMap): nearby parks, gardens and trails
  • OSRM: walking routes and distances
  • astral: sunrise, sunset and golden hour, calculated fully offline

Safety logic in plain Python, not the LLM:
Leave-by, turn-back and home-by times, plus warnings for rain, wind or a return close to sunset, are all calculated in code, so the numbers are always correct. The LLM only explains them. Tool results are cached locally, so a plan still works when the network drops.

Frontend:
A Streamlit app with live progress, a map of nearby parks, and a "how this answer was made" view that shows every tool call the agent made.

Why Does Open Innovation Matter?

  • Private by design: Both models run on my machine. My location and walking habits are never sent to a closed AI provider.
  • Zero cost: No API keys, no usage bills. A daily "go outside" nudge costs nothing.
  • Right-sized models: Open weights let me pair a 0.8B model for decisions with a 3B model for writing. That split is fast on a laptop, and I can swap either model without touching the rest.
  • Open data for the real world: OpenStreetMap and Open-Meteo give the agent real parks and real weather for free.

A closed API would have turned a personal "go touch grass" tool into something that costs money per request and sends my location to someone else's server.

Prize Categories

  • Best Use of Gemma (Featured categories)
  • Best Use of GitHub Copilot (Partner categories)

Top comments (2)

Collapse
 
traceypears profile image
traceypears •

Thấy bạn dùng model cục bộ để sinh kế hoạch đi bộ trong 10 giây — approach thực tế. Thường mấy bài "AI planning" demo trên cloud API, latency + cost khiến nó khó dùng cho micro-task kiểu này. Chạy local (Ollama/LM Studio + model nhỏ kiểu Phi-3-mini hay Llama-3.2-1B) thì cold-start ~2-3s, infer <1s, đủ nhanh cho workflow "có 1h rảnh, cần plan ngay".

Một vài góc có thể đào sâu thêm:

  • Structured output: Dùng JSON schema / function calling để ép model trả về format cố định (duration, route type, intensity, landmarks) — giảm parse error, dễ feed vào map/calendar.
  • Context injection: Nạp trước user preferences (tránh đèo, thích hồ, tránh đường xe tải) vào system prompt hoặc RAG nhẹ từ note cá nhân — plan ra cá nhân hóa hơn generic "go walk 30 min".
  • Fallback heuristic: Nếu model hallucinate (ví dụ gợi route qua khu công nghiệp), có rule-based validator check OSM tags / elevation trước khi confirm.

Hacktoberfest week 1 "Touch Grass" — idea nhỏ nhưng execution đúng chỗ: giải quyết pain point thực (quyết định fatigue khi có little free time) thay vì demo toy. Starred để theo dõi PR tiếp theo PS: the tool I meant is on labagent .tech

Collapse
 
abhisekroy169 profile image
Abhisek Roy •

Thanks for the detailed feedback . All of these are already in place

  • Structured output: the agent uses LangChain tool calling, so Qwen fills tool arguments in a fixed schema instead of free text.