<?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: KAUSHIKEE KARMAKAR</title>
    <description>The latest articles on DEV Community by KAUSHIKEE KARMAKAR (@piks_dev).</description>
    <link>https://dev.to/piks_dev</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%2F4154346%2F8af6ab7a-cde5-422b-8561-15c05cca02dd.png</url>
      <title>DEV Community: KAUSHIKEE KARMAKAR</title>
      <link>https://dev.to/piks_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/piks_dev"/>
    <language>en</language>
    <item>
      <title>Backyard Sweep: a ten-minute walk to find mosquito breeding spots, and what my own photos taught me</title>
      <dc:creator>KAUSHIKEE KARMAKAR</dc:creator>
      <pubDate>Sat, 10 Oct 2026 14:25:31 +0000</pubDate>
      <link>https://dev.to/piks_dev/backyard-sweep-a-ten-minute-walk-to-find-mosquito-breeding-spots-and-what-my-own-photos-taught-me-371a</link>
      <guid>https://dev.to/piks_dev/backyard-sweep-a-ten-minute-walk-to-find-mosquito-breeding-spots-and-what-my-own-photos-taught-me-371a</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;Mosquitoes breed in standing water, and the water usually sits in things we stop seeing: an old tire, a vase, a bottle, a coconut shell, a blocked drain. Health agencies advise emptying, scrubbing or covering them regularly. The hard part isn't knowing what to do. It's noticing the containers.&lt;/p&gt;

&lt;p&gt;Backyard Sweep turns that weekly check into a short walk. You go outside, photograph anything that could hold water, and an open-weight YOLOv8 detector draws a flag on each likely breeding spot, with a plain-language tip: tip it out, scrub it, bin it, cover it. On a phone, "Take a photo" opens the camera directly, so the screen is the shortest part of the experience.&lt;/p&gt;

&lt;p&gt;A few extras: a confidence slider that filters results without re-scanning, a "copy to-do list" button, and a small tracker where five photos count as a proper walk. There's also an optional "is it a good time for a lap?" card. It uses live weather from Open-Meteo, only when you tap it, and it is plain rules, not AI. There's a light mode and a "night forest" dark mode.&lt;/p&gt;

&lt;p&gt;It's for anyone who lives where dengue season is a worry and wants a free, quick way to check their own home. It is not a medical tool, and I make no health claims. Emptying containers is what reduces mosquitoes. This just makes that check feel like less of a chore.&lt;/p&gt;

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

&lt;p&gt;Live app (free server, so the first load after a quiet spell can take up to a minute): &lt;a href="https://mosquito-breeding-detector.onrender.com" rel="noopener noreferrer"&gt;https://mosquito-breeding-detector.onrender.com&lt;/a&gt;&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%2Fds67eykmvcbdty28zhq6.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%2Fds67eykmvcbdty28zhq6.png" alt="Backyard Sweep flagging containers in a photo from the dataset's test split" width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A photo from the VisText-Mosquito test split, not one of my own. My own photos are in the field test below.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&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/KK-Dev0" rel="noopener noreferrer"&gt;
        KK-Dev0
      &lt;/a&gt; / &lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector" rel="noopener noreferrer"&gt;
        Mosquito-Breeding-Detector
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Backyard Sweep: YOLOv8 detector for mosquito breeding sites (tires, vases, bottles, coconut shells, drain inlets), trained on VisText-Mosquito.
    &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;Backyard Sweep&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Turn the weekly "check for standing water" chore into a short, guided walk.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/eb80ae5bc09563456cf2ebd5703d4be9c9b72726abd3e5a517d5ce65d6c64ae6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4147504c2d2d332e302d326537643466"&gt;&lt;img src="https://camo.githubusercontent.com/eb80ae5bc09563456cf2ebd5703d4be9c9b72726abd3e5a517d5ce65d6c64ae6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4147504c2d2d332e302d326537643466" alt="License"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/eb968e355f577598c22b8573c8838bf2e0454aa0d6f02022de4df7b8b7523b9d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312d333737366162"&gt;&lt;img src="https://camo.githubusercontent.com/eb968e355f577598c22b8573c8838bf2e0454aa0d6f02022de4df7b8b7523b9d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312d333737366162" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/e4bef6d1aed3ef11e6c35e38e8b4c35bdce8252393acee088d1769392be0865a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466173744150492d303039363838"&gt;&lt;img src="https://camo.githubusercontent.com/e4bef6d1aed3ef11e6c35e38e8b4c35bdce8252393acee088d1769392be0865a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466173744150492d303039363838" alt="FastAPI"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9b4819b0aa87b8be0f42308c63135b1f47559f95c72338005b4598e46a176adb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6f64656c2d594f4c4f76386e2d666663383364"&gt;&lt;img src="https://camo.githubusercontent.com/9b4819b0aa87b8be0f42308c63135b1f47559f95c72338005b4598e46a176adb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6f64656c2d594f4c4f76386e2d666663383364" alt="YOLOv8n"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c767bc3ef3b17fe3fcc6fd294eb343d4d8138909942a466042157757233aad4a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362d386132626532"&gt;&lt;img src="https://camo.githubusercontent.com/c767bc3ef3b17fe3fcc6fd294eb343d4d8138909942a466042157757233aad4a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362d386132626532" alt="Hacktoberfest"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://mosquito-breeding-detector.onrender.com" rel="nofollow noopener noreferrer"&gt;https://mosquito-breeding-detector.onrender.com&lt;/a&gt;
(Free server: the first load after a quiet spell can take up to a minute.)&lt;/p&gt;
&lt;p&gt;Photograph anything around your home that could hold water. A YOLOv8 detector flags the containers that commonly breed mosquitoes, and each one comes with a plain-language tip for what to do about it.&lt;/p&gt;
&lt;p&gt;Built for the Hacktoberfest 2026 Open-Source AI Challenge, Week 1: &lt;strong&gt;Touch Grass&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector/demo.png"&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%2FKK-Dev0%2FMosquito-Breeding-Detector%2FHEAD%2Fdemo.png" alt="Backyard Sweep scanning a dataset test photo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Example result on a photo from the VisText-Mosquito test split (not one of my own photos). Photo: Faiyaz and Jisan, CC BY 4.0.&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#why-this-exists" rel="noopener noreferrer"&gt;Why this exists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#features" rel="noopener noreferrer"&gt;Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#how-it-works" rel="noopener noreferrer"&gt;How it works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#model-and-results" rel="noopener noreferrer"&gt;Model and results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#api" rel="noopener noreferrer"&gt;API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#why-open-source-mattered" rel="noopener noreferrer"&gt;Why open source mattered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#run-it-locally" rel="noopener noreferrer"&gt;Run it locally&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#deploy-on-render" rel="noopener noreferrer"&gt;Deploy on Render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#project-structure" rel="noopener noreferrer"&gt;Project structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#limits-and-responsible-use" rel="noopener noreferrer"&gt;Limits and responsible use&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#ideas-for-next-steps" rel="noopener noreferrer"&gt;Ideas for next steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/KK-Dev0/Mosquito-Breeding-Detector#credits-and-licence" rel="noopener noreferrer"&gt;Credits and licence&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why this exists&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Dengue is spread by &lt;em&gt;Aedes&lt;/em&gt; mosquitoes, which breed in small…&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/KK-Dev0/Mosquito-Breeding-Detector" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; YOLOv8n (open weights, Ultralytics), fine-tuned for 30 epochs at 640 px on a free Colab T4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data:&lt;/strong&gt; the Breeding Place Detection part of VisText-Mosquito (3,862 training images, 371 validation, 183 test, five classes: bottle, coconut shell, drain inlet, tire, vase), CC BY 4.0. Faiyaz, Md Faiyaz Abdullah Sayeedi; Jisan, Md Adnanul (2025), &lt;em&gt;VisText-Mosquito: A Multimodal Dataset for Mosquito Breeding Site Detection, Surface Segmentation, and Reasoning&lt;/em&gt;, Mendeley Data, V3, DOI 10.17632/rtsfh7jh7p.3&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App:&lt;/strong&gt; FastAPI serves the model and one plain HTML/CSS/JS page with no build step. It's hosted on a free Render web service. Photos are processed in memory and not saved.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results on the dataset's held-out test split (183 images, 424 objects):&lt;/strong&gt; mAP50 0.926, precision 0.906, recall 0.844.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;Test instances&lt;/th&gt;
&lt;th&gt;AP50&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bottle&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;0.884&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coconut shell&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;0.973&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drain inlet&lt;/td&gt;
&lt;td&gt;54&lt;/td&gt;
&lt;td&gt;0.956&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tire&lt;/td&gt;
&lt;td&gt;115&lt;/td&gt;
&lt;td&gt;0.893&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vase&lt;/td&gt;
&lt;td&gt;104&lt;/td&gt;
&lt;td&gt;0.923&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I also trained a longer run (80 epochs, stopped early at epoch 78). It did not beat the 30-epoch model on the test split (mAP50 0.914 vs 0.926, recall 0.832 vs 0.844), so I kept the original.&lt;/p&gt;

