<?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>Forem: Aggrey Paintsil Ishmeal</title>
    <description>The latest articles on Forem by Aggrey Paintsil Ishmeal (@aggrey_paintsil_51e08385d).</description>
    <link>https://forem.com/aggrey_paintsil_51e08385d</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3744503%2Fa2e1c2f5-8dc9-484a-af37-9f1c25b80e10.jpg</url>
      <title>Forem: Aggrey Paintsil Ishmeal</title>
      <link>https://forem.com/aggrey_paintsil_51e08385d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/aggrey_paintsil_51e08385d"/>
    <language>en</language>
    <item>
      <title>I Built an AI That Answers Every Question With HTTP 418 — RFC 2324 Compliant</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Sun, 12 Apr 2026 06:36:01 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/i-built-an-ai-that-answers-every-question-with-http-418-rfc-2324-compliant-248f</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/i-built-an-ai-that-answers-every-question-with-http-418-rfc-2324-compliant-248f</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Meet &lt;strong&gt;DecisionBrew AI&lt;/strong&gt; — the world's first Enterprise Teapot Intelligence Platform, powered by Google Gemini and RFC 2324.&lt;/p&gt;

&lt;p&gt;You type any question. A life-changing question. A career question. A pineapple-on-pizza question. DecisionBrew AI runs it through a sophisticated 6-step AI reasoning pipeline — parsing your semantic intent layer, heating water to optimal brew temperature, cross-referencing the global tea-leaf database, running 847 parallel tannin models — and after all that computation, delivers its verdict:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;418 — I'm a Teapot.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every single time. Brew Confidence: 17%. Useful: No. Actionable: Absolutely not.&lt;/p&gt;

&lt;p&gt;The "Consult a Real Human Instead" button also returns a 418. We are in a loop now. The tea has gone cold.&lt;/p&gt;

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

&lt;p&gt;🫖 &lt;strong&gt;Live App:&lt;/strong&gt; &lt;a href="https://decision-brew-ai.vercel.app" rel="noopener noreferrer"&gt;https://decision-brew-ai.vercel.app&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/aggreypaintsil168/decision-brew-ai" rel="noopener noreferrer"&gt;https://github.com/aggreypaintsil168/decision-brew-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The entire app is a single &lt;code&gt;index.html&lt;/code&gt; — no build step, no dependencies, no framework.&lt;/p&gt;

&lt;p&gt;The core of the joke lives in the system prompt sent to Gemini:                                                             Gemini then invents tea-jargon analysis like &lt;em&gt;"tannin gradient overflow"&lt;/em&gt;, &lt;em&gt;"steep confidence interval: collapsed"&lt;/em&gt;, and &lt;em&gt;"infusion entropy: critical"&lt;/em&gt; — all wrapped in a fake enterprise dashboard with animated reasoning steps, live metrics, and a consultation history log.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vanilla HTML/CSS/JS — zero dependencies, zero build step, one file&lt;/li&gt;
&lt;li&gt;Google Gemini 2.0 Flash API — prompt-engineered as a sentient teapot&lt;/li&gt;
&lt;li&gt;Vercel Serverless Function — to proxy the API key safely in production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interesting engineering challenge was making the &lt;em&gt;uselessness feel premium&lt;/em&gt;. The fake reasoning pipeline animates step-by-step with real elapsed times. The dashboard tracks metrics — brews today, average confidence (always ~17%), total 418s served, and a running consultation history. It looks like a serious product. It is not.&lt;/p&gt;

&lt;p&gt;The system prompt was the most important part. Constraining Gemini to respond &lt;em&gt;only&lt;/em&gt; in JSON, &lt;em&gt;only&lt;/em&gt; with confidence between 12–23%, and &lt;em&gt;always&lt;/em&gt; in the voice of a dramatically self-aware teapot took several iterations. Temperature set to 1.1 for maximum absurdity.&lt;/p&gt;

&lt;p&gt;DecisionBrew AI is a love letter to that joke. Every single interaction ends in a 418. The entire product exists to serve that status code with maximum dramatic flair. HTCPCP IYKYK.&lt;/p&gt;

