DEV Community

Praveen Raj Thulasi S
Praveen Raj Thulasi S

Posted on

🌱 GrassRoute: I Built an AI That Wants You to Stop Using It

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

What I Built

GrassRoute is an open-source, AI-powered outdoor companion that transforms your available time, mood, interests, and surroundings into personalized real-world missions.

Think about the last time you felt bored, mentally exhausted, or stuck in front of your laptop.

You probably opened another app, watched another video, or asked an AI chatbot what to do next.

And the result? More screen time.

I wanted to explore the opposite idea.

What if an AI assistant's goal wasn't to keep you engaged, but to help you leave the screen altogether?

That's the idea behind GrassRoute.

Instead of recommending more digital content, GrassRoute helps you discover something meaningful to do in the physical world.

🌳 How does it work?

Imagine telling GrassRoute:

"I'm tired, I have 40 minutes, and I want to get outside without spending money."

GrassRoute uses your preferences and available context to generate a personalized outdoor mission.

Your mission: The 40-Minute Green Reset

🚶 Take a relaxing walk in a suitable nearby outdoor space.

🌿 Find three interesting things you would normally overlook.

📵 Spend five minutes observing your surroundings without your phone.

🌱 Return when you're ready and reflect on the experience.

The mission is designed around your available time, energy, preferences, and practical constraints.

No expensive equipment. No complicated workout plans. No endless chatbot conversation.

Just a reason to step outside.

🧠 More than an AI chatbot

GrassRoute is designed around an agentic workflow rather than a simple prompt-and-response interface.

The planned agent workflow includes:

Intent Agent: Understands what the user wants and extracts constraints such as available time, energy, and activity preferences.

Explorer Agent: Discovers relevant outdoor locations and activities using available search tools.

Environment Agent: Considers weather and environmental conditions when reliable data is available.

Mission Agent: Converts the gathered context into an actionable outdoor experience.

Safety and Feasibility Layer: Checks duration, budget, travel requirements, and relevant safety constraints.

Memory and Reflection Agent: Uses mission feedback and activity history to improve future recommendations.

The long-term goal is to make each mission more relevant without requiring the user to spend more time interacting with the application.

🌱 The feature I'm most excited about: Screen Exit

Most applications measure success through engagement, session duration, and repeated visits.

GrassRoute explores a different metric: meaningful time spent away from the application.

Once a mission is ready, the experience becomes intentionally minimal:

"Your mission is ready. Now put your phone away."

The user can complete the activity, return later, and optionally share feedback.

The application is there when needed, but it shouldn't demand attention throughout the experience.

Demo

Deployed Link - https://drive.google.com/file/d/1yS3QHnBi9zMXsEscAgvh2jzDs152pZ6T/view?usp=sharing

How I Built It

The architecture is designed around a modular frontend, backend, and AI tool layer.

Technology stack

Frontend: React, Vite, and Tailwind CSS.

Backend: Node.js and Express.

Database and memory: MongoDB Atlas.

AI: [Insert the open-weight model and inference runtime actually used.]

Agent tools: MCP-compatible tools for connecting the agent to external capabilities.

Observability: Sentry for error monitoring and agent execution visibility.

Outdoor discovery: SerpApi, where enabled, for finding relevant real-world places and activities.

The partner services are selected for their usefulness to the product, with free-tier-compatible usage as a development constraint.

🧩 Why an agentic architecture?

A conventional chatbot could generate an outdoor activity from a single prompt. However, recommending a real-world activity involves more than generating plausible text.

The system needs to consider multiple constraints:

How much time does the user actually have?

Is the activity suitable for their preferences and energy level?

Does it require travel, equipment, or money?

Is the location information reliable?

Are environmental conditions suitable?

What has the user enjoyed or rejected previously?

GrassRoute separates these responsibilities into modular services and agent capabilities.

MCP provides a standardized way for compatible AI clients and agents to discover and invoke tools. The application can use this approach to connect its agent to search, weather, profile, and mission-management capabilities.

The backend remains responsible for business rules, validation, persistence, and API access rather than placing all application logic inside the MCP server.

🧠 Personalization through memory

A useful outdoor companion should improve with experience.

For example, if a user repeatedly completes nature walks and photography missions but consistently rejects running activities, GrassRoute can use that feedback to adjust future recommendations.

MongoDB Atlas provides the proposed persistence layer for user preferences, missions, completion history, and reflections.

This allows personalization to be based on observed behavior instead of treating every conversation as an entirely new interaction.

Why Does Open Innovation Matter?

For GrassRoute, open innovation isn't just about making the source code public.

It's about giving users and developers control over how the AI works.

  1. Freedom to choose the model

An open-weight model can provide an alternative to depending entirely on a proprietary AI API. Depending on hardware and model requirements, inference can run locally or through a compatible provider.

This creates room for experimentation with different models, inference runtimes, and prompting strategies.

  1. Privacy and user control

Outdoor preferences, activity history, and location context can be personal.

A local-inference configuration can keep model processing on the user's device, subject to the application's actual data flows. External search, weather, and hosting services may still receive the information necessary for their requests, so these integrations need to be designed carefully.

The goal is to make privacy a design consideration rather than an afterthought.

  1. A system developers can extend

Developers should be able to add new outdoor activities, replace a search provider, integrate another weather source, or experiment with a different model without rewriting the entire application.

A modular architecture and standardized tool interfaces make these experiments more practical.

  1. AI that doesn't depend on a closed ecosystem

An application like GrassRoute shouldn't need a single proprietary provider to define its future.

Open models and replaceable integrations make it easier to experiment, self-host where practical, and contribute improvements back to the community.

For this project, open innovation makes a particularly interesting idea possible: building an AI assistant whose purpose is to help people spend less time using AI.

Top comments (0)