This is a submission for the Hacktoberfest Open-Source AI Challenge - Week 1: Touch Grass. 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.
The leaf didn't change. The way I looked at them did.
**Video Drive Link:** [https://drive.google.com/file/d/1z5ygoBzX96jh0Souu3-A4Zilrn1B201q/view?usp=sharing](https://drive.google.com/file/d/1z5ygoBzX96jh0Souu3-A4Zilrn1B201q/view?usp=sharing)
**Try it live:** [https://loot-goblin.onrender.com/](https://loot-goblin.onrender.com/)
**GitHub repository:** [https://github.com/Gauthamkv14/irl-loot-goblin](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.
The appraisal pipeline separates AI-generated creativity from the game's authoritative rules.
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.
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 up 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.
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.
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.
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π