<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rasika Chavan</title>
    <description>The latest articles on DEV Community by Rasika Chavan (@rasikachavan13).</description>
    <link>https://dev.to/rasikachavan13</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4161041%2F438ad3c1-eb94-4797-b01f-419fd58d8b57.jpg</url>
      <title>DEV Community: Rasika Chavan</title>
      <link>https://dev.to/rasikachavan13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rasikachavan13"/>
    <language>en</language>
    <item>
      <title>OBLIGATION-ZERO</title>
      <dc:creator>Rasika Chavan</dc:creator>
      <pubDate>Mon, 26 Oct 2026 06:01:47 +0000</pubDate>
      <link>https://dev.to/rasikachavan13/obligation-zero-4m57</link>
      <guid>https://dev.to/rasikachavan13/obligation-zero-4m57</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Have you ever opened a long document just to find one important deadline buried somewhere in the text?&lt;/p&gt;

&lt;p&gt;That is the problem I wanted to tackle with &lt;strong&gt;Obligation Zero&lt;/strong&gt; — an AI-powered document analysis application that helps turn document content into actionable tasks.&lt;/p&gt;

&lt;p&gt;Instead of manually scanning documents for every obligation, users can upload supported files and let the application identify important tasks, deadlines, and relevant evidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  What can it do?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📄 Upload documents in PDF, DOCX, TXT, Markdown, CSV, and EML formats.&lt;/li&gt;
&lt;li&gt;🔍 Extract obligations, tasks, and deadlines from document content.&lt;/li&gt;
&lt;li&gt;🤖 Analyse document text using an Ollama-hosted AI model.&lt;/li&gt;
&lt;li&gt;✍️ Generate draft replies to help users respond to obligations.&lt;/li&gt;
&lt;li&gt;✅ Review extracted information and use it to plan their next steps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: spend less time searching through documents and more time acting on what matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Application:&lt;/strong&gt; &lt;a href="https://obligation-zero.onrender.com/" rel="noopener noreferrer"&gt;https://obligation-zero.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Video Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/51GEAb_vmmQ" rel="noopener noreferrer"&gt;https://youtu.be/51GEAb_vmmQ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try the live application and see how a document can become a more actionable set of tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/rasikachavan13/Obligation-Zero.git" rel="noopener noreferrer"&gt;https://github.com/rasikachavan13/Obligation-Zero.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is built as a full-stack application, with a frontend, an Express backend, and AI-powered document analysis.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Replace the GitHub profile link above with your exact Obligation Zero repository URL if the repository has a different name.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built Obligation Zero as a full-stack web application, combining document processing, backend APIs, and open-source AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technology stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Vite-based web application&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js and Express&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI inference:&lt;/strong&gt; Ollama Cloud&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI model:&lt;/strong&gt; Gemma, configured through Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document processing:&lt;/strong&gt; Text extraction for supported file formats&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Render&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How the workflow works
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upload:&lt;/strong&gt; The user uploads a supported document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extract:&lt;/strong&gt; The backend extracts available text from the document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyse:&lt;/strong&gt; The application sends the extracted content for AI-powered analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identify:&lt;/strong&gt; The analysis identifies obligations, tasks, deadlines, and supporting evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Draft:&lt;/strong&gt; Users can generate draft replies to help them respond.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review:&lt;/strong&gt; Users review the results before deciding what action to take.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I also worked on fallback behaviour so that the application can provide rule-based suggestions when AI analysis fails. This is important because a useful application should handle failures instead of leaving users with a broken screen.&lt;/p&gt;

&lt;p&gt;Scanned documents requiring OCR are not currently supported by the text-extraction workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation matters because it makes AI experimentation more accessible to developers who are still learning and building.&lt;/p&gt;

&lt;p&gt;For Obligation Zero, using &lt;strong&gt;Gemma through Ollama&lt;/strong&gt; gave me a way to explore AI-powered document analysis without making the entire application dependent on a proprietary, paid model API.&lt;/p&gt;

&lt;p&gt;It also helped me understand more than just prompting a model. I had to work with backend integration, API authentication, document extraction, error handling, deployment, and the difference between a model being reachable and a model actually producing useful results.&lt;/p&gt;

&lt;p&gt;Open tools make it easier to experiment, inspect workflows, adapt implementations, and learn by building. They help individual developers turn ideas into working applications without needing to build every component from scratch.&lt;/p&gt;

