<?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: Ayesha Rahman</title>
    <description>The latest articles on DEV Community by Ayesha Rahman (@ayesha_rahman_3f84433d77b).</description>
    <link>https://dev.to/ayesha_rahman_3f84433d77b</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%2F4168955%2F8acea467-74d7-485a-bb6f-cbec987e288c.png</url>
      <title>DEV Community: Ayesha Rahman</title>
      <link>https://dev.to/ayesha_rahman_3f84433d77b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayesha_rahman_3f84433d77b"/>
    <language>en</language>
    <item>
      <title>Ghost in a Radio</title>
      <dc:creator>Ayesha Rahman</dc:creator>
      <pubDate>Sat, 31 Oct 2026 16:45:03 +0000</pubDate>
      <link>https://dev.to/ayesha_rahman_3f84433d77b/ghost-in-a-radio-lfo</link>
      <guid>https://dev.to/ayesha_rahman_3f84433d77b/ghost-in-a-radio-lfo</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built Radio Ghost, an interactive, vintage-inspired AI radio experience that broadcasts mysterious stories from an imagined past. Users can tune into different radio stations, listen to eerie broadcasts, explore live transcripts, and make choices that influence how the story unfolds.&lt;/p&gt;

&lt;p&gt;I interpreted the theme by imagining an old radio that receives strange transmissions from another time. The project combines a retro radio interface, AI-generated storytelling, and an atmospheric listening experience. I was inspired by vintage radio dramas and the unsettling idea of hearing a voice from somewhere in the past.&lt;/p&gt;

&lt;p&gt;Radio Ghost is designed to make storytelling feel less like reading a story and more like tuning into a mysterious transmission.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/g2ReDPjS6q0" rel="noopener noreferrer"&gt;https://youtu.be/g2ReDPjS6q0&lt;/a&gt; &lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/ZikraRahman/ghost-radio" rel="noopener noreferrer"&gt;https://github.com/ZikraRahman/ghost-radio&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Radio Ghost is built around local AI inference using Ollama, with Gemma 3 (4B) as the open-weight language model. The model generates supernatural stories and mysterious radio transmissions based on the selected station and the listener’s choices.&lt;/p&gt;

&lt;p&gt;The application uses a React, TypeScript, and Vite frontend with a FastAPI backend. The backend connects to the locally running Ollama model, allowing AI-generated content to be produced on the user’s own machine rather than relying on a hosted AI API.&lt;/p&gt;

&lt;p&gt;This local-first approach makes the experience more private and accessible while demonstrating how open-weight AI can power interactive storytelling. Browser-based speech synthesis provides narration, allowing users to experience the broadcasts as an eerie radio drama.&lt;/p&gt;

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

&lt;p&gt;Open innovation made Radio Ghost possible as a local-first AI experience. Using open-weight models through Ollama gave me the freedom to experiment with AI-generated storytelling without depending on a paid, closed API.&lt;/p&gt;

&lt;p&gt;A closed API could generate stories, but it would limit my control over model choice, deployment, and access to the underlying system. With open-weight AI, I can run the model locally, customize the experience, reduce API dependency, and keep story generation on the user's machine.&lt;/p&gt;

&lt;p&gt;It also makes the project easier to extend in the future—whether by trying different models, improving the storytelling, or making the experience more accessible. Open innovation turns Radio Ghost from a simple AI-powered interface into an experiment I can genuinely build on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;The idea behind Radio Ghost is simple: what if an old radio suddenly picked up a voice that should not exist?&lt;/p&gt;

&lt;p&gt;I wanted to create a moment where the listener pauses and wonders, “Wait… did that transmission just answer me?” The combination of a mysterious broadcast, an old-fashioned radio interface, and choices that shape the story turns a simple listening experience into something personal.&lt;/p&gt;

&lt;p&gt;Radio Ghost is my attempt to bring back the feeling of vintage radio mysteries while using AI to make every transmission feel like it could be happening right now.&lt;/p&gt;

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

