Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Yes—an AI coding agent can produce a working local-first outdoor quest game in a day when the scope is tightly bounded and correctness does not depend on a language model. Samar Nathani’s SYSTEM://GRASS, submitted for Hacktoberfest 2026 Week 1’s “Touch Grass” theme, uses a phone as a browser terminal while a laptop runs quest generation, evidence checks and narration locally. The shipped version assigns one micro-quest per day, accepts one to three photos, applies deterministic pass/fail rules, and uses a local model only to write the verdict’s voice. It can capture evidence without connectivity and retry later, but its first version does not inspect image pixels.

That boundary explains both the one-day build and its limits: the project delivers a reliable game loop with privacy and offline behavior, not computer vision.

What did the one-day game actually build?

SYSTEM://GRASS is a short-loop outdoor game. Each day, the System issues one small quest intended to get the player outside. The player opens the app, reads the task, takes one to three photos as evidence, and submits them. The app returns a narrated verdict and adjusts a rank that runs from F through S. Ignoring a deadline costs XP, so participation has a consequence beyond collecting cosmetic badges.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The project was an entry for Hacktoberfest 2026 Week 1’s “Touch Grass” challenge. The author describes the result as a demo covering the principal quest-submit-judge path. The recorded photos used in the demonstration were indoor shots, and the offline path was implemented and tested in code rather than shown in the recording. Those details matter when interpreting the one-day claim: it is a compact, working vertical slice, not evidence of a field-tested consumer service.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

How is the local-first architecture arranged?

The phone is deliberately a thin client. A laptop on the same local network supplies the application’s “brain”: quest generation, evidence processing and narration. Nothing in the documented design requires a cloud inference endpoint.

Layer Implementation Role
Phone interface Browser running vanilla JavaScript and CSS Displays the quest, captures photos, queues submissions and shows the verdict
Application server Python 3.13 with FastAPI Serves the API and coordinates quest, submission and judgment flows
Persistence SQLite Stores quests, evidence metadata, outcomes, XP and rank state
Local model runtime Ollama Runs the narration model on the laptop instead of sending prompts to a hosted service
Primary model gemma3:4b Writes the System-style explanation after rules have produced an outcome
Browser retry store IndexedDB Holds captured photos until the phone can reach the backend

There is no frontend build step. That keeps the agent’s contract small: a static browser interface talks to a FastAPI service, while SQLite and Ollama remain on the laptop. “Local-first” here means the normal data path is the phone-to-laptop LAN, with photos retained locally rather than uploaded to a remote AI service.

How does offline photo capture and retry work?

The browser writes a photo to an IndexedDB buffer at capture time, before it waits for a network response. A player can therefore complete the evidence step when the phone has no connection to the laptop. The queue is flushed when the browser reports an online event, when the app loads, or when the user taps a manual retry control.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Capture: The camera result and its submission metadata are placed in IndexedDB immediately.
  2. Attempt delivery: The app sends queued records when connectivity returns, on startup, or after a manual tap.
  3. Handle success: A record is deleted only after the server returns HTTP 200, confirming acceptance and judgment.
  4. Handle a duplicate: HTTP 409 means that quest was already judged. The app removes the queued copy and displays the existing verdict instead of creating a second result.
  5. Keep failures: Any other failure leaves the row in the buffer so a later retry does not lose the evidence.

This deletion rule is the important reliability detail. A temporary disconnect cannot silently erase a submission, and a repeated send cannot award a second outcome for the same quest.

Does the AI understand what is in the photo?

No. In version one, the model does not inspect pixels. Deterministic checks decide whether evidence is acceptable; Gemma supplies prose around that decision.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

What the deterministic gate checks

The authoritative PASS/FAIL skeleton is built from photo count, freshness relative to the quest’s issue time, the quest deadline and basic file-size sanity. These checks are repeatable and auditable. They do not claim that a photograph depicts a tree, a trail or any other visual target.

What Gemma is allowed to do

After the rules run, the model receives the quest and evidence metadata and writes a dry “System” narration. If its wording conflicts with the rules result, the narration is discarded and a canned line is used. As Nathani puts it, “The model narrates; it never judges. A hallucination should never cost you XP.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The constraint is tied to the stated 4GB VRAM budget: the judge reads count, timestamp and file size rather than image content. A local vision model or convolutional neural-network gate is described as a future direction, not a shipped feature. Calling this a computer-vision game would therefore be inaccurate; it is a metadata-validated photo quest with AI-generated tone.

What happens from daily quest to rank update?

The complete loop separates player actions, server rules and model narration so each responsibility is clear.

  1. Issue: The laptop-backed service creates the day’s micro-quest and records its issue time and deadline.
  2. Show: The phone browser fetches the task over the local network.
  3. Go outside: The player completes the activity and takes one to three photos. The browser buffers them immediately if the network is unavailable.
  4. Submit: The queue sends the evidence when possible. The backend associates it with the quest and records metadata.
  5. Validate: Deterministic rules check count, freshness, deadline compliance and file-size sanity, producing the official outcome.
  6. Narrate: Ollama invokes the configured model to phrase the result. A contradiction is rejected in favor of a canned explanation.
  7. Apply consequences: The game records the verdict, changes XP and updates the F-to-S rank. Missing the deadline incurs an XP penalty.
  8. Display: The phone shows the stored verdict. A later duplicate submission receives the existing result rather than being judged twice.

Which model runs locally, and how long does it take?