&lt;p&gt;For me, open innovation is about having the freedom to experiment, learn, and build something useful while sharing that work with the developer community.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I developed and debugged the application through an iterative workflow, testing document extraction, task and deadline identification, evidence references, saved draft replies, and persistence after refreshing the application.&lt;/p&gt;

&lt;p&gt;I don't have a verified DevRelay agent-session link to share, so I'm leaving this optional section without an invented link.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The intended payoff is reducing the manual effort involved in reading lengthy documents and locating important obligations and deadlines.&lt;/p&gt;

&lt;p&gt;Instead of searching through a document repeatedly, users can start with extracted tasks and deadlines, then review the relevant evidence.&lt;/p&gt;

&lt;p&gt;I have built and deployed the application, but I haven't measured a reliable time-saving figure yet. I would like to test it with real users and compare the time spent reviewing documents manually against the time spent using Obligation Zero.&lt;/p&gt;

&lt;p&gt;The goal isn't to remove human judgement. It's to reduce repetitive searching so people can focus on decisions and action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;My submission is focused on the &lt;strong&gt;open-source AI&lt;/strong&gt; theme, using Gemma through Ollama as part of the application.&lt;/p&gt;

&lt;p&gt;I'll include any additional partner categories only where the project meets the challenge's eligibility requirements.&lt;/p&gt;




&lt;p&gt;Thanks for checking out Obligation Zero! 🚀&lt;/p&gt;

&lt;p&gt;If you have suggestions for improving document analysis, deadline extraction, or the overall workflow, I'd love to hear them in the comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build steadily. Make useful things. Keep learning.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Build For a Friend</title>
      <dc:creator>Rasika Chavan</dc:creator>
      <pubDate>Sat, 17 Oct 2026 16:44:23 +0000</pubDate>
      <link>https://dev.to/rasikachavan13/build-for-a-friend-38h1</link>
      <guid>https://dev.to/rasikachavan13/build-for-a-friend-38h1</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>TouchGrass AI 🌿 — Less Screen. More World!</title>
      <dc:creator>Rasika Chavan</dc:creator>
      <pubDate>Sat, 10 Oct 2026 20:07:11 +0000</pubDate>
      <link>https://dev.to/rasikachavan13/touchgrass-ai-less-screen-more-world-4j0</link>
      <guid>https://dev.to/rasikachavan13/touchgrass-ai-less-screen-more-world-4j0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge. Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;What if AI encouraged us to spend less time online and more time experiencing the real world?&lt;/p&gt;

&lt;p&gt;That question inspired me to build TouchGrass AI — an AI-powered outdoor mission generator designed to help people take breaks from their screens and reconnect with the world around them.&lt;/p&gt;

&lt;p&gt;As students and developers, we can easily spend hours sitting in front of our laptops. Between coding, studying, debugging, and scrolling, sometimes we need a little push to step outside.&lt;/p&gt;

&lt;p&gt;Instead of building another AI tool that keeps users engaged with a screen, I wanted to explore a different idea: using AI to help people step away from technology.&lt;/p&gt;

&lt;p&gt;TouchGrass AI turns the simple intention of going outside into a personalised, achievable mission.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2tcf1he3jnvbi28wy5n9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2tcf1he3jnvbi28wy5n9.png" alt=" " width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Users can customise their experience based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ &lt;strong&gt;Time:&lt;/strong&gt; How long they want to spend outdoors.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Energy:&lt;/strong&gt; How energetic they feel.&lt;/li&gt;
&lt;li&gt;🌿 &lt;strong&gt;Interests:&lt;/strong&gt; What kind of activities they enjoy.&lt;/li&gt;
&lt;li&gt;🧍 &lt;strong&gt;Company:&lt;/strong&gt; Whether they want to go solo or spend time with others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcftcs8wywkxp1y2ymlv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcftcs8wywkxp1y2ymlv.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The application uses these preferences to generate an outdoor mission. Users can then complete the activity and track their progress through the app's gamified experience.&lt;/p&gt;

&lt;p&gt;The idea is simple: make taking a break feel less like another task and more like a small adventure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who is it for?
&lt;/h3&gt;

&lt;p&gt;TouchGrass AI is for students, developers, remote workers, and anyone who spends a lot of time online and wants a gentle reminder to move, explore, and experience life beyond a screen.&lt;/p&gt;

