Touch Grass Bingo
A browser-based web application that uses WebLLM and a small Llama model to generate outdoor activity bingo cards locally on the client side. It requires no backend server or API keys and is designed to encourage users to explore the physical world.
Timeline (last 90 days)
Touch Grass Bingo is a small web application that runs entirely in the browser, developed by developer Sanny1921.
Touch Grass Bingo uses the Llama 3.2 1B Instruct open-weight model to generate 5x5 bingo cards for users.
The application itself is a single plain HTML file with no framework, no backend, and no API key, hosted for free on GitHub Pages.
When a card is generated for the first time, the browser downloads approximately 700 MB of model files and caches them locally on the device; all subsequent inference is performed locally on the device without going through a server.
Version 1 required the model to return a JSON array containing 24 strings, but the 1B model on mobile phones repeatedly returned malformed JSON; after 3 retries it would fall back to displaying the built-in starter card.
The final v3 version adds a salvage mechanism: it retains the best result from 3 attempts, and if the model produces at least 14 valid squares, it fills in the remaining squares from the starter list.
All Facts (6)
Touch Grass Bingo is a small web application that runs entirely in the browser, developed by developer Sanny1921.
50%UnverifiedTouch Grass Bingo uses the Llama 3.2 1B Instruct open-weight model to generate 5x5 bingo cards for users.
50%UnverifiedThe application itself is a single plain HTML file with no framework, no backend, and no API key, hosted for free on GitHub Pages.
50%UnverifiedWhen a card is generated for the first time, the browser downloads approximately 700 MB of model files and caches them locally on the device; all subsequent inference is performed locally on the device without going through a server.
50%UnverifiedVersion 1 required the model to return a JSON array containing 24 strings, but the 1B model on mobile phones repeatedly returned malformed JSON; after 3 retries it would fall back to displaying the built-in starter card.
50%UnverifiedThe final v3 version adds a salvage mechanism: it retains the best result from 3 attempts, and if the model produces at least 14 valid squares, it fills in the remaining squares from the starter list.
50%