The documented default is gemma3:4b. The fallback chain is gemma3:4b → llama3.2 → qwen2.5:7b; the active choice can be switched with the GRASS_MODEL environment variable. These models affect the narration layer only, so changing one should not change the pass/fail rules.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Nathani reports roughly 10 seconds for Gemma narration. That is a noticeable wait in a conventional app, but the project treats it as an intentional trade-off: the game’s purpose is to get the player away from the screen, and the delay occurs after the outdoor action. The local runtime also trades hosted-service convenience for downloading models, maintaining Ollama and having a laptop available on the LAN.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What did the AI coding-agent workflow look like?

The author did not ask an agent to “build a game” in one unconstrained prompt. A design document was frozen first, then implementation was divided into ten contracts. Each task began with a failing test, the agent made the smallest change that turned it green, and every green change was committed and reviewed.

The reported result is Python 3.13, FastAPI and SQLite on the backend; a vanilla JavaScript/CSS frontend with no build step; and Ollama plus Gemma for narration. Nathani reports 61 tests green, about 2,200 lines of code and 20 commits. Those figures describe this repository and workflow, not a universal productivity benchmark for AI agents.

The contract approach also explains why the reliability boundary survived rapid development. Tests can assert photo-count handling, timestamp and deadline rules, duplicate 409 behavior and queue retention without asking a language model to be consistent. The model is integrated only after those deterministic behaviors are established.

What do you need to run a similar local-first game?

The documented project assumes an existing laptop and phone rather than a dedicated device or paid service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
  • A laptop capable of running Python 3.13, the FastAPI backend, SQLite and Ollama with a selected local model.
  • A phone with a modern browser and camera access.
  • A shared local network so the phone can reach the laptop’s FastAPI service during normal play.
  • Enough local storage for the model and queued photos.
  • A browser that supports IndexedDB and the online event used by the retry path.

The frontend has no compilation stage, which reduces setup friction. The published description does not specify a single installation command, operating-system matrix or benchmark for model download time, so those details should be treated as deployment choices rather than guaranteed parts of the one-day result.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What are the important limitations and failure modes?

A valid-looking file can pass without depicting the target

Because v1 checks metadata, a correctly sized, timely photo can satisfy the mechanical gate even if its pixels do not show the requested scene. That is the central limitation, not a minor edge case.

The laptop is still a dependency

Local-first does not mean phone-only. The phone can queue evidence without the laptop, but quest generation, judgment and narration live on the laptop. If that service is unavailable, the player can capture locally but cannot receive a new server verdict until the service returns.

The demo does not establish real-world reliability

The author says the main path was demonstrated with indoor photos and that offline behavior was validated in code and tests rather than filmed. No published user count, accuracy rate, revenue figure or controlled outdoor field study accompanies the project. The sensible claim is that the architecture and tests cover the intended flow, not that the system has been proven at scale.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Local privacy has a practical boundary

Photos avoid a cloud AI endpoint in the described design, but they still exist on the phone’s browser storage and the laptop’s local storage. Anyone with access to those devices or the LAN can remain a security concern; “local” is a data-path choice, not an automatic privacy guarantee.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

How should you evaluate this design against another outdoor AI game?

Use the following questions rather than treating “AI-powered” as a single feature.

Decision axis SYSTEM://GRASS v1 Why the distinction matters
Inference location Ollama on a laptop in the local workflow Reduces cloud dependence but adds a nearby computer requirement
Pixel understanding None; the judge uses metadata Fast, testable rules cannot verify visual content
Offline capture IndexedDB queue with automatic and manual flush Evidence survives a temporary loss of connectivity
Model authority Rules own PASS/FAIL; the model writes narration A hallucinated sentence cannot change XP
Latency About 10 seconds for reported Gemma narration Acceptable for an away-from-screen loop, slower than a purely local rules response
Consequences F-to-S rank and XP penalties for missed deadlines Creates stakes beyond a cosmetic completion screen

A project that needs genuine scene verification would require an additional vision gate and a clear policy for uncertain predictions. A project that prioritizes privacy, testability and a quick one-day build can reasonably keep the model in the narration role.

What does the one-day achievement really demonstrate?

It demonstrates that an agent-driven build can deliver a coherent local-first loop when the specification is frozen, work is split into testable contracts and model authority is deliberately limited. The strongest engineering choice is not the choice of Gemma; it is making deterministic rules responsible for correctness and treating generated language as presentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

It does not demonstrate pixel-level photo verification, uninterrupted phone-only operation or production-scale reliability. Those would be separate milestones requiring a vision component, broader device testing and field evidence. Framing the project that way preserves the useful lesson: a small, privacy-conscious outdoor game can be assembled quickly without pretending that a language model understands photographs.

Frequently Asked Questions

Can the game keep collecting evidence if the laptop is turned off?

Yes, the browser can place photos in its IndexedDB queue while it is disconnected from the backend. It cannot issue a quest or produce a final verdict until the laptop service is reachable again, because those functions are not implemented on the phone.

What does a 409 response mean when a queued photo is retried?

It means the backend has already judged that quest, usually because an earlier delivery succeeded. The client treats this as a safe terminal state, removes the duplicate queue row and loads the verdict that already exists instead of showing an error.

Could a different local model improve the game’s fairness?

Changing the model can alter the wording, tone or speed of the System narration, but it cannot improve visual fairness in this version because no model receives image pixels. Fairness of PASS/FAIL remains a property of the deterministic rules and their timestamps, count limits and deadline handling.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What would be the safest next step toward real photo understanding?

Add a separate local vision gate that returns an explicit confidence or uncertainty result, then keep the existing deterministic checks as prerequisites. The model should not directly change XP; uncertain visual predictions should trigger a neutral review or retry path rather than an automatic penalty.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.