&lt;p&gt;My guiding philosophy:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Less screen. More world.&lt;/em&gt; 🍃&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live application:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://touchgrass-ai-fq0a.onrender.com" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;touchgrass-ai-fq0a.onrender.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;🎥 &lt;strong&gt;Video demonstration:&lt;/strong&gt;&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/IcLSPxnOxCg" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/rasikachavan13" rel="noopener noreferrer"&gt;
        rasikachavan13
      &lt;/a&gt; / &lt;a href="https://github.com/rasikachavan13/-TouchGrass-AI" rel="noopener noreferrer"&gt;
        -TouchGrass-AI
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
       **TouchGrass AI — AI that gives you a reason to leave the screen.** A local-first AI companion that creates personalized, screen-free outdoor missions based on your time, energy, interests, and company. Built with React, Express, Ollama, Gemma 3, Backboard, and Tinker.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🌱 TouchGrass AI&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI that gives you a reason to leave the screen.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;TouchGrass AI is a local-first outdoor activity companion that uses AI to generate personalized, real-world missions based on your available time, energy, interests, and company.&lt;/p&gt;
&lt;p&gt;Instead of keeping users inside another chatbot, TouchGrass AI encourages them to &lt;strong&gt;go outside, move, observe, explore, and interact with the physical world.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;🌐 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://touchgrass-ai-fq0a.onrender.com" rel="nofollow noopener noreferrer"&gt;https://touchgrass-ai-fq0a.onrender.com&lt;/a&gt;&lt;/p&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669559093-db77df6b-10f8-4555-81e7-4c0727367b08.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTU5MDkzLWRiNzdkZjZiLTEwZjgtNDU1NS04MWU3LTRjMDcyNzM2N2IwOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZmJjM2FmNmIxY2JkZDVmYzJlN2M1ODAxMDlkMjI0MjNjZTg1NDMwZGFkYzJiNzdkNjJlMjYxNmI3ZTIzNjA4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.3AqLGPfRIXlDM_QY26WgbeKu0MhWiLjKFC6e_7EfhOM"&gt;&lt;img width="1896" height="1004" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669559093-db77df6b-10f8-4555-81e7-4c0727367b08.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTU5MDkzLWRiNzdkZjZiLTEwZjgtNDU1NS04MWU3LTRjMDcyNzM2N2IwOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZmJjM2FmNmIxY2JkZDVmYzJlN2M1ODAxMDlkMjI0MjNjZTg1NDMwZGFkYzJiNzdkNjJlMjYxNmI3ZTIzNjA4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.3AqLGPfRIXlDM_QY26WgbeKu0MhWiLjKFC6e_7EfhOM" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669615693-2b28a61f-9610-4c8c-a369-22587d300a32.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE1NjkzLTJiMjhhNjFmLTk2MTAtNGM4Yy1hMzY5LTIyNTg3ZDMwMGEzMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTE4ZGQxOTM5Y2RjOTg4YzU0NjUzMDVhMDRlZDQxNWVhMWUxMmJiNTI1YTc0NGIzNGRmNmZmNTQ1ZGVhMmUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.MBKoZclJcim1ogBhAbGbPxgSzOYl0XD8n4uvgDTEfsw"&gt;&lt;img width="1888" height="1000" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669615693-2b28a61f-9610-4c8c-a369-22587d300a32.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE1NjkzLTJiMjhhNjFmLTk2MTAtNGM4Yy1hMzY5LTIyNTg3ZDMwMGEzMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTE4ZGQxOTM5Y2RjOTg4YzU0NjUzMDVhMDRlZDQxNWVhMWUxMmJiNTI1YTc0NGIzNGRmNmZmNTQ1ZGVhMmUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.MBKoZclJcim1ogBhAbGbPxgSzOYl0XD8n4uvgDTEfsw" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669616577-a4b73057-96b0-4075-9b14-704f2bc85433.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE2NTc3LWE0YjczMDU3LTk2YjAtNDA3NS05YjE0LTcwNGYyYmM4NTQzMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTYzOWQyYjcyYjRkYjE5ODdkMjQ5Zjg1ODAzMDk4YTcxMjRlZDk4NjZiMzAwNGY1MTc4OTdlNjgwOTZkYmU5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.fLfk8Ytr2pMpaekDXluwydd63d8ff5FB2pV5MsVpTi8"&gt;&lt;img width="1381" height="666" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669616577-a4b73057-96b0-4075-9b14-704f2bc85433.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE2NTc3LWE0YjczMDU3LTk2YjAtNDA3NS05YjE0LTcwNGYyYmM4NTQzMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTYzOWQyYjcyYjRkYjE5ODdkMjQ5Zjg1ODAzMDk4YTcxMjRlZDk4NjZiMzAwNGY1MTc4OTdlNjgwOTZkYmU5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.fLfk8Ytr2pMpaekDXluwydd63d8ff5FB2pV5MsVpTi8" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669617669-51f88c5b-13cb-4e49-a39b-b5b7de8dbcae.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE3NjY5LTUxZjg4YzViLTEzY2ItNGU0OS1hMzliLWI1YjdkZThkYmNhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYjc3MGIwMzc2MTE3NmNhYjM2NDU3YWQxOTExMTUzZGZmYjhjODBlYzZmYThhNjI1ZTQ5Nzk4ODQ4M2I2ODc5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.KbEzL_unYxZrEMPBEuiAEEj1u5pJkf37UlmQYnd0hGE"&gt;&lt;img width="1361" height="523" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669617669-51f88c5b-13cb-4e49-a39b-b5b7de8dbcae.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NjE3NjY5LTUxZjg4YzViLTEzY2ItNGU0OS1hMzliLWI1YjdkZThkYmNhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYjc3MGIwMzc2MTE3NmNhYjM2NDU3YWQxOTExMTUzZGZmYjhjODBlYzZmYThhNjI1ZTQ5Nzk4ODQ4M2I2ODc5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.KbEzL_unYxZrEMPBEuiAEEj1u5pJkf37UlmQYnd0hGE" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ What It Does&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Tell TouchGrass AI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⏱️ How much time you have&lt;/li&gt;
&lt;li&gt;⚡ Your current energy level&lt;/li&gt;
&lt;li&gt;🌿 What interests you&lt;/li&gt;
&lt;li&gt;👥 Whether you're going alone or with others&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The AI generates an outdoor mission tailored to your preferences.&lt;/p&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669560379-f5f714c3-7c55-47e2-b30d-9b1f4d3f242e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYwMzc5LWY1ZjcxNGMzLTdjNTUtNDdlMi1iMzBkLTliMWY0ZDNmMjQyZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMmZiNzI0MzgwMTA0YjM5MTBmZmZkYjI2MDgyNzllODFiNzZhMjk0ODM1ODMxODNiNzYxOTVmZWRkMzFlZDg1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.rorAUyZr3ox1I-2ERZPnc_JC1wRIrcgmTx-kmSYhmMs"&gt;&lt;img width="1892" height="1001" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669560379-f5f714c3-7c55-47e2-b30d-9b1f4d3f242e.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYwMzc5LWY1ZjcxNGMzLTdjNTUtNDdlMi1iMzBkLTliMWY0ZDNmMjQyZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMmZiNzI0MzgwMTA0YjM5MTBmZmZkYjI2MDgyNzllODFiNzZhMjk0ODM1ODMxODNiNzYxOTVmZWRkMzFlZDg1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.rorAUyZr3ox1I-2ERZPnc_JC1wRIrcgmTx-kmSYhmMs" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;p&gt;Each mission includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A memorable title&lt;/li&gt;
&lt;li&gt;A short description&lt;/li&gt;
&lt;/ul&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669561514-395cc57e-9524-4d30-b9f5-b8cc453c3030.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYxNTE0LTM5NWNjNTdlLTk1MjQtNGQzMC1iOWY1LWI4Y2M0NTNjMzAzMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03OTZmODY0NGQ0ZDBhMTFkZjRkNGFmNjI2Yjg2ZDc5ZDVmNmMzOWMxZjE4MDg4MzFkMWZkOTE0ZjM2NGZhNjUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.54-7RYKD7ahlkO2RG6--imZR-fqqp48qn2ps0GqiLQc"&gt;&lt;img width="1220" height="503" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669561514-395cc57e-9524-4d30-b9f5-b8cc453c3030.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYxNTE0LTM5NWNjNTdlLTk1MjQtNGQzMC1iOWY1LWI4Y2M0NTNjMzAzMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03OTZmODY0NGQ0ZDBhMTFkZjRkNGFmNjI2Yjg2ZDc5ZDVmNmMzOWMxZjE4MDg4MzFkMWZkOTE0ZjM2NGZhNjUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.54-7RYKD7ahlkO2RG6--imZR-fqqp48qn2ps0GqiLQc" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Three practical steps&lt;/li&gt;
&lt;/ul&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669562673-b58d7c02-fd91-49d2-94df-760fc80cb4f0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYyNjczLWI1OGQ3YzAyLWZkOTEtNDlkMi05NGRmLTc2MGZjODBjYjRmMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01MDhhYTFlMzdhYzBiOTI5Mzk1MmU2OTg4NzEwYzM5OGIyOTQ3M2ViMjkyZmE4YTUwOWZjMWJmYjI4MDRlZmYzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.279tI_-g4YmLpO06Fzx5PNYREp_vRCFcEeWR8aKR1bI"&gt;&lt;img width="1218" height="309" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669562673-b58d7c02-fd91-49d2-94df-760fc80cb4f0.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTYyNjczLWI1OGQ3YzAyLWZkOTEtNDlkMi05NGRmLTc2MGZjODBjYjRmMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01MDhhYTFlMzdhYzBiOTI5Mzk1MmU2OTg4NzEwYzM5OGIyOTQ3M2ViMjkyZmE4YTUwOWZjMWJmYjI4MDRlZmYzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.279tI_-g4YmLpO06Fzx5PNYREp_vRCFcEeWR8aKR1bI" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Suggested items to bring&lt;/li&gt;
&lt;/ul&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669564074-43409f42-66f4-45f4-9e99-68e12fa98849.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTY0MDc0LTQzNDA5ZjQyLTY2ZjQtNDVmNC05ZTk5LTY4ZTEyZmE5ODg0OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDIxODc2MTIzMDk4MjYwMGQyMTk0NmZiODA4NWY1ODEwNzNhZjJhZDVmOGFlNmJmNGEwNDUzNTQ4OWIzZDZlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.lb01VRAX-mqhdImcuKb7ywGd0x-uwZUcxNHc0U74V7M"&gt;&lt;img width="1196" height="203" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669564074-43409f42-66f4-45f4-9e99-68e12fa98849.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTY0MDc0LTQzNDA5ZjQyLTY2ZjQtNDVmNC05ZTk5LTY4ZTEyZmE5ODg0OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDIxODc2MTIzMDk4MjYwMGQyMTk0NmZiODA4NWY1ODEwNzNhZjJhZDVmOGFlNmJmNGEwNDUzNTQ4OWIzZDZlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.lb01VRAX-mqhdImcuKb7ywGd0x-uwZUcxNHc0U74V7M" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;A real-world observation challenge&lt;/li&gt;
&lt;/ul&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/214648545/669564822-50078b0c-d2a8-453b-91e7-86b62249dee7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTY0ODIyLTUwMDc4YjBjLWQyYTgtNDUzYi05MWU3LTg2YjYyMjQ5ZGVlNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04YTRiOGIzMDUwODlkOGEzYzdlYTM1Y2YwZGIwM2M1NzAzMGYzNmFiNDFjYzRmMjM0NjFiNDQ5MGRkNjhhMDhiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.2DsbiEBkdGWnnxQByfvUnVcrKK5dCyNwNzarMTs0QSU"&gt;&lt;img width="1220" height="556" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F214648545%2F669564822-50078b0c-d2a8-453b-91e7-86b62249dee7.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTE2NjMxNDcsIm5iZiI6MTc5MTY2Mjg0NywicGF0aCI6Ii8yMTQ2NDg1NDUvNjY5NTY0ODIyLTUwMDc4YjBjLWQyYTgtNDUzYi05MWU3LTg2YjYyMjQ5ZGVlNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMDEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTAxMFQyMDA3MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04YTRiOGIzMDUwODlkOGEzYzdlYTM1Y2YwZGIwM2M1NzAzMGYzNmFiNDFjYzRmMjM0NjFiNDQ5MGRkNjhhMDhiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.2DsbiEBkdGWnnxQByfvUnVcrKK5dCyNwNzarMTs0QSU" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Example Mission&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Quiet Campus Explorer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Turn an ordinary walk into a deliberate exploration by observing environmental details, noticing patterns in nature, and experiencing your surroundings…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/rasikachavan13/-TouchGrass-AI" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The project is publicly available, and the repository contains the application code and project documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;TouchGrass AI evolved from a simple concept into a full-stack application involving frontend development, backend APIs, AI integration, memory experiments, local inference, and cloud deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Technology Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React &amp;amp; Vite:&lt;/strong&gt; Building the interactive frontend and build tooling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS:&lt;/strong&gt; Styling the application and its responsive, nature-inspired interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js &amp;amp; Express.js:&lt;/strong&gt; Building the backend and API endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 4B &amp;amp; Ollama:&lt;/strong&gt; An open-weight language model used in local AI experimentation, run locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backboard:&lt;/strong&gt; Experimenting with AI memory and saving user preferences.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8jkhr8qlkc9gcg6czwkj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8jkhr8qlkc9gcg6czwkj.png" alt=" " width="798" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemini API:&lt;/strong&gt; Exploring hosted AI generation for the production integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tinker:&lt;/strong&gt; Exploring the model fine-tuning and evaluation workflow separately from the main application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr8ia4q7n5iz3pk62zzv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr8ia4q7n5iz3pk62zzv0.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Render:&lt;/strong&gt; Deploying the web application and backend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fef8smvx128iobw1mk7a3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fef8smvx128iobw1mk7a3.png" alt=" " width="799" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;localStorage:&lt;/strong&gt; Persisting supported user progress in the browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. Frontend: Making the experience approachable
&lt;/h3&gt;

