This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
I built the Touch Grass backend as a Python-based API that connects the frontend with the application's core services and data.
Touch Grass uses Gemma to create short outdoor activities based on the time you have. It gives you a simple quest, works offline with demo data, and encourages you to put your phone away and go outside. π±
Example: 30 minutes β walk β find a flower β sit quietly β find something blue β return.
### Key Features
- Built a structured backend API using Python.
- Added API endpoints for frontend communication.
- Implemented request validation and response handling.
- Integrated database operations for application data.
- Added business logic and service-layer processing.
- Configured environment variables for secure application settings.
- Set up a virtual environment and dependency management.
- Added development and deployment workflows.
- Designed the backend to be modular and easy to maintain.
Demo
https://touch-grass-9o21.onrender.com
Code
yogesh147
/
touch-grass
Touch Grass is an open-weight AI outdoor companion that turns 15β60 minutes of free time into a tiny real-world adventure.
Touch Grass is an open-weight AI outdoor companion that turns 15β60 minutes of free time into a tiny real-world adventure.
Tell it how much time you have and start from where you are. Gemma creates a personalized micro-quest. Once the quest starts, the app gets out of the way: the plan is cached offline, the screen becomes minimal, and optional on-device Gemma vision can turn things you discover into the next challenge.
The AI doesn't want your attention. It wants you to stop using your phone.
uvicorn main:app --reload
How I Built It
I built the Touch Grass backend with a modular architecture focused on clean API communication, validation, business logic, and data management.
Development Process
-
Project Setup
- Created a Python backend project.
- Set up a virtual environment for isolated dependencies.
- Added dependency management using
requirements.txt.
-
Backend Development
- Built REST API endpoints to communicate with the frontend.
- Organized the application into reusable modules and services.
- Implemented request and response handling.
-
Data & Business Logic
- Added validation to ensure reliable API requests.
- Implemented the application's core business logic.
- Connected the backend with database and external services where required.
-
Configuration
- Used environment variables for configuration and sensitive information.
- Separated development configuration from application code.
-
Testing & Debugging
- Tested API endpoints during development.
- Identified and fixed dependency and runtime issues.
- Verified the backend workflow from request to response.
-
Running the Project
- Created a reproducible local development setup.
- Used a virtual environment and dependency installation process.
- Configured the backend to run locally for development and testing.
Why Does Open Innovation Matter?
Open innovation matters because great ideas become more powerful when people, communities, and organizations can build on each otherβs work instead of starting from scratch.
For a project like Touch Grass, open innovation enables us to:
Build faster: Open-source models like Gemma, frameworks, and tools provide a strong foundation.
Make AI accessible: Developers can experiment with powerful AI without depending entirely on closed platforms.
Encourage collaboration: Others can inspect, improve, remix, and contribute to the project.
Create more trustworthy technology: Open implementations make it easier to understand how a system works and identify problems.
Solve real-world problems: Innovation isn't just about better AIβit is about applying technology to meaningful challenges.
Keep control with users: With local and offline AI, people can use technology without constantly sending their data to a remote service.
For Touch Grass, this philosophy is especially important: open AI helps us build technology whose goal isn't to keep people online, but to help them leave the screen behind and experience the real world.
Open innovation turns technology from something we simply consume into something we can collectively build, improve, and use for good.
Prize Categories
π£ Best Use of Render - powers the deployed backend and API.
π’ Best Use of Gemma - powers memory extraction, reasoning, Friend Mode and grounded responses.
Top comments (0)