<?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: Khushi Sarawagi</title>
    <description>The latest articles on DEV Community by Khushi Sarawagi (@khushisarawagi).</description>
    <link>https://dev.to/khushisarawagi</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%2F4165470%2F2e876bc8-75b3-46b3-bc12-15d6263beafd.png</url>
      <title>DEV Community: Khushi Sarawagi</title>
      <link>https://dev.to/khushisarawagi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/khushisarawagi"/>
    <language>en</language>
    <item>
      <title>I Built the Anti-Tutorial</title>
      <dc:creator>Khushi Sarawagi</dc:creator>
      <pubDate>Sun, 11 Oct 2026 10:04:25 +0000</pubDate>
      <link>https://dev.to/khushisarawagi/i-built-the-anti-tutorial-12f0</link>
      <guid>https://dev.to/khushisarawagi/i-built-the-anti-tutorial-12f0</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;p&gt;AI has become incredibly good at giving us answers.&lt;/p&gt;

&lt;p&gt;Ask it how a wind vane works and it will explain the whole thing. Ask it how bridges carry weight and you will get a neat explanation of tension and compression. Ask it how shadows can tell time and, within seconds, you have the answer.&lt;/p&gt;

&lt;p&gt;That is useful, but I kept thinking about one problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Knowing the answer is not the same as discovering it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So for this hackathon, I wanted to build the opposite of a tutorial.&lt;/p&gt;

&lt;p&gt;Instead of an AI that explains everything, I built one that sometimes refuses to explain.&lt;/p&gt;

&lt;p&gt;Instead of giving you instructions, it gives you a problem.&lt;/p&gt;

&lt;p&gt;Instead of keeping you on the screen, it eventually tells you to put the phone down.&lt;/p&gt;

&lt;p&gt;That became &lt;strong&gt;NO-KIT&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't buy a kit. Don't watch a tutorial. Build it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;NO-KIT is an open-source AI maker experience that turns ordinary things around you into small science and engineering challenges.&lt;/p&gt;

&lt;p&gt;The interaction starts with a very simple question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you already have?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You might have some cardboard, tape, paper, a straw, a pencil, string, a bottle or a few random objects that were probably going to end up in a drawer or recycling bin.&lt;/p&gt;

&lt;p&gt;You show those materials to NO-KIT using your camera.&lt;/p&gt;

&lt;p&gt;From there, the system identifies the useful materials and figures out what kind of physical challenge can realistically be built with them.&lt;/p&gt;

&lt;p&gt;For example, if you have cardboard, a straw, tape and a pencil, NO-KIT might give you this mission:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  WIND HACKER
&lt;/h3&gt;

&lt;p&gt;Build something that can tell which direction the wind is coming from.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Notice what it does &lt;strong&gt;not&lt;/strong&gt; say.&lt;/p&gt;

&lt;p&gt;It does not tell you to build a wind vane.&lt;/p&gt;

&lt;p&gt;It does not show you five steps.&lt;/p&gt;

&lt;p&gt;It does not give you a diagram of the finished object.&lt;/p&gt;

&lt;p&gt;The answer stays hidden.&lt;/p&gt;

&lt;p&gt;You have to try.&lt;/p&gt;

&lt;p&gt;If you get stuck, you can ask for a hint, but even the hints are deliberately limited.&lt;/p&gt;

&lt;p&gt;Instead of saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Cut the cardboard into an arrow and attach it..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NO-KIT might ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What part of your build needs to rotate?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you are still stuck, the next hint might be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Think about whether both ends should catch the same amount of wind."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal is not to withhold help for the sake of being difficult. The goal is to give you just enough help to make the &lt;strong&gt;next discovery yourself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Then comes the most important part of the experience.&lt;/p&gt;

&lt;p&gt;NO-KIT sends you outside.&lt;/p&gt;

&lt;p&gt;You make a prediction, take the thing you built into the real world and test it.&lt;/p&gt;

&lt;p&gt;Maybe it spins endlessly.&lt;/p&gt;

&lt;p&gt;Maybe it hardly moves.&lt;/p&gt;

&lt;p&gt;Maybe it works immediately.&lt;/p&gt;

&lt;p&gt;Maybe it falls apart.&lt;/p&gt;

&lt;p&gt;All of those results are useful because now the learner has something real to reason about.&lt;/p&gt;

&lt;p&gt;You come back, record what happened, get another small hint if needed, modify the design and try again.&lt;/p&gt;

&lt;p&gt;Only after the experiment succeeds does NO-KIT reveal what you actually built and explain the science behind it.&lt;/p&gt;

&lt;p&gt;The complete learning loop looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LOOK
  ↓
CHALLENGE
  ↓
PREDICT
  ↓
BUILD
  ↓
GO OUTSIDE
  ↓
TEST
  ↓
OBSERVE
  ↓
GET ONE HINT
  ↓
ITERATE
  ↓
DISCOVER
  ↓
UNDERSTAND
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The idea behind NO-KIT is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the screen should be the shortest part of the experience.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NO-KIT currently includes challenges around wind, sunlight, rainfall, geometry, structures, sound, filtration and flight.&lt;/p&gt;

&lt;p&gt;Some examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wind Hacker&lt;/strong&gt;, where you discover how a wind vane works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shadow Clock&lt;/strong&gt;, where sunlight becomes your clock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rain Measurer&lt;/strong&gt;, where everyday materials become a simple rain gauge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tree Height&lt;/strong&gt;, where you estimate the height of a tree using geometry&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bridge Breaker&lt;/strong&gt;, where you experiment with paper and structural strength&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sound Phone&lt;/strong&gt;, where you explore vibration using cups and string&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paper Glider&lt;/strong&gt;, where you test lift, drag and iteration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is one principle behind all of them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Learning should not begin with "buy this kit." It should begin with "what do you already have?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A delivery box can become material.&lt;/p&gt;

&lt;p&gt;A bottle heading for recycling can become material.&lt;/p&gt;

&lt;p&gt;A straw can become material.&lt;/p&gt;

&lt;p&gt;A stick outside can become material.&lt;/p&gt;

&lt;p&gt;The world is already full of science kits. Most of them just do not come in boxes labelled "science kit."&lt;/p&gt;

&lt;p&gt;I also added a &lt;strong&gt;My Shelf&lt;/strong&gt; section where discoveries can become collectible build cards, plus a small journal for predictions and observations.&lt;/p&gt;

&lt;p&gt;And because the theme is literally &lt;em&gt;Touch Grass&lt;/em&gt;, there is also a hidden &lt;strong&gt;Touch Grass Mode&lt;/strong&gt; in the UI.&lt;/p&gt;

&lt;p&gt;It opens an interactive field of grass that reacts to your pointer.&lt;/p&gt;

&lt;p&gt;Was it necessary?&lt;/p&gt;

&lt;p&gt;Probably not.&lt;/p&gt;

&lt;p&gt;Was I going to submit a Touch Grass project without a button that literally lets you touch grass?&lt;/p&gt;

&lt;p&gt;Absolutely not.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can try NO-KIT here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://no-kit-client.onrender.com/" rel="noopener noreferrer"&gt;https://no-kit-client.onrender.com/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I recommend opening it on a phone because the experience is designed around camera input and moving between the screen and the real world.&lt;/p&gt;

&lt;p&gt;For the quickest demo, try the &lt;strong&gt;Wind Hacker&lt;/strong&gt; flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Press &lt;strong&gt;PLAY&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Show NO-KIT your materials&lt;/li&gt;
&lt;li&gt;Choose the Wind Hacker challenge&lt;/li&gt;
&lt;li&gt;Try building something before requesting hints&lt;/li&gt;
&lt;li&gt;Record what you think will happen&lt;/li&gt;
&lt;li&gt;Take your build outside&lt;/li&gt;
&lt;li&gt;Test it&lt;/li&gt;
&lt;li&gt;Record what actually happened&lt;/li&gt;
&lt;li&gt;Modify it if necessary&lt;/li&gt;
&lt;li&gt;Unlock the discovery&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is also a reliable Demo Mode so the core journey can still be explored without needing to prepare specific materials first.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The project is completely open source:&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/khushi-infinity" rel="noopener noreferrer"&gt;
        khushi-infinity
      &lt;/a&gt; / &lt;a href="https://github.com/khushi-infinity/NO-KIT" rel="noopener noreferrer"&gt;
        NO-KIT
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &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;NO-KIT&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't buy a kit. Don't watch a tutorial. Build it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NO-KIT is a mobile-first maker game that turns ordinary objects into real science. A learner photographs what is nearby, receives a challenge framed as a problem, builds without a tutorial, predicts what will happen, tests the object in the real world, and gets one useful hint at a time.&lt;/p&gt;

&lt;p&gt;The screen should be the shortest part of the experience.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Website previews&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;These checked-in example previews document the intended website surfaces. The real UI is rendered by React and remains interactive at the local &lt;code&gt;/demo&lt;/code&gt; route.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Home and primary action&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/khushi-infinity/NO-KIT/docs/screenshots/home-preview.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fkhushi-infinity%2FNO-KIT%2FHEAD%2Fdocs%2Fscreenshots%2Fhome-preview.svg" alt="NO-KIT home website preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Explore challenge library&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/khushi-infinity/NO-KIT/docs/screenshots/explore-preview.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fkhushi-infinity%2FNO-KIT%2FHEAD%2Fdocs%2Fscreenshots%2Fexplore-preview.svg" alt="NO-KIT Explore website preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Field Journal&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/khushi-infinity/NO-KIT/docs/screenshots/journal-preview.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fkhushi-infinity%2FNO-KIT%2FHEAD%2Fdocs%2Fscreenshots%2Fjournal-preview.svg" alt="NO-KIT Journal website preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Hidden Grass Mode&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/khushi-infinity/NO-KIT/docs/screenshots/grass-mode-preview.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fkhushi-infinity%2FNO-KIT%2FHEAD%2Fdocs%2Fscreenshots%2Fgrass-mode-preview.svg" alt="NO-KIT Grass Mode preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The previews are original project UI references, not copied assets. Grass Mode is an interactive red-herring screen opened from the grass-shaped button in the top-left corner. For runtime screenshots, run the app locally and capture &lt;code&gt;/demo&lt;/code&gt;, &lt;code&gt;/explore&lt;/code&gt;, &lt;code&gt;/journal&lt;/code&gt;, and…&lt;/p&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/khushi-infinity/NO-KIT" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Repository:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/khushi-infinity/NO-KIT" rel="noopener noreferrer"&gt;https://github.com/khushi-infinity/NO-KIT&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the frontend, FastAPI backend, challenge system, material reasoning, Render deployment configuration, architecture notes and project progress log.&lt;/p&gt;

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

&lt;p&gt;The most important architectural decision was that &lt;strong&gt;AI should support the experience, not become the experience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The interesting part of NO-KIT is not sitting inside a chat window.&lt;/p&gt;

&lt;p&gt;It is the physical loop outside of it.&lt;/p&gt;

&lt;p&gt;The AI handles the parts where reasoning is genuinely useful:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;photo of materials
        ↓
material understanding
        ↓
physical properties
        ↓
safe challenge candidates
        ↓
feasibility + learning ranking
        ↓
physical mission
        ↓
build and test
        ↓
observation
        ↓
small AI hint
        ↓
discovery
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend is built with &lt;strong&gt;React, TypeScript and Vite&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The backend uses &lt;strong&gt;FastAPI&lt;/strong&gt; with Pydantic validation.&lt;/p&gt;

&lt;p&gt;I deliberately avoided making the UI look like a typical AI product. There is no large chatbot box, no corporate dashboard and no glowing AI orb.&lt;/p&gt;