&lt;p&gt;I used React and Vite to build the user interface, with CSS to create a minimal, nature-inspired visual identity. The interface lets users select their preferences, request a mission, and interact with their progress without demanding constant attention like a productivity dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Backend: Connecting the application to AI
&lt;/h3&gt;

&lt;p&gt;The Node.js and Express backend handles requests from the frontend and provides the API layer for mission generation. &lt;/p&gt;

&lt;p&gt;The intended workflow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user selects their preferences.&lt;/li&gt;
&lt;li&gt;The frontend sends these preferences to the backend.&lt;/li&gt;
&lt;li&gt;The backend communicates with the configured model provider.&lt;/li&gt;
&lt;li&gt;The generated mission is returned to the frontend.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Building this flow taught me that an AI application is not just a single prompt; the frontend, backend, model runtime, API configuration, and error handling must all work together.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Open-weight AI: Gemma 3 4B and Ollama
&lt;/h3&gt;

&lt;p&gt;One of the most educational parts of this project was experimenting with Gemma 3 4B through Ollama. Running the model locally helped me understand how open-weight models can be integrated without relying exclusively on a hosted inference API. &lt;/p&gt;

&lt;p&gt;Debugging local model configuration and backend integration errors helped me understand the deeper connection between model runtimes and Express APIs.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Backboard: Exploring AI memory
&lt;/h3&gt;

