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

JobiGo Live Demo — Render

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

JobiGo — 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: