<?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: Naomi Pereira</title>
    <description>The latest articles on DEV Community by Naomi Pereira (@naomiiap).</description>
    <link>https://dev.to/naomiiap</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%2F3707497%2F0cd09341-188f-461d-b3b2-d5b29fe8a1e2.jpg</url>
      <title>DEV Community: Naomi Pereira</title>
      <link>https://dev.to/naomiiap</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naomiiap"/>
    <language>en</language>
    <item>
      <title>It scored 100%. Its note scored 0%</title>
      <dc:creator>Naomi Pereira</dc:creator>
      <pubDate>Fri, 09 Oct 2026 20:31:44 +0000</pubDate>
      <link>https://dev.to/naomiiap/it-scored-100-its-note-scored-0-2moi</link>
      <guid>https://dev.to/naomiiap/it-scored-100-its-note-scored-0-2moi</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kaggle-2026-09-23"&gt;Kaggle Benchmarking Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I kept wiping the chat.&lt;/p&gt;

&lt;p&gt;A model sees a hidden rule through examples. Four rounds, six items each, with the right answers after every round. Then it has 120 words. Then the conversation is deleted. A fresh reader gets the note and a set of questions it has never seen.&lt;/p&gt;

&lt;p&gt;Each dot below is one of those episodes. Left to right: how the writer scored while the examples were still on screen. Bottom to top: how the fresh reader scored from the note alone. The orange dots are the ones that bothered me. The writer was at least 90 percent right. The reader, holding only the note, landed at 50 percent or worse.&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%2Fje9bn362y1ldkmq2xwoq.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%2Fje9bn362y1ldkmq2xwoq.png" alt=" " width="800" height="663"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rules are made up. Strings, numbers, a tiny grammar, categories. Three difficulties each, one episode per cell, same grid for every model. The generator holds the answer key, so a model never grades another model.&lt;/p&gt;

&lt;p&gt;Under every note I also ran two controls on the same questions. No note at all. And a perfect note, written from the true rule, capped at the same 120 words. Teaching Efficiency is the share of that gap the model's own note managed to close. A 1.0 means the note did what the truth did. A 0 means the reader would have done as well with a blank page. Under 0, the note pushed the reader the wrong way. A run that died halfway is left blank. It is not a zero.&lt;/p&gt;

&lt;p&gt;For that teaching score the fresh reader is always Gemini 3.1 Flash-Lite. I wanted the note to work for a small model. A note that only its author can use is just a diary.&lt;/p&gt;

&lt;p&gt;After that I flipped the setup. Every model read the whole pile, 320 notes, plus the perfect note and the blank, and answered the same questions. That score is Reading Efficiency. I only compare readers when the perfect note actually works for them.&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%2F7936xpkaf8afgw2mnxv1.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%2F7936xpkaf8afgw2mnxv1.png" alt=" " width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Models Tested
&lt;/h2&gt;

&lt;p&gt;Twenty-five models finished the teaching run. I wanted three kinds of company in the same table.&lt;/p&gt;

&lt;p&gt;Neighbours. Sonnet 4.5 beside Sonnet 5. Opus 4.8 beside Opus 5. Gemini from 2.5 Flash up through the 3.x Flash line to Gemini 3.1 Pro.&lt;/p&gt;

&lt;p&gt;An open model in with the hosted ones. Gemma 4 31B sits on the same chart as GPT-6 Astra and Gemini 3.5 Flash.&lt;/p&gt;

&lt;p&gt;And the small ones that usually get left out of a write-up. GPT-5.4 nano, GPT-5.4 mini, both Flash-Lites, Gemma 4 26B.&lt;/p&gt;

&lt;p&gt;Two names are missing, and I am not filling them in. gpt-oss-120b never got through a run. The provider was overloaded. Grok 4.20 non-reasoning rejected the reasoning setting everyone else used. They stay off the chart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Findings
&lt;/h2&gt;