&lt;p&gt;I also experimented with Backboard to explore how an AI application could retain useful context about a user. In the backend, I implemented preference-saving functionality that records details such as selected time, energy, interests, and company preferences.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Tinker &amp;amp; Gemini API
&lt;/h3&gt;

&lt;p&gt;Alongside local Gemma and Ollama experiments, I worked on a Gemini API integration for hosted AI generation and explored Tinker separately for model fine-tuning and evaluation workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Render Deployment
&lt;/h3&gt;

&lt;p&gt;I deployed the application using Render, making the project accessible through a public URL. Deployment introduced a great lesson: a site loading successfully doesn't mean every backend integration works out-of-the-box; AI generation must always be tested end-to-end in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For me, open innovation is about having the freedom to experiment, learn, adapt, and build beyond the boundaries of a single closed service. Working with open-source tools and open-weight models provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning through implementation:&lt;/strong&gt; Seeing how runtimes, backends, and frontends communicate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; Choosing between local inference and hosted APIs based on the problem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility:&lt;/strong&gt; Creating opportunities for students and independent developers to build practical AI projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✨ What It Does
&lt;/h2&gt;

&lt;p&gt;Tell TouchGrass AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ How much time do you have?&lt;/li&gt;
&lt;li&gt;⚡ Your current energy level&lt;/li&gt;
&lt;li&gt;🌿 What interests you&lt;/li&gt;
&lt;li&gt;👥 Whether you're going alone or with others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI generates an outdoor mission tailored to your preferences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3grzhzm4cy2el44w87ba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3grzhzm4cy2el44w87ba.png" alt=" " width="697" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each mission includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A memorable title&lt;/li&gt;
&lt;li&gt;A short description&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe3wk74jse1guw4g3evu9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe3wk74jse1guw4g3evu9.png" alt=" " width="799" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Three practical steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feba5tcqxl58ekbvgtq9p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feba5tcqxl58ekbvgtq9p.png" alt=" " width="798" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Suggested items to bring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe2heyrbncnt8ore42i5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe2heyrbncnt8ore42i5i.png" alt=" " width="800" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A real-world observation challenge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fam8n3fz6j8haozwcckb2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fam8n3fz6j8haozwcckb2.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Example Mission
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Quiet Campus Explorer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Turn an ordinary walk into a deliberate exploration by observing environmental details, noticing patterns in nature, and experiencing your surroundings without digital distractions.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌿 Core Features
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Personalised missions&lt;/td&gt;
&lt;td&gt;Generate outdoor activities from user-selected preferences.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local AI inference&lt;/td&gt;
&lt;td&gt;Run missions locally using Ollama and Gemma 3 4B.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud AI generation&lt;/td&gt;
&lt;td&gt;Use Gemini through the deployed backend.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory-powered personalisation&lt;/td&gt;
&lt;td&gt;Backboard stores and retrieves outdoor preference memories.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outside Mode&lt;/td&gt;
&lt;td&gt;A distraction-free experience designed around completing the mission.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mission history&lt;/td&gt;
&lt;td&gt;Review previously generated missions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TouchGrass Score&lt;/td&gt;
&lt;td&gt;Earn points for completing missions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Streaks and milestones&lt;/td&gt;
&lt;td&gt;Track progress and encourage consistent outdoor activity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local persistence&lt;/td&gt;
&lt;td&gt;Save progress in the browser using &lt;code&gt;localStorage&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffe4gdn6mrfv85fi4qlba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffe4gdn6mrfv85fi4qlba.png" alt=" " width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 AI Architecture
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Local Development
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjp379qaqcscpgqq2dzr9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjp379qaqcscpgqq2dzr9.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The local setup supports inference on the user's machine after the required model has been downloaded. Mission history and score are stored separately in browser localStorage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Production Deployment
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugpie6v9j6nsd6zdxh49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugpie6v9j6nsd6zdxh49.png" alt=" " width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The deployed application uses Gemini for cloud-based mission generation. The local Ollama setup is used for local development and testing; it is not automatically available to the cloud deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Tech Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React, Vite, CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Node.js, Express&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local inference&lt;/td&gt;
&lt;td&gt;Ollama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local model&lt;/td&gt;
&lt;td&gt;Gemma 3 4B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud inference&lt;/td&gt;
&lt;td&gt;Gemini API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Preference memory&lt;/td&gt;
&lt;td&gt;Backboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fine-tuning experiment&lt;/td&gt;
&lt;td&gt;Tinker, LoRA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Render&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser persistence&lt;/td&gt;
&lt;td&gt;localStorage&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🧠 Tinker Fine-Tuning Experiment
&lt;/h2&gt;