&lt;p&gt;On the Google AI side: Gemini 2.0 Flash is not decoration here — it is the entire engine of the absurdity. Without the API, you just have a button that says "418". With it, you get a sentient teapot that tells you your career question has a &lt;em&gt;"kettle alignment score of 0.003"&lt;/em&gt; and that &lt;em&gt;"the quantum brew field destabilizes upon observation."&lt;/em&gt; That is the joke. Gemini makes it different and funnier every single time.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;418 — I'm a teapot. This project solves zero real-world problems. Built with love, Earl Grey, and deep respect for useless internet standards.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Built an AI That Answers Every Question With HTTP 418 — RFC 2324 Compliant</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Sun, 12 Apr 2026 06:28:42 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/i-built-an-ai-that-answers-every-question-with-http-418-rfc-2324-compliant-2lf4</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/i-built-an-ai-that-answers-every-question-with-http-418-rfc-2324-compliant-2lf4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Meet &lt;strong&gt;DecisionBrew AI&lt;/strong&gt; — the world's first Enterprise Teapot Intelligence Platform, powered by Google Gemini and RFC 2324.&lt;/p&gt;

&lt;p&gt;You type any question. A life-changing question. A career question. A pineapple-on-pizza question. DecisionBrew AI runs it through a sophisticated 6-step AI reasoning pipeline — parsing your semantic intent layer, heating water to optimal brew temperature, cross-referencing the global tea-leaf database, running 847 parallel tannin models — and after all that computation, delivers its verdict:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;418 — I'm a Teapot.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every single time. Brew Confidence: 17%. Useful: No. Actionable: Absolutely not.&lt;/p&gt;

&lt;p&gt;The "Consult a Real Human Instead" button also returns a 418. We are in a loop now. The tea has gone cold.&lt;/p&gt;

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

&lt;p&gt;🫖 &lt;strong&gt;Live App:&lt;/strong&gt; &lt;a href="https://decision-brew-ai.vercel.app" rel="noopener noreferrer"&gt;https://decision-brew-ai.vercel.app&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/aggreypaintsil168/decision-brew-ai" rel="noopener noreferrer"&gt;https://github.com/aggreypaintsil168/decision-brew-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The entire app is a single &lt;code&gt;index.html&lt;/code&gt; — no build step, no dependencies, no framework.&lt;/p&gt;

&lt;p&gt;The core of the joke lives in the system prompt sent to Gemini:                                                   Gemini then invents tea-jargon analysis like &lt;em&gt;"tannin gradient overflow"&lt;/em&gt;, &lt;em&gt;"steep confidence interval: collapsed"&lt;/em&gt;, and &lt;em&gt;"infusion entropy: critical"&lt;/em&gt; — all wrapped in a fake enterprise dashboard with animated reasoning steps, live metrics, and a consultation history log.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vanilla HTML/CSS/JS — zero dependencies, zero build step, one file&lt;/li&gt;
&lt;li&gt;Google Gemini 2.0 Flash API — prompt-engineered as a sentient teapot&lt;/li&gt;
&lt;li&gt;Vercel Serverless Function — to proxy the API key safely in production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interesting engineering challenge was making the &lt;em&gt;uselessness feel premium&lt;/em&gt;. The fake reasoning pipeline animates step-by-step with real elapsed times. The dashboard tracks metrics — brews today, average confidence (always ~17%), total 418s served, and a running consultation history. It looks like a serious product. It is not.&lt;/p&gt;

&lt;p&gt;The system prompt was the most important part. Constraining Gemini to respond &lt;em&gt;only&lt;/em&gt; in JSON, &lt;em&gt;only&lt;/em&gt; with confidence between 12–23%, and &lt;em&gt;always&lt;/em&gt; in the voice of a dramatically self-aware teapot took several iterations. Temperature set to 1.1 for maximum absurdity.&lt;/p&gt;

&lt;p&gt;DecisionBrew AI is a love letter to that joke. Every single interaction ends in a 418. The entire product exists to serve that status code with maximum dramatic flair. HTCPCP IYKYK.&lt;/p&gt;

&lt;p&gt;On the Google AI side: Gemini 2.0 Flash is not decoration here — it is the entire engine of the absurdity. Without the API, you just have a button that says "418". With it, you get a sentient teapot that tells you your career question has a &lt;em&gt;"kettle alignment score of 0.003"&lt;/em&gt; and that &lt;em&gt;"the quantum brew field destabilizes upon observation."&lt;/em&gt; That is the joke. Gemini makes it different and funnier every single time.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;418 — I'm a teapot. This project solves zero real-world problems. Built with love, Earl Grey, and deep respect for useless internet standards.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Had Every Advantage in My CS Programme</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Sat, 04 Apr 2026 21:04:07 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/i-had-every-advantage-in-my-cs-programme-1hg4</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/i-had-every-advantage-in-my-cs-programme-1hg4</guid>
      <description>&lt;h2&gt;
  
  
  That's Exactly the Problem
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;The first time I walked into a university computer lab in Ghana, I didn't count the room.&lt;/p&gt;

