{"id":6178,"date":"2026-10-20T04:12:10","date_gmt":"2026-10-20T07:12:10","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/20\/slow-and-steady\/"},"modified":"2026-10-20T04:12:10","modified_gmt":"2026-10-20T07:12:10","slug":"slow-and-steady","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/20\/slow-and-steady\/","title":{"rendered":"Slow and Steady"},"content":{"rendered":"<div>\n<div><\/header>\n<div>\n<p>Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission \ud83e\udda5<\/p>\n<div data-article-id=\"4881728\" id=\"article-body\">\n<p><em>This is a submission for the <a href=\"https:\/\/dev.to\/challenges\/hacktoberfest-week3-2026-10-19\">Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady<\/a><\/em><\/p>\n<h2> <a name=\"what-i-built\" href=\"#what-i-built\"> <\/a> What I Built <\/h2>\n<p>TouchGrass AI is a purpose-built micro-expedition application designed around one strict rule:<br \/> The screen should be the shortest part of the experience.<br \/> Developers, students, and desk workers can spend most of their day in front of screens, and even short breaks can turn into more screen time. TouchGrass AI breaks that loop by turning a short break into a simple outdoor mission.<br \/> The experience is intentionally:<br \/> Choose \u2192 Get a quest \u2192 Pocket the phone \u2192 Go outside \u2192 Observe \u2192 Return \u2192 Verify<br \/> The user selects an available time budget \u2014 5, 15, 30, or 60 minutes \u2014 and an environment such as a park, backyard, urban area, trail, or waterfront.<br \/> TouchGrass AI then generates a sensory outdoor micro-quest with physical activities such as observing nature, listening to birds, feeling tree bark, or exploring the surroundings.<br \/> Pocket Mode then dims the screen, plays a departure chime, and tells the user to put the phone away and step outside.<br \/> After the activity, the user captures exactly one field photo. A local MobileNetV4 ONNX model runs directly on the CPU to classify the observation and distinguish nature\/outdoor findings from obvious indoor technology such as monitors and keyboards.<br \/> The activity and outdoor minutes are recorded in a private local SQLite journal.<br \/> The goal is not to keep users inside the application.<br \/> The goal is to make them leave it.<\/p>\n<h2> <a name=\"demo\" href=\"#demo\"> <\/a> Demo <\/h2>\n<h2> <a name=\"code\" href=\"#code\"> <\/a> Code <\/h2>\n<div>\n<div>\n<h2> <a href=\"https:\/\/github.com\/gokulkakde\" target=\"_blank\" rel=\"noopener noreferrer\"> gokulkakde <\/a> \/ <a href=\"https:\/\/github.com\/gokulkakde\/touchgrass\" target=\"_blank\" rel=\"noopener noreferrer\"> touchgrass <\/a> <\/h2>\n<h3> TouchGrass AI is a local-first AI app that turns screen breaks into short outdoor micro-adventures. It uses open-weight AI locally to create outdoor quests and verify field observations\u2014helping users spend less time on screens and more time outside. <\/h3>\n<\/p><\/div>\n<\/p><\/div>\n<h2> <a name=\"how-i-built-it\" href=\"#how-i-built-it\"> <\/a> How I Built It <\/h2>\n<p><strong>Product Architecture<\/strong><br \/> User at Desk<br \/> \u2193<br \/> Short Screen Interaction<br \/> \u2193<br \/> Select Time + Outdoor Environment<br \/> \u2193<br \/> Quest Engine<br \/> \u2193<br \/> Sensory Outdoor Micro-Quest<br \/> \u2193<br \/> Pocket Mode<br \/> \u2193<br \/> Phone Goes Away<br \/> \u2193<br \/> REAL-WORLD OUTDOOR ACTIVITY<br \/> \u2193<br \/> One Field Photo \/ Observation<br \/> \u2193<br \/> Local ONNX AI Inference<br \/> \u2193<br \/> Nature \/ Outdoor \/ Indoor Classification<br \/> \u2193<br \/> Private Local SQLite Journal<\/p>\n<p><strong>Technology Stack<\/strong><br \/> AI<\/p>\n<ul>\n<li>MobileNetV4 Small ONNX<\/li>\n<li>ONNX Runtime<\/li>\n<li>NumPy<\/li>\n<li>Pillow Backend<\/li>\n<li>Python<\/li>\n<li>Flask<\/li>\n<li>Flask-CORS<\/li>\n<li>SQLite Frontend<\/li>\n<li>HTML5<\/li>\n<li>CSS3<\/li>\n<li>Vanilla JavaScript \/ ES6<\/li>\n<li>Web Audio API Testing<\/li>\n<li>Python<\/li>\n<\/ul>\n<h2> <a name=\"why-does-open-innovation-matter\" href=\"#why-does-open-innovation-matter\"> <\/a> Why Does Open Innovation Matter? <\/h2>\n<p>Open AI is fundamental to the project rather than being an additional chatbot feature.<br \/> We chose a lightweight open-weight ONNX model and local inference because the product is specifically intended for outdoor use.<br \/> Privacy<br \/> Field photos may contain someone&#8217;s backyard, garden, neighborhood, or other personal surroundings.<br \/> Instead of sending those images to a proprietary cloud AI service, TouchGrass AI processes them locally on the user&#8217;s CPU.<br \/> The application is designed without cloud AI API calls or telemetry, and expedition data remains in the user&#8217;s local SQLite database. GitHub<br \/> Offline capability<br \/> Outdoor activities can happen in places with poor or nonexistent cellular connectivity.<br \/> Once the model is available locally, the AI verification itself does not require an internet connection.<br \/> This makes local inference particularly appropriate for the project&#8217;s outdoor-first use case. GitHub<br \/> No recurring AI API cost<br \/> The core vision verification does not require a paid proprietary vision API or per-request inference charges.<br \/> The model runs locally using standard CPU hardware.<br \/> Control and portability<br \/> The ONNX-based architecture keeps the AI layer portable. The application can use another compatible ONNX vision model without rebuilding the entire product around a proprietary AI provider.<br \/> Fast local inference<br \/> The documented benchmark is approximately 11\u201316 ms of CPU inference time, with the model designed to run without requiring a GPU or CUDA environment.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<p> <!-- Bottom content skipped via SKIP_BOTTOM_CONTENT config --> <\/div>\n<p> <\/main> <\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/dev.to\/gokulkakde\/slow-and-steady-3h5h\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission \ud83e\udda5 This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady What I Built TouchGrass AI is a purpose-built micro-expedition application designed around one strict rule: The screen should be the shortest part of the experience. Developers, students, and desk [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[41],"tags":[],"class_list":["post-6178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devto"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/6178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=6178"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/6178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/6177"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=6178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=6178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=6178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}