&lt;p&gt;TouchGrass AI also includes a domain-specific fine-tuning experiment using Tinker.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fine-Tuning Setup
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Base model:&lt;/strong&gt; &lt;code&gt;Qwen/Qwen3.5-4B&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuning method:&lt;/strong&gt; LoRA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LoRA rank:&lt;/strong&gt; 16&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Training examples:&lt;/strong&gt; 8&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Training steps:&lt;/strong&gt; 10&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checkpoint:&lt;/strong&gt; &lt;code&gt;touchgrass-v1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checkpoint type:&lt;/strong&gt; Sampler weights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The training examples were designed to encourage the behavior required by TouchGrass AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screen-free outdoor activities&lt;/li&gt;
&lt;li&gt;Safe, practical real-world experiences&lt;/li&gt;
&lt;li&gt;Minimal equipment requirements&lt;/li&gt;
&lt;li&gt;Specific, actionable instructions&lt;/li&gt;
&lt;li&gt;Physical-world observation challenges&lt;/li&gt;
&lt;li&gt;No unnecessary dependence on apps, internet access, photos, or digital navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Fine-Tune?
&lt;/h3&gt;

&lt;p&gt;A general-purpose model can suggest outdoor activities, but TouchGrass AI has a more specific goal: generate practical missions that encourage users to disconnect from their screens.&lt;/p&gt;

