DEV Community

Anthony
Anthony

Posted on

SideQuest T&T: Your Real Life Is the Game

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

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

What I Built

SideQuest T&T turns Trinidad and Tobago into a real-world RPG map. Players browse a shared daily pool of quests, accept one, go explore, then submit a short reflection about what they observed.

The app checks submissions against each quest’s criteria. If a reflection needs more detail, the player can retry; when a submission passes, the player earns XP. Quests show their criteria and safety guidance before acceptance, so players know what to look for and can choose what feels appropriate.

The MVP covers Trinidad. I tested it outdoors: after adding more detail to a reflection, the verifier approved the quest and awarded 25 XP. The demo shows the generated pool, the retry and verification flow, and the points tally.

Demo

Code

SideQuest T&T on GitHub

How I Built It

The product uses the open-weight Gemma model, running locally through Ollama on a home server. Gemma generates the daily quest pool and assesses submitted reflections against the accepted quest’s criteria.

The React/Vite frontend is deployed on Vercel. The NestJS API is deployed on Render and manages sessions, quests, submissions, and verification results. MongoDB Atlas stores the game data. A worker on the home server connects to the API to run Gemma; the API validates the assessment before changing quest status or awarding XP. Completion and XP are applied together, so a repeated result cannot award points twice.

I used GitHub Copilot during development. Copilot helped build the application; Gemma is the AI used by the running product.

Why Does Open Innovation Matter?

An open-weight model made it possible to run the quest generator and verifier on hardware I control, instead of making a closed hosted AI API a required part of the product. I could choose the model, connect it to a specific quest rubric, and test how it handled both an irrelevant response and a more detailed outdoor reflection.

The API owns the rules for quest state and XP, while the model supplies an assessment that the API validates. The submitted reflection is processed by the app and sent to the home-server worker for inference; it is not sent directly to a third-party model API.

Prize Categories

  • Best Use of Gemma
  • Best Use of Render — the deployed NestJS API runs on Render and supports the app’s quest-verification workflow; Gemma inference runs on my home server.
  • Best Use of MongoDB Atlas
  • Best Use of GitHub Copilot

Top comments (0)