DEV Community

Cover image for Loot Goblin: Touch Grass, Find Loot 👹🌿
Gautham Krishna Vijayan
Gautham Krishna Vijayan

Posted on AI-assisted

Loot Goblin: Touch Grass, Find Loot 👹🌿

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

What I Built

Loot Goblin turns ordinary things you find in the real world into fictional RPG loot. Snap a photo of something interesting, get an AI-generated relic with rarity, stats, lore, and a Goblin Coin value, then add it to your persistent Treasury.

The idea is simple: the world is the game, and your camera is your loot detector.

Loot Goblin also features quests, achievements, XP, levels, optional public leaderboards, and player-to-player trading. These features add progression, but the core loop starts outside: find something, photograph it, appraise it, and get back to exploring. Quests and collection goals can encourage real-world discoveries, while the app is designed around short interactions rather than endless scrolling.

A tiny example

A red maple leaf resting on a rough gray stone surface

Loot Goblin app interface showing the outdoor discovery and relic appraisal experience

Loot Goblin appraisal card for a red maple leaf, showing its rarity, fictional RPG stats, lore, and Goblin Coin value

The leaf didn't change. The way I looked at them did.

Demo

Video Drive Link: https://drive.google.com/file/d/1z5ygoBzX96jh0Souu3-A4Zilrn1B201q/view?usp=sharing
Try it live: https://loot-goblin.onrender.com/

Code

GitHub repository: https://github.com/Gauthamkv14/irl-loot-goblin

The project uses React, Vite, and Tailwind CSS for the frontend, Node.js and Express for the backend, and Supabase for authentication and persistent data. AI image appraisal uses the Dots3-Note Preview model through OpenRouter.

How I Built It

The appraisal pipeline separates AI-generated creativity from the game's authoritative rules.

  1. Browser-side image preparation: The selected image is resized in the browser before being sent for appraisal, helping reduce upload size.
  2. AI appraisal: The server sends the image to the configured vision model through OpenRouter to generate a proposed relic name, description, lore, and related appraisal details.
  3. Server-side rarity roll: The server determines the final rarity and associated game rewards rather than trusting the model to award them.
  4. HMAC signing: The server signs the resulting loot payload using HMAC-SHA256. This lets the server detect forged or modified loot payloads instead of blindly trusting item data submitted by the client.
  5. Treasury save: Once the appraisal and relevant server-side checks succeed, the item can be saved to the player's persistent inventory.

The model is configured through an environment variable, MODEL_ID, with OpenRouter's API base URL configured separately. This makes the integration designed to be swappable, although switching to a second model has not been verified end to end.

The project also includes server-side validation and security checks around important game actions. I am not claiming a tested model-output retry or fallback mechanism here.

Why Does Open Innovation Matter?

Loot Goblin uses an open-weight model rather than making a proprietary model the only possible creative engine. The current implementation uses hosted inference through OpenRouter, so it is not local or offline inference.

Open weights and a documented license make experimentation and future replacement possible, while the application retains control over rarity, signatures, and progression.

There is a practical hardware trade-off, too. The model card describes a 280B-parameter mixture-of-experts model with 16B active parameters and recommends an eight-GPU node. Running it locally is unrealistic for most individual developers. A smaller model would be a more practical direction for future local inference.

There is also a privacy consideration: photos submitted for appraisal are sent through OpenRouter to the selected model provider for inference. Data retention and training practices can vary by provider and endpoint. Users should avoid uploading sensitive images and review the applicable data policies, especially when using a free endpoint.

Open innovation, for me, means keeping the creative component replaceable instead of hard-wiring the entire game to one model or provider.

Limitations and What's Next

  • Hosted inference: Appraisal requires an internet connection and depends on the selected model provider's availability.
  • Free endpoint limits: Rate limits, temporary unavailability, and variable latency can affect the experience.
  • Fictional rewards: Loot stats, rarity, and Goblin Coin values are game mechanics, not real-world valuations or factual measurements.
  • First visit: Render's free service may take up to around a minute to wake after inactivity, so the first visit can be slower than subsequent ones.
  • Model flexibility: The integration is designed to be configurable, but an alternative model has not been verified end to end.
  • Future direction: Test alternative models, improve resilience to malformed model output, and investigate smaller models that could support local inference.

LootGoblin is a playful experiment in making everyday outdoor discoveries feel a little more magical. The goal isn't to spend more time in an app. It's to notice more of the world around you.

My Agent Session

I built Loot Goblin with AI-assisted development in Google Antigravity, iterating through implementation, debugging, security fixes, and deployment.

The goal was to go beyond a quick prototype. LootGoblin includes persistent inventory, server-side loot validation, progression systems, and trading.

Prize Categories

  • Overall Hacktoberfest Open-Source AI Challenge - Week 1: Touch Grass.

I'm entering the overall challenge. I'm not claiming a partner-specific prize category without verifying that my implementation meets its eligibility requirements.

Touch grass 🍃. Take a photo 📸. Find loot 💰.

Made with 💚 by GKV🙃

Top comments (0)