&lt;p&gt;The experiment explored whether a small, domain-specific dataset could encourage more consistent adherence to these requirements.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI should create a reason to leave the screen, not another reason to stay on it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Evaluation and Limitations
&lt;/h3&gt;

&lt;p&gt;The fine-tuned model was compared with base-model generations using the same prompts.&lt;/p&gt;

&lt;p&gt;In the observed examples, the fine-tuned model showed stronger adherence to some screen-free and outdoor-activity constraints. However, the results were not consistently better across every dimension, including creativity and specificity.&lt;/p&gt;

&lt;p&gt;The experiment is preliminary. With only eight training examples and ten training steps, it does not establish a general performance improvement. A larger dataset, repeatable evaluation set, and quantitative measurements would be needed to support stronger conclusions.&lt;/p&gt;

&lt;p&gt;The fine-tuned checkpoint is a separate experiment and is &lt;strong&gt;not the model currently serving missions in the live application&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔓 Why Local-First and Open Innovation?
&lt;/h2&gt;

&lt;p&gt;TouchGrass AI explores how locally run AI can support a more privacy-conscious, accessible experience.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local inference:&lt;/strong&gt; Run the local version without sending mission prompts to a cloud AI provider.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy-conscious design:&lt;/strong&gt; Keep local mission history and score in browser storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced API dependence:&lt;/strong&gt; Local generation does not require a paid cloud inference request once the model is available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model experimentation:&lt;/strong&gt; Explore different models and specialized fine-tuning approaches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practical AI:&lt;/strong&gt; Use AI to encourage real-world activity rather than maximize screen time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ollama provides the local inference tooling, while Gemma 3 is an open-weight model distributed under its applicable license. These are distinct from the separate cloud Gemini integration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run Locally
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Node.js and npm&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. Clone the repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/rasikachavan13/-TouchGrass-AI.git
&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nt"&gt;-TouchGrass-AI&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Download the local model
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull gemma3:4b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure Ollama is running before generating missions locally.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configure the backend
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;backend
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a &lt;code&gt;.env&lt;/code&gt; file using &lt;code&gt;.env.example&lt;/code&gt; as a reference.&lt;/p&gt;

