This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Most AI apps want more of your screen time. I built one that wants less.
JobiGo is an open-source AI football coach built around one simple idea:
The screen should be the shortest part of the experience.
It is designed for football players who want a personalized training session without needing a coach beside them.
The experience follows:
PLAN → GO OUTSIDE → PLAY → RETURN → REPORT → IMPROVE
You start by choosing:
- Training duration
- Football level
- Training goal
- Available equipment
- Playing environment
JobiGo then uses Gemma 3 4B to generate a structured football mission.
For my test session, it generated a 45-minute Intermediate Cone Dribbling Challenge with a warm-up, cone weave, figure-8 drill, speed dribble, challenge, cooldown, success metric and safety guidance.
Then comes the most important part:
PHONE DOWN. GO PLAY.
The app deliberately gets out of the way and tells the player to leave the screen and complete the session.
When the player returns, they report what actually happened:
- Attempts
- Successful attempts
- Goals
- Drills completed
- Difficulty
- Notes
Gemma then reviews the session and generates:
- A performance summary
- Strongest area
- One thing to improve
- A recommendation for the next session
The next session is based on the previous performance instead of simply generating another random workout.
In my test session, I recorded 15 attempts, 7 successful attempts, 2 goals and 3 completed drills. Gemma identified the player's strengths and areas to improve, then recommended another dribbling-focused session based on that performance.
So JobiGo isn't just an AI chatbot that talks about football.
It uses AI to create an action, gets out of the way, and then helps the player improve after the action.
Demo
🎥 Video Demo
Watch the complete JobiGo walkthrough, from generating a personalized football mission to receiving the Gemma-powered session review and next-session recommendation.
I recorded a complete JobiGo walkthrough showing the flow from creating a mission to receiving the Gemma-powered session reflection and next-session recommendation.
The demo covers:
Mission setup → Gemma-generated mission → PHONE DOWN → GO PLAY → session report → Gemma reflection → next-session recommendation.
The recorded demo is attached to this submission.
🌐 Live Demo
The public application is deployed on Render.
The verified Gemma inference flow used for this project runs locally through Ollama with Gemma 3 4B.
Code
💻 GitHub Repository
The repository contains the complete application, including the FastAPI backend, frontend, AI provider layer, session storage, validation and tests.
How I Built It
The core of JobiGo is Gemma 3 4B, running locally through Ollama.
The main architecture is:
Frontend → FastAPI → AI Provider → Ollama → Gemma 3 4B
Gemma is responsible for three important parts of the experience.
1. Personalized Mission Generation
The player's duration, level, goal, equipment and environment are provided to Gemma.
Gemma generates a structured football mission rather than an unstructured chatbot response.
The output is validated using Pydantic, with validation and correction handling to make sure the generated mission follows the application's expected structure.
2. Session Review
After the player completes the mission, their actual results are submitted back to the application.
Gemma analyzes those results and produces a performance reflection containing:
- Performance summary
- Strongest area
- Area to improve
- Actionable recommendation
3. Next-Session Progression
The previous session becomes part of the progression loop.
Instead of starting from zero every time, JobiGo uses the previous performance to recommend what the player should work on next.
For my test session, Gemma identified good control during the cone weave and figure-8 drills, while identifying difficulty in completing the challenge and reaching the desired success metric.
It then recommended another 45-minute dribbling session focused on building those areas.
Technology
JobiGo uses:
- Gemma 3 4B — open-weight AI model
- Ollama — local inference
- FastAPI — backend
- Pydantic — structured output validation
- SQLite — session history
- HTML/CSS/JavaScript — frontend
- Render — deployment
The final test suite passed 51/51 tests.
The AI layer is also separated behind provider abstractions, allowing different inference providers to be integrated without rewriting the core application.
Why Does Open Innovation Matter?
Open innovation mattered to JobiGo because I wanted the AI layer to be something I could actually build around, rather than just a black-box API.
With an open-weight model such as Gemma, I can run the core AI experience locally through Ollama and control:
- The model
- The prompts
- Structured output
- Validation
- The inference environment
- How application data flows through the system
This is especially useful for an application involving personal training history and performance.
The local inference path means the verified core experience does not require sending the player's session data to a third-party AI API.
It also makes experimentation much easier. I can change the prompts, validation rules and application logic and immediately test how the model behaves.
For me, that's one of the most interesting things about open AI:
The model becomes something you can build with and experiment around, rather than simply something you send requests to.
And JobiGo uses that openness for a slightly different purpose:
to use AI to get people away from the screen.
Prize Categories
🏆 Overall
JobiGo directly addresses the Touch Grass theme by using AI to encourage physical activity and deliberately minimizing screen time.
The product's core loop is intentionally designed around leaving the screen:
PLAN → GO OUTSIDE → PLAY → RETURN → REPORT → IMPROVE
🧠 Best Use of Gemma
Gemma 3 4B is central to the application.
It powers:
- Personalized football mission generation
- Structured training plans
- Session performance analysis
- Next-session recommendations
The product is built around the model rather than simply adding an AI chatbot to an existing application.
☁️ Best Use of Render
JobiGo is deployed on Render as a publicly accessible web application.
The Render deployment provides the public web experience, while the verified Gemma inference flow used for this project runs locally through Ollama.
My Agent Session
JobiGo was developed using an AI-assisted coding workflow. The development process involved using an AI coding agent to help with implementation, debugging, testing, documentation and iterative improvements.
No DevRelay agent session is included because this section is optional.
Final Thought
The goal of JobiGo isn't to keep you in the app.
It's to give you a reason to put the phone down.
Most AI products measure success by how long they can keep you engaged with a screen.
JobiGo measures success differently.
If it takes a couple of minutes to generate a useful training session and then sends someone outside for the next 30–45 minutes, the AI has done its job.
PLAN.
GO OUTSIDE.
PLAY.
RETURN.
REPORT.
IMPROVE.
Then do it again.
Team
This project was built by:
