DEV Community

Yash Dodiya
Yash Dodiya

Posted on

🌿 StepBuddy β€” Less Scrolling, More Walking

What I Built

StepBuddy is a simple outdoor activity companion that encourages people to take a break from their screens and reconnect with the world around them.

We spend so much time looking at screens that we sometimes forget to look around us. I wanted to build something small and practical that encourages people to step outside, even if they only have five minutes.

With StepBuddy, users can:

🌱 Generate nature missions: Get simple outdoor activities, such as observing different leaf shapes, discovering natural textures, or noticing sounds around them.

⏱️ Choose their walk duration: Pick a 5, 10, or 15-minute walk.

🚢 Focus on the outdoors: Use a countdown timer with pause and resume controls, then put their phone away and enjoy their surroundings.

πŸ† Track their progress: See completed walks, outdoor minutes, and finished missions during their browser session.

StepBuddy also includes safety reminders and keeps activity tracking local in the browser.

The idea is simple: you don't need a long hike or an elaborate fitness plan to reconnect with nature. Sometimes, a small walk is enough to get started.

Code

GitHub repository: https://github.com/dodiyayash/StepBuddy

The project uses a React, TypeScript, and Vite frontend with a Python FastAPI backend.

The code includes the mission-generation API, a collection of fallback nature missions, the walking timer, and session progress tracking.

How I Built It

I built StepBuddy using:

React + TypeScript: For the interactive user interface.

Vite: For frontend development and building.

Python + FastAPI: For the backend API and mission-generation logic.

Ollama: As the local inference interface for an open-weight language model, such as Gemma 2B, when configured.

Browser localStorage: For session progress tracking.

Web Speech capabilities: For optional spoken experiences if implemented in the application.

The application is designed to request nature missions from a locally running open-weight model through Ollama. When the model is unavailable, it uses a curated fallback mission pool and identifies the source in the interface.

This distinction is important: the fallback mode works without a running AI model, but it is not itself generative AI. The actual local-model workflow depends on configuring and verifying Ollama and the selected model.

I deliberately kept the project small. Rather than building a complicated fitness platform, I focused on one clear behavior: helping someone take a short outdoor break.

Why Does Open Innovation Matter?

Open innovation makes it possible to experiment with AI in applications that don't need to depend entirely on a closed, hosted AI service.

For StepBuddy, local open-weight models offer a path toward generating personalized nature activities while giving developers more control over inference, experimentation, and deployment.

They also make it easier to explore privacy-conscious designs. StepBuddy does not need GPS tracking or a user account to provide its basic experience.

Building this project helped me explore how open-weight AI could support a small, everyday behavior changeβ€”not just answer questions on a screen.

My goal is to keep the technology in the background and let the real-world experience take center stage.

Prize Categories

OverAll

Top comments (0)