&lt;p&gt;This is the teaching board. The bar is how much of a perfect note the model's own note was worth. Gemini 3.5 Flash is at the top, 1.02. Sonnet 5 is one of the short ones, 0.75, under several models that cost less and learned less.&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%2Fefch8iuken283c2xzqbl.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%2Fefch8iuken283c2xzqbl.png" alt=" " width="800" height="1020"&gt;&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%2Fmokxzj9c6lkvcz1rqrbk.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%2Fmokxzj9c6lkvcz1rqrbk.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gemma 4 31B reached 99 for $0.15. Gemini 3.5 Flash is the only model that spent more and still lifted the score, to 102 at $0.78. GPT-6 Astra spent about a dollar to land where Gemma already was.&lt;/p&gt;

&lt;h3&gt;
  
  
  The note failed its own examples
&lt;/h3&gt;

&lt;p&gt;Sonnet 5 learned the set at 0.92 and taught it at 0.75. On one number rule the truth is &lt;code&gt;4x − 5&lt;/code&gt;. The last practice rounds were perfect. Then it wrote that the rule was &lt;code&gt;4x − 1&lt;/code&gt;, listed &lt;code&gt;57→223&lt;/code&gt;, &lt;code&gt;1→−1&lt;/code&gt;, and &lt;code&gt;25→95&lt;/code&gt;, and said the examples match. &lt;code&gt;4×57 − 1&lt;/code&gt; is 227, not 223. The fixed reader scored 0 out of 12. So did a fresh Sonnet 5, handed only that note. The rule was in the chat. It did not survive the paragraph.&lt;/p&gt;

&lt;p&gt;Opus 5 went the other way. It learned at 0.78, the weak end of the frontier, and its notes scored 0.99. On both easy string rules the last practice round was 0 for 6. The note still got the small reader to 12 for 12. One note said to reverse the word. The other said where to move the first letter. A fresh copy of Opus, reading its own note, came out at 1.04 against the perfect note.&lt;/p&gt;

&lt;p&gt;Ten episodes in the full set look like Sonnet's. The writer finishes practice at 90 percent or better. The reader, with the note, is at 50 percent or worse. Nano learned to reverse a word at 100 percent and described an interleave. The reader scored 0, below the blank-page score. A mini grammar note announced the wrong word order, then used the right order in its own example. The reader scored 0. DeepSeek-R1 learned a string rule cold. The small reader got 46 percent from the note. DeepSeek's own fresh copy got 100 percent from the same page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some notes are still thinking
&lt;/h3&gt;

&lt;p&gt;Ten notes still have the scratch work in them. "Wait." "Actually." "Let's look." Those ten teach at 0.47. The other 288 teach at 0.91. On the four where the writer had already learned the rule, the scratch-work notes teach at 0.33. The notes that just say the rule teach at 0.97.&lt;/p&gt;

&lt;p&gt;Flash-Lite had a reversal at 92 percent, then talked itself into a vowel swap. The reader scored 8 percent. With a blank page that same reader scored 31 percent.&lt;/p&gt;

&lt;p&gt;Extra examples did little. Notes with a pair of worked examples taught at 0.90. Notes without them taught at 0.88. Shorter was fine. Gemma 4 31B averaged about 44 words and taught at 0.99. Sonnet 4.5 averaged about 94 and taught at 0.92. Sonnet 5 averaged about 65 and taught at 0.75.&lt;/p&gt;

&lt;p&gt;Three notes landed more than ten points under the blank page. That is rare. The usual miss is a sure sentence parked next to examples that disagree with it.&lt;/p&gt;

&lt;h3&gt;
  
  
  A good note, and the readers bunch up
&lt;/h3&gt;

&lt;p&gt;Each row is a writer. Each column is a reader who never saw the lesson, only the note. The last two rows are the perfect note and the blank page. Opus 5's column is the washed-out one. Those are empty replies.&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%2Fwibprkkw6fv9bur6oo5q.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%2Fwibprkkw6fv9bur6oo5q.png" alt=" " width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Where the note is solid, the readers land in a tight band. Opus 4.8, Grok 4.20, and GPT-5.5 each got about 93 percent of the model-written notes. Gemini 3.6 Flash and Gemini 3.1 Pro got about 92 and 93. The perfect note was essentially 100 percent for them. Gemini 3.5 Flash, best teacher in the whole run at 1.02, read other people's notes at about 92 percent. Reading Efficiency 0.90. Ordinary.&lt;/p&gt;

