This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
As a developer, I spend much of my day switching between code, meetings, and browser tabs. Even when I take a break, I often end up scrolling on another screen.
I built BreakTrail to turn those small gaps in the day into outdoor moments.
BreakTrail helps users plan a short outdoor break based on their available time, starting area, mood, and budget. Instead of presenting an endless list of recommendations, it offers a practical plan: somewhere to go, something to do, and a reason it fits.
Users can:
- Plan a break around moods such as Quiet, Nature, Movement, or Discovery.
- Generate an AI activity from a shortlist of suitable places.
- Save plans and export them as JSON files or visual cards.
- Use an outdoor timer with pause and resume controls.
- Record how they felt afterward and what they noticed.
- Access cached saved plans and the timer offline.
It is designed for developers, students, remote workers, and anyone who wants a small reason to step outside.
The current prototype includes an illustrative Jaipur place catalogue. It does not provide live navigation, weather, or verified opening hours.
Demo
๐ Website: https://breaktrail-nu.vercel.app/
A suggested walkthrough:
- Choose your area, mood, budget, and available time.
- Generate a plan or explore demo mode.
- Save the plan and open its outdoor card.
- Start the timer.
- Add a reflection after your break.
Saved plans and the timer can work offline after the production app is cached. New plans through the hosted AI service require internet.
Code
The source code is available on GitHub:
https://github.com/Anushkasharma101/breaktrail.git
The repository includes the React frontend, Express backend, AI adapters, tests, and deployment configuration.
How I Built It
BreakTrail uses React, TypeScript, Vite, and Tailwind CSS for the frontend. The backend uses Node.js, Express, SQLite, and Zod.
For local inference, I integrated Qwen3 through Ollama, using the qwen3:0.6b model. The lightweight model provides a practical starting point for running the planner locally.
The planning pipeline combines application rules with model-generated text:
- The backend filters catalogue entries by area, mood, budget, and available time.
- The model receives only the eligible shortlist.
- It selects a place and suggests an activity and explanation.
- The backend validates the response before building and saving the plan.
This keeps place selection grounded in the catalogue rather than asking the model to invent destinations. Walking estimates are included in the time budget so the plan leaves time for the outdoor activity.
I also added an OpenRouter adapter for free hosted inference. This lets the deployed backend request AI output without requiring visitors to install Ollama. The openrouter/free router can select different available free models, so the hosted version does not guarantee Qwen.
The PWA caches the interface for offline access, while browser storage keeps saved plans and reflections. An offline queue retries backend sync when a connection becomes available.
For public deployment, I added private browser tokens that separate each visitorโs backend records. API keys stay on the server.
Why Does Open Innovation Matter?
Open-weight models make it possible to explore a version of BreakTrail that runs locally, without depending entirely on a hosted inference service.
With Qwen and Ollama, developers can inspect the integration, change the prompts, experiment with model sizes, and run inference on their own hardware. Once the necessary software and model are downloaded, the local setup can generate plans without an internet connection.
A closed hosted API could provide useful recommendations, but it would not give this project the same option to run that model locally.
Sharing the application code also gives others a starting point for adapting the catalogue to their city, improving accessibility information, or building better outdoor activities.
For me, open innovation means making a small idea easier for someone else to understand, change, and build upon.
My Agent Session
I used an AI coding assistant to help inspect the project, prepare deployment changes, add visitor data isolation, and integrate the hosted AI adapter.
The collaboration also helped me troubleshoot practical deployment problems: a backend accidentally tracked as a nested Git repository, changing deployment URLs, CORS configuration, missing device authentication, and AI response validation.
I tested the deployed app and used browser network responses to identify failures. Those checks helped distinguish a successful deployment from a working end-to-end AI flow.
Top comments (1)
Official Platform Update
Security protocols have been updated for all developer accounts.