&lt;p&gt;That's the point.&lt;/p&gt;

&lt;p&gt;I walked in, found a seat, opened my laptop, and got to work. I didn't calculate my odds. I didn't wonder if I belonged. I didn't brace for anything. The room was full of people who looked like me, spoke like me, had been told — implicitly, repeatedly, since childhood — that a future in technology was a reasonable thing for someone like me to want.&lt;/p&gt;

&lt;p&gt;I had no idea, at the time, that this ease was a privilege. I thought it was just Tuesday.&lt;/p&gt;

&lt;p&gt;It took watching my female classmates navigate the same room — the same lectures, the same group projects, the same career fairs — to understand that we were not having the same experience at all.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Started Noticing
&lt;/h2&gt;

&lt;p&gt;Out of thirty-one students in my first Introduction to Programming class, four were women. I didn't notice that either, at first. It just seemed like the natural shape of things.&lt;/p&gt;

&lt;p&gt;But then I started paying attention.&lt;/p&gt;

&lt;p&gt;I noticed that when a woman answered a question correctly, there was sometimes a half-second pause before the response — a beat of mild surprise that was never there when I answered. I noticed that in group projects, the unspoken assumption was that the women would handle documentation and presentation — the "softer" edges of the work — and that nobody had decided this consciously. It had simply settled that way, like sediment.&lt;/p&gt;

&lt;p&gt;I noticed that when one of my female classmates mentioned she wanted to go into embedded systems, someone said &lt;em&gt;"that's unusual for a girl"&lt;/em&gt; — and the room didn't push back. I didn't push back. I said nothing.&lt;/p&gt;

&lt;p&gt;That silence has bothered me ever since.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Names I Wasn't Taught
&lt;/h2&gt;

&lt;p&gt;Here is something I learned outside of my CS curriculum, in the corners of late-night research:&lt;/p&gt;

&lt;p&gt;The first algorithm ever written was by a woman named Ada Lovelace — in 1843. Grace Hopper invented the compiler. Katherine Johnson's calculations put humans on the moon. The spread-spectrum technology underpinning modern WiFi traces back to a patent held by Hedy Lamarr. Radia Perlman invented the spanning tree protocol that makes the internet function. Fei-Fei Li created ImageNet and shaped the entire trajectory of modern AI.&lt;/p&gt;

&lt;p&gt;I was not taught any of these names in school.&lt;/p&gt;

&lt;p&gt;I was handed a field that women helped build, and I was taught to think of it as having been built without them. Without meaning to, without anyone telling me explicitly, I absorbed a version of this discipline where women were guests rather than founders.&lt;/p&gt;