&lt;p&gt;Gemma 4 31B taught at 0.99 and the run cost $0.15. Astra taught at 1.01 and the run cost $0.88. Gemma's notes were the short ones. As a reader it scored 91 percent on everyone else's notes.&lt;/p&gt;

&lt;p&gt;Sonnet 5, author of the &lt;code&gt;4x − 1&lt;/code&gt; note, is better at other people's notes than at its own. Its notes, read by itself, scored 0.75. Opus 5's notes, read by Sonnet 5, scored 0.99.&lt;/p&gt;

&lt;h3&gt;
  
  
  The ratio will crown the wrong reader
&lt;/h3&gt;

&lt;p&gt;Green is the perfect note. Blue is whatever the model actually wrote. Orange is a blank page. The blue line is only a fair grade where the green line is still up near 1.&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%2Fyykcrttuyry9urnsd5qr.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%2Fyykcrttuyry9urnsd5qr.png" alt=" " width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gemma 4 26B's Reading Efficiency is 0.96. That looks like the top of the table. On the notes themselves it scored 80 percent. The perfect note only got it to 83 percent. With nothing, it scored 0. The ratio is large because the bottom of the fraction is empty. Qwen3 Next 80B rhymes with it: ratio 0.95, notes at 80 percent, perfect note at 83 percent.&lt;/p&gt;

&lt;p&gt;Opus 5, reading, is a different kind of wreck. Empty replies on 9 of 12 perfect notes, and on 129 of 296 model notes. Fifty percent on the notes. Twenty-two percent on the perfect note. A modest numerator over a broken ceiling comes out above 2. I am not putting that on a leaderboard. An earlier probe hit the same silence when one sentence about a hidden rule was in the prompt.&lt;/p&gt;

&lt;p&gt;Nano's 0.93 is a smaller version of the Gemma problem. It scores about 6 percent with no note, so the ratio looks sharp. On the notes it is at 88 percent, middle of the pack.&lt;/p&gt;

&lt;p&gt;Flash-Lite is what a low score looks like when the perfect note still works. Eighty-five percent on the notes, 16 percent with nothing, 99 percent on the perfect note, Reading Efficiency 0.83. That 0.83 can be compared with the others. Gemma's 0.96 needs the three raw rates sitting next to it, or it will be misread.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I would keep
&lt;/h3&gt;

&lt;p&gt;Print the blank-page score and the perfect-note score beside the ratio. A teaching score of 1.0 means the note matched the truth. A reading score of 0.96 can mean the reader was lost with nothing and only middling with a perfect note.&lt;/p&gt;

&lt;p&gt;Grade the note with a stranger. DeepSeek's own fresh copy scored 100 percent on a note that the small reader scored 46 percent on, after DeepSeek had learned the rule completely.&lt;/p&gt;

&lt;p&gt;Count the blank page. Three notes did worse than no note. They added a rule that was false.&lt;/p&gt;

&lt;p&gt;Leave empty replies and dead runs out of the average. Opus 5's blanks inflated a ratio. gpt-oss never finished. Those two facts do not belong in the same cell.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I would measure next
&lt;/h3&gt;

&lt;p&gt;Hand the note to a second model and make that model write the next note. Same rules. Count how many hops the rule lasts. Sonnet's "the examples match," written over examples that do not match, is the sentence I want a model to catch before it passes the page on.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Benchmark
&lt;/h2&gt;

&lt;p&gt;Teaching and reading are separate tasks. Teaching Efficiency is the first number. Reading Efficiency is the second, and a reader whose perfect note failed is marked not comparable. Twenty-five models have a teaching score. Twenty-four finished reading. Sonnet 4.5 has a teaching score. Its reading run was still going when I wrote this. gpt-oss-120b and Grok 4.20 non-reasoning are not in the scored rows.&lt;/p&gt;

&lt;p&gt;Teaching: &lt;a href="https://www.kaggle.com/benchmarks/tasks/naomiandreapereira/amnesiac-teach" rel="noopener noreferrer"&gt;https://www.kaggle.com/benchmarks/tasks/naomiandreapereira/amnesiac-teach&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reading: &lt;a href="https://www.kaggle.com/benchmarks/tasks/naomiandreapereira/amnesiac-read" rel="noopener noreferrer"&gt;https://www.kaggle.com/benchmarks/tasks/naomiandreapereira/amnesiac-read&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>kagglechallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Passion Brought Me to Open Source. PatchQuest Helps Others Get Started.</title>
      <dc:creator>Naomi Pereira</dc:creator>
      <pubDate>Sun, 12 Jul 2026 21:36:17 +0000</pubDate>
      <link>https://dev.to/naomiiap/patchquest-turning-passion-into-open-source-contributions-2adm</link>
      <guid>https://dev.to/naomiiap/patchquest-turning-passion-into-open-source-contributions-2adm</guid>
      <description>&lt;h1&gt;
  
  
  PatchQuest: Turning Passion into Open Source Contributions
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a submission for *&lt;/em&gt;&lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;*&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;When I saw this weekend's theme, &lt;strong&gt;Passion&lt;/strong&gt;, my mind immediately went to open source.&lt;/p&gt;

&lt;p&gt;Every day, thousands of developers star repositories, bookmark issues, and tell themselves they'll contribute "one day." But that first contribution can feel overwhelming. You have to understand an unfamiliar codebase, pick up new concepts, and somehow know where to begin.&lt;/p&gt;

&lt;p&gt;I wanted to build something that makes that first step feel a little less intimidating.&lt;/p&gt;

&lt;p&gt;That's how &lt;strong&gt;PatchQuest&lt;/strong&gt; came to life.&lt;br&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%2F7i2lc7itoxl1bk5ox0es.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%2F7i2lc7itoxl1bk5ox0es.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;br&gt;
PatchQuest transforms real GitHub issues into personalized learning quests. Instead of simply giving you the answer, it helps you understand the problem, learn the concepts behind it, and build the confidence to contribute.&lt;/p&gt;
&lt;h3&gt;
  
  
  The workflow
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Start with any GitHub issue.&lt;/li&gt;
&lt;li&gt;PatchQuest analyzes the repository using &lt;strong&gt;Google Gemini&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Receive a personalized learning quest based on the skills you'll need.&lt;/li&gt;
&lt;li&gt;Learn the concepts before diving into the code.&lt;/li&gt;
&lt;li&gt;Pair program with a live AI mentor using voice and screen sharing, powered by &lt;strong&gt;Google Gemini&lt;/strong&gt; and &lt;strong&gt;ElevenLabs&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Generate a PR Readiness Report before opening your pull request.&lt;/li&gt;
&lt;li&gt;Keep learning on the go with the &lt;strong&gt;Wear OS companion app&lt;/strong&gt;, where you can track your progress, active quests, reminders, and streaks.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag-slides ltag-slides--carousel"&gt;
  &lt;div class="ltag-slides__track"&gt;
    &lt;div class="ltag-slide"&gt;
      &lt;img class="ltag-slide__image" 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%2Fmdd9dtmvw79up84tcvh0.png" alt="" width="800" height="420"&gt;
      &lt;div class="ltag-slide__title"&gt;Personalized Learning Quest&lt;/div&gt;
&lt;/div&gt;


&lt;div class="ltag-slide"&gt;
      &lt;img class="ltag-slide__image" 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%2Fafs1md9bye7q1667w4o6.png" alt="" width="800" height="492"&gt;
      &lt;div class="ltag-slide__title"&gt;Gemini Live Pair Programmer&lt;/div&gt;
&lt;/div&gt;


&lt;div class="ltag-slide"&gt;
      &lt;img class="ltag-slide__image" 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%2Fz3f3fxmx60at1xaa26jq.png" alt="" width="800" height="386"&gt;
      &lt;div class="ltag-slide__title"&gt;PR Readiness Report&lt;/div&gt;
&lt;/div&gt;



  &lt;/div&gt;
    ‹
    ›
    &lt;div class="ltag-slides__dots"&gt;&lt;/div&gt;
    
      (function() {
        var container = document.currentScript.closest('.ltag-slides--carousel');
        var track = container.querySelector('.ltag-slides__track');
        var slides = track.querySelectorAll('.ltag-slide');
        var prevBtn = container.querySelector('.ltag-slides__nav--prev');
        var nextBtn = container.querySelector('.ltag-slides__nav--next');
        var dotsContainer = container.querySelector('.ltag-slides__dots');
        var current = 0;
        var total = slides.length;

        for (var i = 0; i &amp;lt; total; i++) {
          var dot = document.createElement('button');
          dot.className = 'ltag-slides__dot' + (i === 0 ? ' ltag-slides__dot--active' : '');
          dot.setAttribute('aria-label', 'Go to slide ' + (i + 1));
          dot.dataset.index = i;
          dot.addEventListener('click', function() { goTo(parseInt(this.dataset.index)); });
          dotsContainer.appendChild(dot);
        }

        function goTo(index) {
          current = ((index % total) + total) % total;
          track.style.transform = 'translateX(-' + (current * 100) + '%)';
          var dots = dotsContainer.querySelectorAll('.ltag-slides__dot');
          for (var i = 0; i &amp;lt; dots.length; i++) {
            dots[i].classList.toggle('ltag-slides__dot--active', i === current);
          }
        }

        prevBtn.addEventListener('click', function() { goTo(current - 1); });
        nextBtn.addEventListener('click', function() { goTo(current + 1); });
      })();
    
&lt;/div&gt;


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

&lt;p&gt;You can try PatchQuest here:&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Application&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://patchquest.vercel.app" rel="noopener noreferrer"&gt;https://patchquest.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or watch the demo below.&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/Rqb20SyM1pM"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Developer logs are intentionally visible during the demo to make the AI pipeline easier to follow. The live application showcases the polished production UI without those logs.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;The complete source code is available on GitHub.&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/NaomiiAP" rel="noopener noreferrer"&gt;
        NaomiiAP
      &lt;/a&gt; / &lt;a href="https://github.com/NaomiiAP/patchquest" rel="noopener noreferrer"&gt;
        patchquest
      &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;🐉 PatchQuest&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your AI pair programmer for open source. Learn, build, and contribute with confidence.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Turn GitHub issues into personalized learning quests powered by Google Gemini
Built for the &lt;a href="https://dev.to/challenges/weekend" rel="nofollow"&gt;DEV Weekend Challenge: Passion Edition&lt;/a&gt; using Google Gemini, Gemini Live, ElevenLabs, and Wear OS.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://patchquest.vercel.app" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c31a901ba5b0b2c16c96ac760b038c490bbb506ec6302cecca64ceaf8bf6f61e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6976652d44656d6f2d3733343245323f7374796c653d666f722d7468652d6261646765" alt="Live Demo"&gt;&lt;/a&gt;
&lt;a href="https://github.com/NaomiiAP/patchquest/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/76f75f703cf817f0dd60ff16e31e54034925bdaa50c554dffc5323b6fb1300ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f4e616f6d696941502f706174636871756573743f7374796c653d666f722d7468652d626164676526636f6c6f723d464634353341" alt="GitHub Stars"&gt;&lt;/a&gt;
&lt;a href="https://github.com/NaomiiAP/patchquest/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f77c46cfd34df0f2783a9d96cc43ac41093d5ede3f6ff47dac0b1cfc7bf3a2c7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d3232633535653f7374796c653d666f722d7468652d6261646765" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎥 Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;


&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🌍 &lt;strong&gt;Live Website&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;a href="https://patchquest.vercel.app" rel="nofollow noopener noreferrer"&gt;patchquest.vercel.app&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📖 &lt;strong&gt;DEV Post&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dev.to/naomiiap/patchquest" rel="nofollow"&gt;dev.to/naomiiap/patchquest&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🔥 What is PatchQuest?&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Open source is hard to break into. You find a promising GitHub issue, read it once, and immediately feel lost — &lt;em&gt;"What even is a race condition? What's a mutex? Where do I start?"&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;PatchQuest fixes that. Paste a GitHub issue URL and watch it transform into a &lt;strong&gt;structured learning quest&lt;/strong&gt; — skill gaps identified by Gemini AI, curated resources, a step-by-step solution outline, and a voice tutor to walk you through it all. It even includes a &lt;strong&gt;Wear OS companion app&lt;/strong&gt; to keep your learning journey with you wherever you go.&lt;/p&gt;
&lt;p&gt;This…&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/NaomiiAP/patchquest" 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;p&gt;I wanted PatchQuest to feel like more than another AI coding assistant. The goal was to build something that helps developers learn while contributing to open source instead of simply generating answers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google Gemini
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Google Gemini&lt;/strong&gt; powers the core experience. It analyzes GitHub issues, understands repositories, identifies the skills required for each task, creates personalized learning quests, powers the live AI pair programmer through voice and screen sharing, and generates PR Readiness Reports before a pull request is submitted.&lt;/p&gt;

&lt;h3&gt;
  
  
  ElevenLabs
&lt;/h3&gt;

&lt;p&gt;For the live mentoring experience, I integrated &lt;strong&gt;ElevenLabs&lt;/strong&gt; to provide natural voice interactions. I wanted conversations to feel less like talking to a chatbot and more like pair programming with another developer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wear OS Companion
&lt;/h3&gt;

&lt;p&gt;One feature I especially enjoyed building was the &lt;strong&gt;Wear OS companion app&lt;/strong&gt;. Learning doesn't stop when you step away from your computer, so the watch lets you keep track of your active quest, progress, reminders, and streaks without needing to open the web app every time.&lt;br&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%2Fnoz61y7taam0ms7mpzqg.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%2Fnoz61y7taam0ms7mpzqg.png" alt="WearOs Watch Companion" width="705" height="1116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The biggest challenge wasn't building each feature individually. It was making repository analysis, learning quests, live mentoring, PR review, and the smartwatch companion all feel like one seamless experience.&lt;/p&gt;

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

&lt;p&gt;I'm submitting PatchQuest for the following prize categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 Best Use of Google AI
&lt;/h3&gt;

&lt;p&gt;Google Gemini powers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository understanding&lt;/li&gt;
&lt;li&gt;GitHub issue analysis&lt;/li&gt;
&lt;li&gt;Skill mapping&lt;/li&gt;
&lt;li&gt;Personalized learning quests&lt;/li&gt;
&lt;li&gt;Live AI pair programmer with voice and screen sharing&lt;/li&gt;
&lt;li&gt;PR Readiness Reports&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎙️ Best Use of ElevenLabs
&lt;/h3&gt;

&lt;p&gt;ElevenLabs powers the live AI mentor's voice, making mentoring sessions feel natural and conversational while pair programming.&lt;/p&gt;

&lt;p&gt;Thanks for taking the time to check out PatchQuest! I'd genuinely love to hear your thoughts and feedback.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CareSync: A Local Health Memory Agent for Family Caregivers</title>
      <dc:creator>Naomi Pereira</dc:creator>
      <pubDate>Sun, 31 May 2026 18:20:02 +0000</pubDate>
      <link>https://dev.to/naomiiap/caresync-a-local-health-memory-agent-for-family-caregivers-337c</link>
      <guid>https://dev.to/naomiiap/caresync-a-local-health-memory-agent-for-family-caregivers-337c</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the *&lt;/em&gt;&lt;a href="https://dev.to/challenges/hermes-agent-2026-05-15"&gt;Hermes Agent Challenge&lt;/a&gt;*&lt;em&gt;: Build With Hermes Agent&lt;/em&gt;&lt;br&gt;
(had to edit as code block wasnt rendered properly)&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;CareSync is a CLI-based caregiving assistant that helps me keep track of everything related to caring for my grandmother.&lt;/p&gt;

&lt;p&gt;I'm Naomi, a 21-year-old engineering student. Between classes, assignments, and part-time work, I also help care for my grandma, Kamala. Over time, I realized that caregiving is surprisingly difficult to manage.&lt;/p&gt;

&lt;p&gt;A symptom might be mentioned over breakfast. A medication change could happen after a doctor visit. A few weeks later, someone asks, "Has this happened before?" and suddenly I'm digging through WhatsApp messages, notes, and my memory trying to find the answer.&lt;/p&gt;

&lt;p&gt;I built CareSync to solve that problem.&lt;/p&gt;

&lt;p&gt;CareSync acts as a personal caregiving command center. It stores observations, symptoms, medications, reports, and important events in a local SQLite database, making them searchable and easy to organize.&lt;/p&gt;

&lt;p&gt;For example, I can quickly log a symptom:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./caresync add &lt;span class="s2"&gt;"Kamala felt dizzy after breakfast"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Search past events:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./caresync search &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--query&lt;/span&gt; dizziness
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate a doctor-ready summary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./caresync brief &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--days&lt;/span&gt; 14
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or create handoff notes when another family member takes over care:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./caresync handoff &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--for-person&lt;/span&gt; Aunt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CareSync isn't just a record-keeping tool. It helps answer questions, identify recurring patterns, prepare for appointments, and keep family members aligned.&lt;/p&gt;

&lt;p&gt;Key capabilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick logging of symptoms, meals, medications, vitals, and observations&lt;/li&gt;
&lt;li&gt;Searching historical events and recurring symptom patterns&lt;/li&gt;
&lt;li&gt;Medication tracking and report imports&lt;/li&gt;
&lt;li&gt;Appointment briefs and doctor question generation&lt;/li&gt;
&lt;li&gt;Caregiver handoff summaries&lt;/li&gt;
&lt;li&gt;Audit logs for transparency&lt;/li&gt;
&lt;li&gt;Natural-language workflows powered by Hermes Agent&lt;/li&gt;
&lt;li&gt;Local-first storage using SQLite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CareSync does not provide medical advice. Its goal is to help caregivers remember less, stay organized, and feel more prepared.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/_8VH1e4pCbM" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The demo follows a typical caregiving workflow using CareSync.&lt;/p&gt;

&lt;p&gt;It starts with logging a new symptom after Grandma mentions feeling dizzy. From there, CareSync is used to search past observations, helping answer an important question before a doctor visit: &lt;em&gt;"Has this happened before?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Next, the demo shows how CareSync can generate suggested questions for the doctor and create a concise appointment summary based on recent observations.&lt;/p&gt;

&lt;p&gt;The demo also highlights Hermes Agent's natural-language capabilities. Instead of manually searching records, I can ask questions like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Has Grandma been dizzy before?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hermes searches the caregiving history, identifies relevant events, and returns a summarized answer with supporting context.&lt;/p&gt;

&lt;p&gt;Finally, the demo demonstrates transparency through the audit log, showing how actions performed by the agent can be reviewed and traced.&lt;/p&gt;

&lt;p&gt;Example commands shown in the demo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./caresync add &lt;span class="s2"&gt;"Kamala felt dizzy after breakfast"&lt;/span&gt;
./caresync search &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--query&lt;/span&gt; dizziness
./caresync timeline &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala
./caresync questions &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala
./caresync brief &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--days&lt;/span&gt; 14
./caresync handoff &lt;span class="nt"&gt;--person&lt;/span&gt; Kamala &lt;span class="nt"&gt;--for-person&lt;/span&gt; Aunt
./caresync chat &lt;span class="s2"&gt;"has grandma been dizzy before?"&lt;/span&gt;
./caresync audit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Repository: &lt;a href="https://github.com/Byte-Sized-Brain/caresync" rel="noopener noreferrer"&gt;https://github.com/Byte-Sized-Brain/caresync&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Fxi243msl9jttmpr218oe.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.amazonaws.com%2Fuploads%2Farticles%2Fxi243msl9jttmpr218oe.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Tech Stack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Core Technologies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hermes Agent&lt;/strong&gt; – Natural-language orchestration and skill execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python 3.12&lt;/strong&gt; – Core application and CLI implementation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; – Local-first storage for observations, medications, reports, and audit logs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;agentskills.io&lt;/strong&gt; – Custom Hermes skill definitions and execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Terminal-based CLI&lt;/strong&gt; – Primary interface for caregivers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nous Portal&lt;/strong&gt; – Development, testing, and agent deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Hermes Skills
&lt;/h3&gt;

&lt;p&gt;CareSync is powered by seven custom Hermes skills:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;log-health-event&lt;/strong&gt; – Record symptoms, meals, vitals, medications, and observations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;symptom-search&lt;/strong&gt; – Search historical records and identify recurring patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;medication-tracker&lt;/strong&gt; – Manage medications, doses, and prescriptions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;import-report&lt;/strong&gt; – Import reports and prescription information into memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;appointment-brief&lt;/strong&gt; – Generate summaries for upcoming doctor visits&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;handoff-notes&lt;/strong&gt; – Create caregiver transition summaries for family members&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;doctor-questions&lt;/strong&gt; – Suggest follow-up questions based on observations and reports&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Storage Philosophy
&lt;/h3&gt;

&lt;p&gt;CareSync is designed to be &lt;strong&gt;local-first&lt;/strong&gt;. All caregiving information is stored in a local SQLite database rather than a cloud service, giving caregivers full ownership of their data while enabling long-term searchable memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Hermes Agent
&lt;/h2&gt;

&lt;p&gt;CareSync started as a collection of CLI tools for managing caregiving information. While the commands are useful, caregiving often involves answering questions rather than running specific commands.&lt;/p&gt;

&lt;p&gt;That's where Hermes Agent comes in.&lt;/p&gt;

&lt;p&gt;Hermes acts as an orchestration layer on top of CareSync's tools and memory. Instead of remembering which command to run, I can describe what I need in natural language and Hermes determines the appropriate actions.&lt;/p&gt;

&lt;p&gt;For example, I can ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Has Grandma been dizzy before?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hermes searches historical observations, reviews matching events, identifies patterns, and returns a concise answer based on information stored in CareSync.&lt;/p&gt;

&lt;p&gt;The biggest advantage came from multi-step workflows.&lt;/p&gt;

&lt;p&gt;Consider the request:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Prepare me for tomorrow's doctor appointment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of manually reviewing notes and running several commands, Hermes can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search recent symptoms and observations&lt;/li&gt;
&lt;li&gt;Review medication history&lt;/li&gt;
&lt;li&gt;Generate suggested doctor questions&lt;/li&gt;
&lt;li&gt;Create an appointment summary&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All from a single request.&lt;/p&gt;

&lt;p&gt;Hermes is also useful for family coordination. When another family member takes over caregiving responsibilities, the agent can gather recent observations, medication updates, and upcoming appointments to generate a clear handoff summary.&lt;/p&gt;

&lt;p&gt;The terminal tool was particularly valuable because Hermes performs real actions against the CareSync CLI rather than generating responses from memory alone. Every action interacts with actual data stored in SQLite and is recorded in an audit log.&lt;/p&gt;

&lt;p&gt;This makes CareSync feel less like a collection of commands and more like an assistant that understands caregiving workflows. Hermes handles the reasoning and orchestration, while CareSync provides the tools and long-term memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;I built CareSync because I experienced this problem myself.&lt;/p&gt;

&lt;p&gt;As a student, I help care for my grandmother, Kamala. Important details like symptoms, medication changes, and doctor recommendations were often spread across messages, notes, and memory.&lt;/p&gt;

&lt;p&gt;CareSync gives me one place to record, search, and organize that information, making it easier to prepare for appointments and keep family members informed.&lt;/p&gt;

&lt;p&gt;Its goal is simple: reduce the mental load of caregiving and help families stay organized.&lt;/p&gt;

</description>
      <category>hermesagentchallenge</category>
      <category>devchallenge</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
