<?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: Yann VR</title>
    <description>The latest articles on DEV Community by Yann VR (@yannvr).</description>
    <link>https://dev.to/yannvr</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%2F40120%2F3e2d62cc-d80e-4dd0-8d66-1f1a33341d50.jpeg</url>
      <title>DEV Community: Yann VR</title>
      <link>https://dev.to/yannvr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yannvr"/>
    <language>en</language>
    <item>
      <title>Somebody asked for help. Nobody came.</title>
      <dc:creator>Yann VR</dc:creator>
      <pubDate>Sun, 06 Sep 2026 23:02:27 +0000</pubDate>
      <link>https://dev.to/yannvr/somebody-asked-for-help-nobody-came-5c7i</link>
      <guid>https://dev.to/yannvr/somebody-asked-for-help-nobody-came-5c7i</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-09-03"&gt;Weekend Challenge: Generosity Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Andrea has been waiting 174 days for someone to reply to his issue. He asked nicely. He labelled it &lt;em&gt;help wanted&lt;/em&gt;. Someone who knows Rust could answer him tonight in ten minutes.&lt;/p&gt;

&lt;p&gt;They just don't know he asked.&lt;/p&gt;

&lt;p&gt;There are 26,034 issues like his right now. People haven't stopped caring about open source. The ask and the person who could answer it simply never meet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;unanswered&lt;/strong&gt; introduces them.&lt;/p&gt;

&lt;p&gt;Tell it what you're good at. It finds the maintainers you could genuinely help, explains in plain words what each one needs, and drafts an opening line, so the first step isn't the hard one.&lt;/p&gt;

&lt;p&gt;Then it hands you the pen. You write the reply. You send it. Your name, your words. All the app did was make the introduction.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://unanswered.hyperdrift.io" rel="noopener noreferrer"&gt;unanswered.hyperdrift.io&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Try one, no typing needed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://unanswered.hyperdrift.io/?know=React+and+TypeScript%2C+Node+backends%2C+Postgres." rel="noopener noreferrer"&gt;React and TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unanswered.hyperdrift.io/?know=Python+and+Django%2C+some+Rust.+Data+pipelines+and+CLI+tools." rel="noopener noreferrer"&gt;Python and Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unanswered.hyperdrift.io/?know=Go+and+Kubernetes+operators%2C+some+Java.+Backend+and+infra." rel="noopener noreferrer"&gt;Go and Java&lt;/a&gt;&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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fizrpa0k5l2g9k36cze69.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fizrpa0k5l2g9k36cze69.gif" alt="Tell it what you know, and five maintainers who asked for help appear with a drafted reply each" width="720" height="405"&gt;&lt;/a&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/hyperdrift-io" rel="noopener noreferrer"&gt;
        hyperdrift-io
      &lt;/a&gt; / &lt;a href="https://github.com/hyperdrift-io/unanswered" rel="noopener noreferrer"&gt;
        unanswered
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open-source maintainers asked for help and nobody replied. Find the ones you can answer, with your first reply drafted by Gemini.
    &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;unanswered&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Somebody asked for help. Nobody came.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every day a maintainer labels an issue &lt;em&gt;help wanted&lt;/em&gt; and waits. Weeks pass. The
person who could have answered never saw it. This finds those asks, matches
them to what you know, and drafts your first reply, so giving an hour to open
source starts with a comment instead of an evening of searching.&lt;/p&gt;
&lt;p&gt;Live: &lt;strong&gt;unanswered.hyperdrift.io&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Built in a weekend for the &lt;a href="https://dev.to/challenges/weekend-2026-09-03" rel="nofollow"&gt;DEV Weekend Challenge: Generosity Edition&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;GitHub search: open &lt;code&gt;help wanted&lt;/code&gt; issues, no assignee, zero comments, three
weeks to a year old, most recently touched first, in the languages you
named. Only asks opened by the repo's owner, a member or a collaborator
count: "a maintainer asked" is literally true. One ask per repo, longest
wait first. (No &lt;code&gt;stars:&lt;/code&gt; filter: issue search does not support it and
GitHub silently matches the number against the issue number instead. Every…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/hyperdrift-io/unanswered" 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;Two decisions carry it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Only real asks count.&lt;/strong&gt; GitHub tells you who opened an issue: the repo's owner, a member, a collaborator. Keep those, add three weeks of silence and zero replies, and every result is a real person who genuinely asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini reads so you don't have to guess.&lt;/strong&gt; An issue is written in someone else's private language. Gemini turns it into one plain sentence about what they need, says why it fits you, and drafts a reply that offers one concrete next step and no promises. That is the part a search box can never do.&lt;/p&gt;

&lt;p&gt;Engineering notes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For anyone using GitHub issue search:&lt;/strong&gt; &lt;code&gt;stars:&lt;/code&gt; is not a supported qualifier there, and GitHub matches the number against the issue number instead of rejecting it. &lt;code&gt;stars:&amp;amp;gt;20&lt;/code&gt; returns only issues numbered 20. Repo quality has to come from who asked and how recently the issue was touched.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rate limits as design.&lt;/strong&gt; GitHub's secondary limit trips on two concurrent searches, so searches run one at a time behind a lock, cache for thirty minutes, and eight languages warm at boot. The three example searches cache for a day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini in production.&lt;/strong&gt; 3.6 Flash returns a thought-signature part before the text part, so read every non-thought part. The model is reached through Vertex AI with a service-account token minted in about forty lines of &lt;code&gt;node:crypto&lt;/code&gt;; if that door shuts, the page still shows the maintainers, unranked, with an honest line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stack.&lt;/strong&gt; Waku (React Server Components), two typed server functions, one client island, pure cascading CSS, plain &lt;code&gt;fetch&lt;/code&gt;. Seven dependencies, no database, no accounts. An MCP server exposes the same two acts for Claude or ChatGPT.&lt;/p&gt;

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

&lt;p&gt;Best Use of Google AI&lt;/p&gt;

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