&lt;p&gt;That is not a neutral thing to absorb. It shapes how you see your colleagues. It shapes how you treat them. It shapes the rooms you build when it becomes your turn to build them.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Being an Ally Actually Looks Like (I'm Still Learning)
&lt;/h2&gt;

&lt;p&gt;I want to be careful here, because "allyship" can become a word men use to feel good about themselves without changing much.&lt;/p&gt;

&lt;p&gt;What I have tried to do — imperfectly, inconsistently — is smaller and more specific than a word:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speak up in the moment.&lt;/strong&gt; When someone says something dismissive to a female classmate, the window to respond is about three seconds before the conversation moves on and the moment calcifies into accepted reality. I have missed that window more times than I've caught it. But I am getting faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give credit loudly.&lt;/strong&gt; In group settings, when a woman's idea gets absorbed into the conversation without attribution, I name it: &lt;em&gt;"That was her idea — can we go back to what she said?"&lt;/em&gt; This feels small. It is not small.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop explaining things that weren't asked for.&lt;/strong&gt; I have caught myself mid-sentence explaining a concept to a female classmate who neither needed nor requested it. That reflex is worth examining. Repeatedly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn the names.&lt;/strong&gt; Ada. Grace. Katherine. Hedy. Radia. Fei-Fei. I say them in conversations. I send them to younger students. I refuse to let the history stay edited.&lt;/p&gt;




&lt;h2&gt;
  
  
  Ghana, and Why This Conversation Belongs Here Too
&lt;/h2&gt;

&lt;p&gt;Gender equity in tech is often framed as a Silicon Valley problem. Pay gaps, pipeline statistics, diversity dashboards. But the ceiling exists here too — it just has different walls.&lt;/p&gt;

&lt;p&gt;In Ghana, it lives in the guidance counsellor who steers a girl brilliant at mathematics toward accounting instead of CS — not out of malice, but out of a world that has offered women fewer safe paths. It lives in families who fund their sons' CS degrees without question and gently suggest their daughters choose something "more practical." It lives in the casual import of tech bro culture — from YouTube, Twitter, startup mythology — landing here without the vocabulary that elsewhere has at least begun to name the problem.&lt;/p&gt;

&lt;p&gt;I am not separate from this. I was shaped by the same environment. Some of the biases I'm describing are ones I still find in myself when I look carefully enough. That's not comfortable to write. But I think it's more useful than pretending I arrived at allyship fully formed.&lt;/p&gt;




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

&lt;p&gt;For the Frontend Art prompt of this challenge, I built an interactive canvas piece called &lt;em&gt;"She Compiles the Stars"&lt;/em&gt; — 1,800 particles that assemble into a woman's silhouette, a glass ceiling that fractures and shatters when you click it, and the names of six pioneers encoded into the experience.&lt;/p&gt;

&lt;p&gt;I built it because I wanted to do something more than observe. Code is my medium. And I thought: if I can use this skill to say &lt;em&gt;these women existed, this ceiling exists, and it can be broken&lt;/em&gt; — then that is worth the time.&lt;/p&gt;

&lt;p&gt;I also built it to prove something to myself. That I could engage with this subject not as an outsider looking in, but as someone who understands that gender equity in tech is not a women's problem to solve. It is a problem that men — especially men with the ease of walking into rooms without counting them — have both the responsibility and the ability to help fix.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Want Other Men to Hear
&lt;/h2&gt;

&lt;p&gt;If you are a man in tech and you have never thought much about this: I'm not here to make you feel guilty. Guilt is not useful.&lt;/p&gt;

&lt;p&gt;But I want to ask you to do what I did: start noticing.&lt;/p&gt;

&lt;p&gt;Notice who speaks in your meetings and who gets heard. Notice who gets assigned which tasks. Notice who you explain things to unprompted. Notice whose names are missing from the history you were taught.&lt;/p&gt;

&lt;p&gt;Then ask yourself what you could do differently. Not perfectly. Not all at once. Just — differently.&lt;/p&gt;

&lt;p&gt;The room was built for us. That means we have more power than most to decide what the next room looks like.&lt;/p&gt;




&lt;h2&gt;
  
  
  To the Women in CS Who Are Still Counting
&lt;/h2&gt;

&lt;p&gt;I see you counting the room when you walk in. I understand now why you do.&lt;/p&gt;

&lt;p&gt;I can't promise the count will change as fast as it should. But I can promise that some of us are paying attention — and that we are trying, however imperfectly, to build the room you deserve to walk into without counting.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Written from Accra, Ghana, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I also submitted a Frontend Art piece for this challenge — "She Compiles the Stars," an interactive particle animation. You can find it here - [&lt;a href="https://codepen.io/Aggrey-Paintsil/pen/GgjGwGJ" rel="noopener noreferrer"&gt;https://codepen.io/Aggrey-Paintsil/pen/GgjGwGJ&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>A Particle Art Tribute to Gender Equity in Tech</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Sat, 04 Apr 2026 20:50:58 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/a-particle-art-tribute-to-gender-equity-in-tech-263c</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/a-particle-art-tribute-to-gender-equity-in-tech-263c</guid>
      <description>&lt;h2&gt;
  
  
  She Compiles the Stars
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Frontend Art&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Show us your Art
&lt;/h2&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Aggrey-Paintsil/embed/GgjGwGJ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Live demo:&lt;/strong&gt; [&lt;a href="https://codepen.io/Aggrey-Paintsil/pen/GgjGwGJ" rel="noopener noreferrer"&gt;https://codepen.io/Aggrey-Paintsil/pen/GgjGwGJ&lt;/a&gt;]
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;I am a computer science student in Ghana, and when I think about gender equity in technology, I don't think of it as a distant Western conversation. I think about the women in my own classrooms — brilliant, capable, often the only woman in the room — who have to work twice as hard to be taken half as seriously. I think about the pioneers whose names we rarely learn in school. And I think about the ceiling: invisible, but very real.&lt;/p&gt;

&lt;p&gt;That is what this piece is about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"She Compiles the Stars"&lt;/strong&gt; is a three-act interactive art experience built entirely in vanilla JavaScript and HTML5 Canvas — no frameworks, no libraries, just code.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Three Acts
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Act I — The Constellation Forms&lt;/strong&gt;&lt;br&gt;
1,800 particles drift across a deep space background and slowly assemble into the silhouette of a woman, fist raised. Each particle finds its place, the way every woman in tech has had to find hers — often starting scattered, often starting alone, but always moving toward something.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Act II — She Reaches Beyond the Ceiling&lt;/strong&gt;&lt;br&gt;
A glass ceiling hovers above her — translucent, almost invisible, but unmistakably there. The border frame draws on Kente cloth geometry, a nod to my Ghanaian heritage and a reminder that this story of resilience belongs to women everywhere, not just in Silicon Valley.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Act III — The Ceiling Breaks&lt;/strong&gt;&lt;br&gt;
Click &lt;em&gt;"shatter the ceiling"&lt;/em&gt; and golden cracks radiate outward. Glass shards explode downward. The particles scatter free. The stars belong to everyone now.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Pioneers
&lt;/h3&gt;

&lt;p&gt;Encoded into the piece are six women whose contributions built the technology world we live in — yet whose names are rarely taught:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ada Lovelace&lt;/strong&gt; — wrote the first algorithm in 1843, before computers existed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grace Hopper&lt;/strong&gt; — invented the compiler and made programming accessible to humans&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Katherine Johnson&lt;/strong&gt; — calculated the trajectories that sent humans to the moon&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hedy Lamarr&lt;/strong&gt; — co-invented spread-spectrum communications, the foundation of WiFi and Bluetooth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Radia Perlman&lt;/strong&gt; — invented the spanning tree protocol that makes the internet function&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fei-Fei Li&lt;/strong&gt; — created ImageNet and shaped the entire field of modern AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The counter in the top corner reads &lt;strong&gt;6&lt;/strong&gt; — six pioneers shown here. The real number is countless.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Afrofuturism?
&lt;/h3&gt;

&lt;p&gt;I made a deliberate choice to root this piece in an &lt;strong&gt;Afrofuturist aesthetic&lt;/strong&gt; — dark cosmic backgrounds, warm gold and rust tones drawn from earth and fire, geometric patterns inspired by Kente weaving. Afrofuturism imagines futures where African and diasporic people are not erased but centred. That same imagination is what gender equity in tech demands: not just adding women to existing systems, but building futures where they were never excluded to begin with.&lt;/p&gt;

&lt;p&gt;The typography pairs &lt;strong&gt;Cormorant Garamond&lt;/strong&gt; (elegant, literary, the serif of manifestos) with &lt;strong&gt;DM Mono&lt;/strong&gt; (code, terminals, the language of builders). Together they say: &lt;em&gt;this is both a story and a system.&lt;/em&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML5 Canvas&lt;/strong&gt; — particle system, silhouette targeting, nebula backgrounds, starfield, glass shatter physics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVG&lt;/strong&gt; — Kente-inspired geometric border frame with tiling patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vanilla JavaScript&lt;/strong&gt; — custom particle engine (1,800 particles with individual targets), procedural crack generation, shard physics with gravity, film grain via ImageData, counter animation, 3-act state machine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS&lt;/strong&gt; — custom cursor, staggered reveal animations, Cormorant Garamond + DM Mono font pairing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero dependencies&lt;/strong&gt; — no libraries, no build tools, one single HTML file&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;github &lt;a href="https://github.com/aggreypaintsil168/she-compiles-the-stars.git" rel="noopener noreferrer"&gt;https://github.com/aggreypaintsil168/she-compiles-the-stars.git&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Or view the full source on &lt;a href="https://github.com/aggreypaintsil168/she-compiles-the-stars.git" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; / &lt;a href="https://codepen.io/Aggrey-Paintsil/pen/GgjGwGJ" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  A Note
&lt;/h2&gt;

&lt;p&gt;I used AI tooling to help develop parts of this submission — in keeping with the challenge rules. The concept, the meaning, the Afrofuturist direction, the choice to name these specific pioneers, the decision to ground it in my experience as a student in Ghana — those are entirely my own.&lt;/p&gt;

&lt;p&gt;The glass ceiling is not abstract to me. This piece is my way of coding against it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MIT License © 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cover image generated from a screenshot of the live piece.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>devchallenge</category>
      <category>frontend</category>
      <category>css</category>
    </item>
    <item>
      <title>✨ Built with Google Gemini: PaperLens AI — Chat With Research Papers</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Fri, 06 Mar 2026 04:46:18 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/built-with-google-gemini-paperlens-ai-chat-with-research-papers-179c</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/built-with-google-gemini-paperlens-ai-chat-with-research-papers-179c</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/mlh/built-with-google-gemini-02-25-26"&gt;Built with Google Gemini: Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Built with Google Gemini
&lt;/h1&gt;

&lt;p&gt;As a computer science student working on research projects, I often face the same problem: &lt;strong&gt;research papers are difficult and time-consuming to understand&lt;/strong&gt;. Papers can be long, technical, and full of complex equations, making it hard to quickly extract the key ideas.&lt;/p&gt;

&lt;p&gt;To solve this, I built &lt;strong&gt;PaperLens AI&lt;/strong&gt;, an application that allows users to &lt;strong&gt;upload a research paper PDF and interact with it using AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The app automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracts text from the uploaded research paper&lt;/li&gt;
&lt;li&gt;Splits the document into semantic chunks&lt;/li&gt;
&lt;li&gt;Creates embeddings for each chunk using &lt;strong&gt;Google Gemini embeddings&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Retrieves the most relevant sections of the paper&lt;/li&gt;
&lt;li&gt;Uses &lt;strong&gt;Gemini to answer questions about the paper&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In simple terms, PaperLens AI lets users &lt;strong&gt;chat with research papers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, users can ask questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;What is the research gap in this paper?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;What dataset was used?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;What are the limitations of the method?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI then finds the most relevant sections of the paper and generates an answer based on those sections.&lt;/p&gt;




&lt;h1&gt;
  
  
  Architecture of the System
&lt;/h1&gt;

&lt;p&gt;The system uses a simple &lt;strong&gt;Retrieval Augmented Generation (RAG)&lt;/strong&gt; pipeline.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Research Paper PDF
        ↓
Text Extraction (PyPDF2)
        ↓
Chunking
        ↓
Gemini Embeddings
        ↓
Similarity Search
        ↓
Gemini generates answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Technologies used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt; (UI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Gemini API&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NumPy / Scikit-learn&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vector similarity search&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to create something lightweight but powerful enough to help students quickly understand complex research.&lt;/p&gt;


&lt;h1&gt;
  
  
  Demo
&lt;/h1&gt;

&lt;p&gt;Here is the interface of PaperLens AI.&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/aggreypaintsil168" rel="noopener noreferrer"&gt;
        aggreypaintsil168
      &lt;/a&gt; / &lt;a href="https://github.com/aggreypaintsil168/paperlens-ai" rel="noopener noreferrer"&gt;
        paperlens-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Research papers are difficult and time-consuming to understand. Papers can be long, technical, and full of complex equations, making it hard to quickly extract the key ideas.
    &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;📄 PaperLens AI&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Chat With Research Papers Using Google Gemini&lt;/h3&gt;
&lt;/div&gt;



&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c1066d686f94641187c8281f17ab8cb61ddffcf350f553443643b96f5cc1f927/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31302b2d626c75652e737667"&gt;&lt;img src="https://camo.githubusercontent.com/c1066d686f94641187c8281f17ab8cb61ddffcf350f553443643b96f5cc1f927/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31302b2d626c75652e737667" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/fa59107e27c3d5fa94bdd4f82cc332b6b673980c8086d24e261dac8686b04452/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4672616d65776f726b2d53747265616d6c69742d726564"&gt;&lt;img src="https://camo.githubusercontent.com/fa59107e27c3d5fa94bdd4f82cc332b6b673980c8086d24e261dac8686b04452/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4672616d65776f726b2d53747265616d6c69742d726564" alt="Streamlit"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/4d58ab1470aa8373e709ab343d0fc4f0ffc2864132c3271126ac77d597eec38d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d476f6f676c6525323047656d696e692d6f72616e6765"&gt;&lt;img src="https://camo.githubusercontent.com/4d58ab1470aa8373e709ab343d0fc4f0ffc2864132c3271126ac77d597eec38d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d476f6f676c6525323047656d696e692d6f72616e6765" alt="Google Gemini"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/183628f48b49696d970c1c3157e9cb0938cdccb75881b4256385fc0d6d798634/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5374617475732d4163746976652d73756363657373"&gt;&lt;img src="https://camo.githubusercontent.com/183628f48b49696d970c1c3157e9cb0938cdccb75881b4256385fc0d6d798634/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5374617475732d4163746976652d73756363657373" alt="Status"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🚀 Overview&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;PaperLens AI&lt;/strong&gt; is an AI-powered application that allows users to &lt;strong&gt;upload research papers and interact with them conversationally&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Instead of reading long academic papers line by line, users can ask questions like:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;What is the research gap in this paper?
What dataset was used?
What methodology does the paper propose?
What are the limitations of the study?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;PaperLens AI retrieves the &lt;strong&gt;most relevant sections of the paper&lt;/strong&gt; and uses &lt;strong&gt;Google Gemini&lt;/strong&gt; to generate contextual answers.&lt;/p&gt;
&lt;p&gt;This transforms static research documents into an &lt;strong&gt;interactive knowledge system&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🎥 Demo&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/aggreypaintsil168/paperlens-ai/Screenshots/image.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Faggreypaintsil168%2Fpaperlens-ai%2FScreenshots%2Fimage.png" alt="Dashboard Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Example UI:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;Upload Research Paper
↓
Extract + Chunk Paper
↓
Create Embeddings
↓
Ask Gemini
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Example query:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;What is the research gap of this paper?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Example output:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;The research gap addressed by this paper is the inability of
traditional forecasting models to capture both temporal
dependencies and trend&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/aggreypaintsil168/paperlens-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;Users can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Upload a research paper&lt;/li&gt;
&lt;li&gt;Extract and chunk the document&lt;/li&gt;
&lt;li&gt;Generate embeddings&lt;/li&gt;
&lt;li&gt;Ask questions about the paper&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Upload PDF
→ Extract + Chunk Paper
→ Create Embeddings
→ Ask Gemini
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example question:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What is the research gap in this paper?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The system retrieves relevant sections and Gemini generates an explanation.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(If deployed, the Cloud Run app would be embedded here.)&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;This project taught me several technical and conceptual lessons.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. How Retrieval-Augmented Generation Works
&lt;/h2&gt;

&lt;p&gt;Before this project, I had only read about RAG systems. Implementing it myself helped me understand how modern AI assistants work internally.&lt;/p&gt;

&lt;p&gt;Instead of sending an entire document to the model, we:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert text into embeddings&lt;/li&gt;
&lt;li&gt;Store them as vectors&lt;/li&gt;
&lt;li&gt;Retrieve the most relevant pieces of text&lt;/li&gt;
&lt;li&gt;Send those pieces to the AI model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This dramatically improves both &lt;strong&gt;accuracy and efficiency&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Building AI Applications Requires More Than Just Calling an API
&lt;/h2&gt;

&lt;p&gt;The real engineering work was in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Text chunking&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding generation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Similarity search&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt engineering&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These components are what transform a basic model call into a useful application.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Debugging AI Infrastructure
&lt;/h2&gt;

&lt;p&gt;While building PaperLens AI I encountered several issues, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API authentication errors&lt;/li&gt;
&lt;li&gt;Deprecated Gemini models&lt;/li&gt;
&lt;li&gt;Embedding model changes&lt;/li&gt;
&lt;li&gt;API quota limitations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Debugging these issues taught me a lot about &lt;strong&gt;how real AI systems evolve quickly&lt;/strong&gt;, and why developers must constantly adapt to new APIs and model updates.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Building AI Tools for Research
&lt;/h2&gt;

&lt;p&gt;As someone interested in &lt;strong&gt;machine learning and research&lt;/strong&gt;, building this project made me realize how powerful AI can be for assisting with scientific work.&lt;/p&gt;

&lt;p&gt;Tools like this could help students:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand research papers faster&lt;/li&gt;
&lt;li&gt;Identify research gaps&lt;/li&gt;
&lt;li&gt;Generate ideas for new research directions&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Google Gemini Feedback
&lt;/h1&gt;

&lt;p&gt;Overall, Google Gemini made it relatively easy to build a powerful AI application.&lt;/p&gt;

&lt;h3&gt;
  
  
  What worked well
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;embedding capabilities&lt;/strong&gt; and text generation features made it possible to build a full RAG pipeline with relatively little code.&lt;/p&gt;

&lt;p&gt;Gemini was particularly good at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explaining complex technical concepts&lt;/li&gt;
&lt;li&gt;Summarizing research sections&lt;/li&gt;
&lt;li&gt;Answering contextual questions about documents&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Where I ran into friction
&lt;/h3&gt;

&lt;p&gt;One challenge I encountered was related to &lt;strong&gt;model changes and deprecations&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;During development, some models referenced in earlier documentation were no longer available, which required updating the application to use newer Gemini models.&lt;/p&gt;

&lt;p&gt;Another challenge involved &lt;strong&gt;API quota limits&lt;/strong&gt;, which temporarily prevented some requests from completing during testing.&lt;/p&gt;

&lt;p&gt;These issues highlighted how quickly AI platforms evolve and the importance of keeping projects updated with the latest SDKs and models.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I’d like to see improved
&lt;/h3&gt;

&lt;p&gt;Two improvements that would make Gemini development even better are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clearer versioning for model releases&lt;/li&gt;
&lt;li&gt;easier visibility into quota usage during development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These would help developers avoid unexpected errors while building applications.&lt;/p&gt;




&lt;h1&gt;
  
  
  What’s Next
&lt;/h1&gt;

&lt;p&gt;PaperLens AI is just the beginning.&lt;/p&gt;

&lt;p&gt;Future improvements could include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-paper comparison&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatic research gap detection&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Citation extraction&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integration with academic databases&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ultimately, I’d love to turn PaperLens AI into a tool that helps students and researchers navigate the growing volume of scientific literature.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;This project reminded me that the most exciting part of AI development isn’t just the models themselves — it’s &lt;strong&gt;how we apply them to real problems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For students and researchers, understanding complex papers is often a major barrier. With tools like Google Gemini, we can start building systems that make knowledge more accessible.&lt;/p&gt;

&lt;p&gt;And that’s something worth building.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>geminireflections</category>
      <category>gemini</category>
    </item>
    <item>
      <title>I Built a Windows-First Repo Explainer Using GitHub Copilot CLI</title>
      <dc:creator>Aggrey Paintsil Ishmeal</dc:creator>
      <pubDate>Tue, 10 Feb 2026 13:43:23 +0000</pubDate>
      <link>https://forem.com/aggrey_paintsil_51e08385d/i-built-a-windows-first-repo-explainer-using-github-copilot-cli-3d83</link>
      <guid>https://forem.com/aggrey_paintsil_51e08385d/i-built-a-windows-first-repo-explainer-using-github-copilot-cli-3d83</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




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

&lt;p&gt;I built &lt;strong&gt;RepoBuddy&lt;/strong&gt;, a &lt;strong&gt;Windows-first Python CLI tool&lt;/strong&gt; that helps beginners understand GitHub repositories directly from the terminal.&lt;/p&gt;

&lt;p&gt;As a Windows user, I often find onboarding into new repositories difficult because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation assumes macOS or Linux&lt;/li&gt;
&lt;li&gt;It’s unclear which files to read first&lt;/li&gt;
&lt;li&gt;Setup and run instructions are incomplete or scattered&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RepoBuddy solves this by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading a repository’s folder structure and README&lt;/li&gt;
&lt;li&gt;Sending that context to &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Returning:

&lt;ul&gt;
&lt;li&gt;A plain-English explanation of what the repository does&lt;/li&gt;
&lt;li&gt;Key folders and files to focus on&lt;/li&gt;
&lt;li&gt;Beginner-friendly &lt;strong&gt;Windows PowerShell setup and run instructions&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;All of this happens &lt;strong&gt;inside the terminal&lt;/strong&gt;, without opening an IDE.&lt;/p&gt;




&lt;h2&gt;
  
  
  ▶️ Demo
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/aggreypaintsil168/repobuddy" rel="noopener noreferrer"&gt;https://github.com/aggreypaintsil168/repobuddy&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Example commands
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
powershell
# Explain the current repository
python src\repobuddy.py explain .

# Generate Windows PowerShell run instructions
python src\repobuddy.py how-to-run .
What the demo shows
GitHub Copilot CLI actively analyzing the repository

Copilot CLI reading files and directory structure

Structured explanations rendered directly in the terminal

Windows PowerShell-specific setup and run steps

📸 Tip:
I’ve included a short terminal demo (screenshots
![ ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e78xhh6qptrj45xhwa3z.png)) showing Copilot CLI in action to make the workflow easy to see.

🤖 My Experience with GitHub Copilot CLI
RepoBuddy uses GitHub Copilot CLI directly as an AI backend, not as an IDE autocomplete tool.

The application invokes Copilot CLI programmatically from Python:

python
Copy code
subprocess.run(
    ["copilot"],
    input=prompt.encode("utf-8"),
    stdout=subprocess.PIPE,
    stderr=subprocess.STDOUT,
)
My workflow was:

Collect repository context (folder structure + README)

Build a structured, Windows-focused prompt

Send the prompt to Copilot CLI via standard input

Render Copilot’s response in real time using Rich for better terminal UX

Copilot CLI:

Inspected directories

Read repository files

Reasoned about project intent

Generated explanations and Windows PowerShell run steps dynamically

Seeing Copilot CLI’s activity directly in the terminal made the AI’s reasoning transparent and easy to demo.
This experience showed me that Copilot CLI can be used as a scriptable developer assistant, not just an autocomplete tool.

💬 Let’s Discuss
I’d love feedback or questions in the comments:

How do you currently understand new repositories?

Would a tool like this help your onboarding workflow?

How else have you used GitHub Copilot CLI outside an IDE?

Thanks for reading — and thanks to the Dev Community Organisers for running this challenge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