&lt;p&gt;The interface is designed more like a playful science game, with chunky controls, challenge cards, bright colors, tactile interactions, discoveries and a physical-first flow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding materials
&lt;/h3&gt;

&lt;p&gt;NO-KIT does not only treat an object as a name.&lt;/p&gt;

&lt;p&gt;It also reasons about what that material can physically do.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cardboard
→ flat
→ lightweight
→ foldable
→ semi-rigid

string
→ flexible
→ connective
→ useful under tension

bottle
→ waterproof
→ container
→ transparent

straw
→ hollow
→ lightweight
→ relatively rigid
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This lets the system reason about possible builds instead of relying only on fixed recipes.&lt;/p&gt;

&lt;p&gt;The challenge pipeline is roughly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;detect materials
      ↓
normalize names
      ↓
infer physical properties
      ↓
find possible challenges
      ↓
check feasibility
      ↓
apply safety rules
      ↓
score learning value
      ↓
score experimentation value
      ↓
score outdoor relevance
      ↓
return the best options
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That matters because the system should not suggest a project simply because one material happens to match.&lt;/p&gt;

&lt;p&gt;The build has to make sense.&lt;/p&gt;

&lt;h3&gt;
  
  
  The open-weight AI layer
&lt;/h3&gt;

&lt;p&gt;The backend is designed around an &lt;code&gt;AIProvider&lt;/code&gt; interface:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AIProvider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;detectMaterials&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;generateChallenges&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;materials&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;evaluateAttempt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;challenge&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;generateHint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;explainDiscovery&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives NO-KIT two important modes.&lt;/p&gt;

&lt;p&gt;The first is a deterministic &lt;strong&gt;DemoProvider&lt;/strong&gt;, which keeps the judging experience reliable even if external inference is temporarily unavailable.&lt;/p&gt;

&lt;p&gt;The second is an &lt;strong&gt;OpenWeightProvider&lt;/strong&gt;, designed to work with an OpenAI-compatible open-weight inference endpoint.&lt;/p&gt;

&lt;p&gt;The current provider configuration is built around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Qwen2.5-VL-7B-Instruct&lt;/strong&gt; for visual understanding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen2.5-7B-Instruct&lt;/strong&gt; for text reasoning and tutoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model configuration is controlled through backend environment variables rather than being hard-coded into the frontend.&lt;/p&gt;

&lt;p&gt;That means the model can be changed without rewriting the product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Teaching the AI to say less
&lt;/h3&gt;

&lt;p&gt;This turned out to be one of the most interesting parts of the build.&lt;/p&gt;

&lt;p&gt;A normal AI assistant is usually optimized to give the most complete answer it can.&lt;/p&gt;

&lt;p&gt;NO-KIT often needs to do the opposite.&lt;/p&gt;

&lt;p&gt;If the learner is supposed to discover a wind vane, the worst possible response would be a perfect tutorial explaining exactly how to make one.&lt;/p&gt;

&lt;p&gt;So NO-KIT follows a different rule:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Give the smallest hint that helps the learner make the next discovery.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hints are progressive.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hint 1
small question

Hint 2
conceptual nudge

Hint 3
stronger clue

Discovery
solution revealed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The hidden solution also stays out of the public challenge response until the learner reaches the discovery stage.&lt;/p&gt;

&lt;p&gt;That small technical detail protects the core idea of the entire product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Safety matters
&lt;/h3&gt;

&lt;p&gt;A generative DIY system can become unsafe very quickly if everything is allowed.&lt;/p&gt;

&lt;p&gt;NO-KIT therefore filters out projects involving things such as fire, weapons, dangerous chemistry, mains electricity, unsafe ingestion and dangerous heights.&lt;/p&gt;

&lt;p&gt;For the filtration experiment, the interface explicitly says:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DO NOT DRINK.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For this project, I would much rather have a smaller library of experiments that I trust than hundreds of automatically generated experiments that should never be attempted.&lt;/p&gt;

&lt;h3&gt;
  
  
  Render
&lt;/h3&gt;