&lt;p&gt;Category: Best Use of Gemma&lt;br&gt;
Model: Gemma 3 (4B)&lt;br&gt;
Inference: Local, through Ollama&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank You!
&lt;/h2&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Memora - Find Your Lost Screenshots</title>
      <dc:creator>Ayesha Rahman</dc:creator>
      <pubDate>Sun, 18 Oct 2026 17:23:01 +0000</pubDate>
      <link>https://dev.to/ayesha_rahman_3f84433d77b/memora-find-your-lost-screenshots-1192</link>
      <guid>https://dev.to/ayesha_rahman_3f84433d77b/memora-find-your-lost-screenshots-1192</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Memora is an AI-powered screenshot search tool that helps students, researchers, and developers find information buried in their screenshots using natural-language queries. Instead of manually scrolling through hundreds of images, users can search for concepts, diagrams, code snippets, charts, and notes.&lt;/p&gt;

&lt;p&gt;Memora combines OCR, AI-powered screenshot understanding, and semantic search to make screenshots searchable by meaning, not just exact text. It uses open-weight AI models locally, helping keep personal data private and reducing dependence on paid cloud APIs.&lt;/p&gt;

&lt;p&gt;Students, researchers, developers, and professionals who frequently save screenshots could pay for Memora to save time, stay organized, and retrieve important information instantly.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/lBhkCjADfe8" width="710" height="399"&gt;
  &lt;/iframe&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/ayesha-rahman01" rel="noopener noreferrer"&gt;
        ayesha-rahman01
      &lt;/a&gt; / &lt;a href="https://github.com/ayesha-rahman01/memory-box" rel="noopener noreferrer"&gt;
        memory-box
      &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;MemoryBox web demo&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;MemoryBox is a privacy-first screenshot search demo. Drop screenshots into the browser, let local Tesseract.js OCR read their text, then search that extracted text. Optionally, use a locally running Ollama vision model to create extra screenshot metadata. There is no application backend, account system, analytics, upload endpoint, cloud OCR, or cloud AI API.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run locally&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Use Node.js 20 or newer:&lt;/p&gt;