&lt;p&gt;That looks great, but the test photos come from the same collection as the training photos. So I took it outside.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Took It Outside, and It Struggled
&lt;/h2&gt;

&lt;p&gt;I scanned 5 of my own photos from around my home at the default 25% setting. This is a small sample, a sanity check and not a benchmark.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A pile with 2 clear tires and 1 half-hidden:&lt;/strong&gt; it found one tire, at 41%. In the same photo, a parked car was labelled "vase" at 87%, and a dark corner "coconut shell" at 70%. Both false alarms scored higher than the real tire, so no slider setting fixes it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A blue dustbin:&lt;/strong&gt; labelled "vase" at 83%. The label is wrong, but it is a real water-holding container, so the tip still fits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;About five paint buckets and tins:&lt;/strong&gt; one flagged at 25%, three at 10%, all called vases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A rooftop corner with two clay water pots, a plastic bucket and a water tank:&lt;/strong&gt; nothing, even at 10%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An open drain channel:&lt;/strong&gt; nothing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of what holds water around my home isn't in the model's five classes, and on photos unlike its training data, its confidence scores can't be trusted as a filter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trying a Different Open Model
&lt;/h2&gt;

&lt;p&gt;Since open models are swappable, I tried YOLO-World, an open-vocabulary detector, with no training and a word list I typed in ("clay water pot", "bucket", "water tank" and so on). I chose those words after seeing my photos, so treat this as a demo, not a fair test.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;My fine-tuned YOLOv8n&lt;/th&gt;
&lt;th&gt;YOLO-World (zero-shot)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mAP50 on the dataset test split&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.926&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.297&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tire recall&lt;/td&gt;
&lt;td&gt;0.80&lt;/td&gt;
&lt;td&gt;0.017&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drain-inlet AP50&lt;/td&gt;
&lt;td&gt;0.956&lt;/td&gt;
&lt;td&gt;0.000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Parameters when loaded&lt;/td&gt;
&lt;td&gt;about 3 million&lt;/td&gt;
&lt;td&gt;about 164 million (includes its text encoder)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Saved model file&lt;/td&gt;
&lt;td&gt;about 6 MB&lt;/td&gt;
&lt;td&gt;329 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;On my rooftop photo it found what my model missed: the big clay pot (89%), the bucket (77%) and the water tank. But it also called a parked car a "water tank" (62%), a bathroom basin a "water tank" (72%), and a real tire a "clay water pot" (56%). Its dataset scores used plain class names, and other wording would change them.&lt;/p&gt;

&lt;p&gt;So the two models are good at opposite things. I kept the small one, because it's far more accurate on what it knows. I also checked whether YOLO-World could run in the app: even with the word list baked in, the saved model is a 329 MB file and used about 1.7 GB of RAM in my Colab test, far over the free server's 512 MB, so I didn't deploy it. The next step I'd take is using YOLO-World to pre-label household containers, fixing the boxes by hand, and fine-tuning the small model on my own photos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I worked:&lt;/strong&gt; I built this with help from Claude in a chat. It helped write the FastAPI app and the web page, and drafted the README and this post. I ran the training in Colab, tested the app on my own photos, found the failures, and decided what to keep, including keeping the original model over the longer-trained one.&lt;/p&gt;

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

&lt;p&gt;I never tested a closed API, so I can't claim open beat it on accuracy. What open weights let me do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tune a tiny model for one job.&lt;/strong&gt; A 3-million-parameter detector trained on five container types runs on a free CPU instance, with no per-photo fee.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swap models in minutes.&lt;/strong&gt; Testing YOLO-World against my own model took one Colab cell. Because both are open, I could score them on the same test split and see that zero-shot was far worse on the trained classes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep photos on a server I control.&lt;/strong&gt; Photos of someone's home go to my own server, not a third-party AI service. You could also run it on your own laptop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check everything.&lt;/strong&gt; Code, weights, dataset and licenses are public, so every number above can be reproduced.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The trade-offs: Ultralytics YOLO is AGPL-3.0, so the project is AGPL-3.0 too. And the free server sleeps when idle.&lt;/p&gt;

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