&lt;p&gt;Configure the local model and, if desired, your Backboard credentials:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PORT=5000
FRONTEND_URL=http://localhost:5173

OLLAMA_HOST=http://127.0.0.1:11434
OLLAMA_MODEL=gemma3:4b

BACKBOARD_API_KEY=
BACKBOARD_ASSISTANT_ID=

GEMINI_API_KEY=
GEMINI_MODEL=gemini-3.8-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the backend:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Configure the frontend
&lt;/h3&gt;

&lt;p&gt;Open a second terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;frontend
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create &lt;code&gt;frontend/.env&lt;/code&gt; with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VITE_API_URL=http://localhost:5000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the frontend:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the local URL printed by Vite, usually &lt;code&gt;http://localhost:5173&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;My project explored open-weight AI through Gemma 3 4B and Ollama, and I used Render to host the application. I will only claim specific partner prize categories if the implementation meets their official requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;TouchGrass AI began with a small question: &lt;em&gt;could technology help us become more intentional about using technology itself?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Not every experiment became part of the production application, and not every integration worked on the first try, but those challenges formed the core of the learning process.&lt;/p&gt;

&lt;p&gt;What would you build if AI's purpose were to help people reconnect with the real world? Let me know in the comments below! 👇&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>weekendchallenge</category>
      <category>ai</category>
    </item>
    <item>
      <title>Starting my developer journey — one commit at a time.</title>
      <dc:creator>Rasika Chavan</dc:creator>
      <pubDate>Sun, 04 Oct 2026 06:49:34 +0000</pubDate>
      <link>https://dev.to/rasikachavan13/starting-my-developer-journey-one-commit-at-a-time-2784</link>
      <guid>https://dev.to/rasikachavan13/starting-my-developer-journey-one-commit-at-a-time-2784</guid>
      <description>&lt;p&gt;I’m a CSE student exploring DSA, AI/ML, Web Development &amp;amp; Open Source.&lt;/p&gt;

&lt;p&gt;Currently:&lt;br&gt;
→ Learning DSA with C++&lt;br&gt;
→ Building projects with AI/ML + Web&lt;br&gt;
→ Improving my GitHub every day&lt;br&gt;
→ Exploring hackathons &amp;amp; open source&lt;br&gt;
→ Learning by building, breaking, and rebuilding.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>career</category>
      <category>machinelearning</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