&lt;div class="highlight highlight-source-powershell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm install
npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open the local Vite address shown in the terminal (normally &lt;code&gt;http://localhost:5173&lt;/code&gt;). For a production build:&lt;/p&gt;
&lt;div class="highlight highlight-source-powershell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm run typecheck
npm test
npm run build
npm run preview&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Demo workflow&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Drag PNG, JPG/JPEG, or WebP screenshots onto the upload panel, or use &lt;strong&gt;Choose images&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Approve the browser’s first-time OCR language-data download if prompted by Tesseract.js.&lt;/li&gt;
&lt;li&gt;Watch per-image indexing progress and failures.&lt;/li&gt;
&lt;li&gt;Optionally open &lt;strong&gt;Local AI&lt;/strong&gt; and use &lt;strong&gt;Test connection&lt;/strong&gt;. MemoryBox defaults to &lt;code&gt;gemma3:4b&lt;/code&gt; at &lt;code&gt;http://localhost:11434&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enable automatic analysis for new…&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/ayesha-rahman01/memory-box" 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 built Memora as a browser-based application using JavaScript, with OCR-powered text extraction, IndexedDB for local persistence, and a hybrid search system combining keyword-based and semantic retrieval.&lt;/p&gt;

&lt;p&gt;I integrated Gemma 3:4B through Ollama for local AI-powered screenshot understanding and metadata generation, along with nomic-embed-text for generating embeddings and finding screenshots based on semantic similarity. Tesseract.js extracts text from uploaded screenshots, while AI-generated descriptions, categories, keywords, and embeddings help users discover images even when their queries don't exactly match the text.&lt;/p&gt;

&lt;p&gt;The project is designed around open-weight models and local inference, keeping screenshot data on the user's device and reducing reliance on external AI APIs. This makes Memora a privacy-focused, AI-powered visual memory tool.&lt;/p&gt;

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

&lt;p&gt;Open innovation made it possible to build Memora around locally running AI models instead of relying entirely on closed, paid APIs. Using Gemma 3:4B through Ollama gave me control over how screenshots are analyzed, while nomic-embed-text enabled semantic search.&lt;/p&gt;

&lt;p&gt;Unlike a closed API-dependent approach, this architecture offers greater control over data privacy, model usage, and running costs. It also lets me experiment, customize the pipeline, and improve the product without being locked into a single provider. Open-weight models made building a privacy-focused AI tool more accessible as a student developer with limited resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;My first users were my college peers, who tried Memora for free and found it useful enough to purchase a one-time subscription for ₹100. Seeing people move from trying my product to paying for it was an encouraging milestone. It gave me confidence that Memora could solve a real problem and motivated me to keep improving it.&lt;/p&gt;

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

&lt;p&gt;Best Use of Gemma — Used Google's open-weight Gemma 3:4B model through Ollama for local AI-powered screenshot understanding and metadata generation in Memora.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank You!
&lt;/h2&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Walking Adventure</title>
      <dc:creator>Ayesha Rahman</dc:creator>
      <pubDate>Fri, 09 Oct 2026 18:10:21 +0000</pubDate>
      <link>https://dev.to/ayesha_rahman_3f84433d77b/walking-adventure-4bl5</link>
      <guid>https://dev.to/ayesha_rahman_3f84433d77b/walking-adventure-4bl5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;What if AI could help us put our phones away instead of keeping us glued to them?&lt;/p&gt;

&lt;p&gt;I built Offline Adventure Generator, a web app that turns an ordinary walk into a personalized outdoor mission.&lt;/p&gt;

&lt;p&gt;Choose your available time, walking difficulty, mood, and company. The app generates a mission with creative challenges designed to help you notice the world around you.&lt;/p&gt;

&lt;p&gt;For example, a mission might ask you to discover different textures, observe unusual shapes in nearby buildings, or find something you've never noticed before.&lt;/p&gt;

&lt;p&gt;The app also includes an interactive checklist, progress tracking, reflection prompts, and adventure history.&lt;/p&gt;

&lt;p&gt;The goal is simple: make stepping outside feel like an adventure, even when you have no destination in mind.&lt;/p&gt;

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

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

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

&lt;p&gt;&lt;a href="https://github.com/ayesha-rahman01/adventure-walking" rel="noopener noreferrer"&gt;https://github.com/ayesha-rahman01/adventure-walking&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The app uses Ollama with the qwen2.5:3b model to generate personalized outdoor missions locally.&lt;/p&gt;

&lt;p&gt;The main components are:&lt;/p&gt;

&lt;p&gt;-Local AI: Generates missions based on the user's selected preferences.&lt;/p&gt;

&lt;p&gt;-Structured output: Requests structured JSON so missions can be validated and rendered consistently.&lt;/p&gt;

&lt;p&gt;-Offline fallback: Uses built-in adventure templates if local AI generation fails.&lt;/p&gt;

&lt;p&gt;-Service worker: Caches app assets to support offline access.&lt;/p&gt;

&lt;p&gt;-Local storage: Saves adventure history, progress, and reflections on the device.&lt;/p&gt;

&lt;p&gt;I tested real browser-based generation with the local model and verified the mission checklist, reflection saving, and adventure history.&lt;/p&gt;

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

&lt;p&gt;For an app designed to get people away from their screens, depending entirely on a cloud AI API would undermine the idea.&lt;/p&gt;

&lt;p&gt;Using a locally running, open-weight model makes it possible to generate personalized missions without sending prompts to a third-party AI service.&lt;/p&gt;

&lt;p&gt;It also makes experimentation more accessible. Developers can inspect the integration, change the prompts, experiment with different models, and run inference on their own hardware.&lt;/p&gt;

&lt;p&gt;The offline fallback adds another layer of resilience: the app can still offer adventures when AI generation is unavailable.&lt;/p&gt;

&lt;p&gt;Open innovation makes this kind of private, locally controlled experience possible without requiring a paid cloud inference API.&lt;/p&gt;

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