&lt;p&gt;I built NO-KIT with Render as the deployment platform.&lt;/p&gt;

&lt;p&gt;The project includes a &lt;code&gt;render.yaml&lt;/code&gt; Blueprint that defines the application architecture as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Render Static Site
        │
        │ React + Vite
        ▼
   NO-KIT Client
        │
        │ API requests
        ▼
Render Web Service
        │
        │ FastAPI
        ▼
material reasoning
challenge ranking
AI provider
safety + validation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend is currently live at:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://no-kit-client.onrender.com/" rel="noopener noreferrer"&gt;https://no-kit-client.onrender.com/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The FastAPI service architecture also includes a &lt;code&gt;/health&lt;/code&gt; endpoint for deployment checks, while AI credentials and other secrets remain server-side through environment variables.&lt;/p&gt;

&lt;p&gt;Demo Mode is also intentionally treated as a first-class part of the application so a temporary inference failure does not destroy the physical learning flow halfway through a challenge.&lt;/p&gt;

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

&lt;p&gt;I could have connected NO-KIT directly to one closed multimodal API and built the entire product around it.&lt;/p&gt;

&lt;p&gt;That would have been easier.&lt;/p&gt;

&lt;p&gt;But it would also lock a very experimental learning experience to one model and one provider.&lt;/p&gt;

&lt;p&gt;NO-KIT needs something more flexible.&lt;/p&gt;

&lt;p&gt;A maker tutor might eventually need a smaller model that runs on a laptop.&lt;/p&gt;

&lt;p&gt;A school might want student photos to stay inside infrastructure it controls.&lt;/p&gt;

&lt;p&gt;Someone could create a gardening version of NO-KIT.&lt;/p&gt;

&lt;p&gt;Someone else could adapt it for electronics, physics, woodworking or environmental science.&lt;/p&gt;

&lt;p&gt;A contributor might want to change how hints work, replace the vision model, experiment with a smaller text model or fine-tune the tutor for a particular kind of learner.&lt;/p&gt;

&lt;p&gt;With an open-weight architecture, those things are possible.&lt;/p&gt;

&lt;p&gt;The architecture is intentionally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NO-KIT
   ↓
AIProvider
   ↓
compatible open-weight model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NO-KIT
   ↓
one proprietary model
   ↓
forever
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That flexibility matters especially for education.&lt;/p&gt;

&lt;p&gt;A ten-year-old with cardboard and tape does not need exactly the same AI behavior as someone inside a university maker lab.&lt;/p&gt;

&lt;p&gt;A classroom with unreliable internet should not require exactly the same infrastructure as a cloud-hosted demo.&lt;/p&gt;

&lt;p&gt;Open innovation makes it possible to adapt the intelligence itself to the environment where it is being used.&lt;/p&gt;

&lt;p&gt;And that fits the idea behind NO-KIT surprisingly well.&lt;/p&gt;

&lt;p&gt;The whole philosophy is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Use what you have.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That should apply to the AI too.&lt;/p&gt;

&lt;p&gt;There is something slightly funny about using capable AI models to eventually generate the instruction:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Put your phone down and go try it yourself.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But that is exactly why I built this.&lt;/p&gt;

&lt;p&gt;AI does not always have to replace the difficult part.&lt;/p&gt;

&lt;p&gt;Sometimes the difficult part is where the learning happens.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Best Use of Render
&lt;/h3&gt;

&lt;p&gt;I am submitting NO-KIT for &lt;strong&gt;Best Use of Render&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Render powers the deployed web experience and provides the architecture for the backend service that connects material understanding, challenge reasoning, safety checks and AI-powered tutoring.&lt;/p&gt;

&lt;p&gt;The project uses a Render Static Site for the React frontend and a Render Web Service architecture for the FastAPI backend, configured through the repository's &lt;code&gt;render.yaml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So I ended up using cloud infrastructure to build an AI application whose most important instruction is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Stop looking at the screen. Go build something.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that feels pretty appropriate for Touch Grass.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