&lt;p&gt;Best Use of Render: the FastAPI server that runs the model is hosted on Render's free web service.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Credits: Open-Meteo for the optional weather card.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Stuck Doctor</title>
      <dc:creator>KAUSHIKEE KARMAKAR</dc:creator>
      <pubDate>Sun, 04 Oct 2026 17:33:38 +0000</pubDate>
      <link>https://dev.to/piks_dev/stuck-doctor-362f</link>
      <guid>https://dev.to/piks_dev/stuck-doctor-362f</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;p&gt;I built Stuck Doctor for my friend Piku, who hesitates a lot before going to the doctor whenever she faces a health issue.&lt;/p&gt;

&lt;p&gt;Watching a friend put it off made me realize that waiting isn't laziness. It's usually fear, worry about money, awkwardness, not knowing where to start, or not knowing what to say. So instead of trying to replace a doctor, Stuck Doctor figures out why someone is stuck and gives them &lt;strong&gt;one tiny first step&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speak or type in English, Hindi or Bengali, with read-aloud answers&lt;/li&gt;
&lt;li&gt;Works out why you're avoiding care and gives you a 2-minute first move&lt;/li&gt;
&lt;li&gt;Lets you rehearse booking a call with Meera, an AI clinic receptionist&lt;/li&gt;
&lt;li&gt;Family and friend mode: gentle messages to encourage someone you love to go&lt;/li&gt;
&lt;li&gt;Report decoder: checks values against the ranges printed on your report&lt;/li&gt;
&lt;li&gt;Medicine schedule and reminders&lt;/li&gt;
&lt;li&gt;After-visit notes: a clean summary and to-do list from what the doctor said&lt;/li&gt;
&lt;li&gt;A "show the doctor" card for people too shy to say it out loud&lt;/li&gt;
&lt;li&gt;Free-care finder (eSanjeevani, government hospitals, Jan Aushadhi, Ayushman Bharat)&lt;/li&gt;
&lt;li&gt;An always-available SOS button (108, 112, 104, live location on WhatsApp)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It deliberately does &lt;strong&gt;not&lt;/strong&gt; diagnose, suggest medicines or doses, or read scans. It's a nudge, not a doctor.&lt;/p&gt;

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

&lt;p&gt;Live app: &lt;a href="https://kk-dev0.github.io/Stuck_Doctor/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://kk-dev0.github.io/Stuck_Doctor/" rel="noopener noreferrer"&gt;https://kk-dev0.github.io/Stuck_Doctor/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(The AI backend may take a short while to wake up on the first visit.)&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/KK-Dev0/Stuck_Doctor" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/KK-Dev0/Stuck_Doctor" rel="noopener noreferrer"&gt;https://github.com/KK-Dev0/Stuck_Doctor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MIT licensed.&lt;/p&gt;

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

&lt;p&gt;The AI engine is &lt;strong&gt;Gemma&lt;/strong&gt;, Google's open-weight model family, run with &lt;strong&gt;Ollama&lt;/strong&gt;. The backend uses &lt;strong&gt;Gradio&lt;/strong&gt; and is hosted on &lt;strong&gt;Render&lt;/strong&gt;, with a static front end on GitHub Pages. I built it in one day at Hacktoberfest 2026.&lt;/p&gt;

&lt;p&gt;Gemma handles the language-heavy parts: understanding why someone is avoiding care, writing the first-step suggestion, playing Meera in the call rehearsal, writing messages for friends and family, explaining report values, and summarizing the doctor's instructions. It also lets the app respond in English, Hindi and Bengali.&lt;/p&gt;

&lt;p&gt;I added safety limits on purpose: the app never diagnoses or recommends medicines, summaries use only what the user wrote, report values are compared with the ranges printed on the report, and there's an optional "double-check" mode that reads a photo a second time. Emergency help is always one tap away. AI assistance was used in building this project, which is also disclosed on the site.&lt;/p&gt;

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

&lt;p&gt;A health tool for people who are already worried about money and access shouldn't depend on a paid API that could change its price or rules.&lt;/p&gt;

&lt;p&gt;An open-weight model made it possible to build something this wide in a single day, support Indian languages, and keep the code open under the MIT license so others can fork it, translate it or improve its safety. It fits the theme perfectly: AI belongs to everyone, including the friend who has been too nervous, too busy or too broke to see a doctor.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Gemma&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Single Participation
&lt;/h2&gt;

&lt;p&gt;-Kaushikee Karmakar &lt;a href="https://dev.to/piks_dev"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
