<?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: V C Mohit Rao</title>
    <description>The latest articles on DEV Community by V C Mohit Rao (@vcmohitrao).</description>
    <link>https://dev.to/vcmohitrao</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: V C Mohit Rao</title>
      <link>https://dev.to/vcmohitrao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vcmohitrao"/>
    <language>en</language>
    <item>
      <title>EchoVault: I Built an Open-Source AI That Helps Forgotten Memories Live On</title>
      <dc:creator>V C Mohit Rao</dc:creator>
      <pubDate>Mon, 26 Oct 2026 20:35:47 +0000</pubDate>
      <link>https://dev.to/vcmohitrao/echovault-i-built-an-open-source-ai-that-helps-forgotten-memories-live-on-5728</link>
      <guid>https://dev.to/vcmohitrao/echovault-i-built-an-open-source-ai-that-helps-forgotten-memories-live-on-5728</guid>
      <description>&lt;h1&gt;
  
  
  EchoVault: I Built an Open-Source AI That Helps Forgotten Memories Live On
&lt;/h1&gt;

&lt;p&gt;Some of the most valuable things we own aren't expensive devices or files stored in the cloud.&lt;/p&gt;

&lt;p&gt;They're the stories we hear from our grandparents. The recordings we make during family gatherings. The letters we keep but rarely revisit. The little details that seem ordinary today but become priceless years later.&lt;/p&gt;

&lt;p&gt;And yet, these memories are surprisingly easy to lose.&lt;/p&gt;

&lt;p&gt;Recordings remain buried in folders. Audio files are difficult to search. Handwritten notes get separated from their context. Eventually, the people who remember these stories might no longer be around to tell them.&lt;/p&gt;

&lt;p&gt;For Hacktoberfest Week 4, I wanted to explore a different interpretation of &lt;strong&gt;Ghost in the Machine&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What if AI could help preserve the voices, stories and memories that time might otherwise erase?&lt;/p&gt;

&lt;p&gt;That idea became EchoVault.&lt;/p&gt;

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

&lt;p&gt;EchoVault is an AI-powered memory archive designed to help people preserve, organize and rediscover personal stories.&lt;/p&gt;

&lt;p&gt;Instead of treating old recordings and written memories as files that simply sit on a device, EchoVault helps turn them into a searchable collection of stories.&lt;/p&gt;

&lt;p&gt;The workflow is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Upload an audio recording or written memory.&lt;/li&gt;
&lt;li&gt;Transcribe supported audio recordings.&lt;/li&gt;
&lt;li&gt;Generate a concise summary and extract useful details.&lt;/li&gt;
&lt;li&gt;Save the original material alongside its transcript and metadata.&lt;/li&gt;
&lt;li&gt;Search the archive and ask questions about the saved stories.&lt;/li&gt;
&lt;li&gt;Create a remembrance page that brings the material together in a readable format.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal isn't to make AI replace the people behind these memories. It's to make their stories easier to preserve, revisit and share.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EchoVault is about helping memories survive, not pretending that AI can bring someone back.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;In the demonstration, I'll upload a sample recording, show how EchoVault transcribes and summarizes it, and retrieve a detail from the saved story.&lt;/p&gt;

&lt;p&gt;I'll also demonstrate how the original recording and its generated content remain connected, so users can verify the archive entry against its source.&lt;/p&gt;

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

&lt;p&gt;The repository contains the application source code, setup instructions, model configuration, dependencies and documentation for running EchoVault.&lt;/p&gt;

&lt;p&gt;The goal is to make the project reproducible so other developers can experiment with the models, improve the archive workflow or adapt it to their own use cases.&lt;/p&gt;

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

&lt;p&gt;I built EchoVault around Python, Streamlit and open-source AI tools.&lt;/p&gt;

&lt;p&gt;The architecture separates transcription, language-model processing, storage and retrieval so that each component can be tested independently.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Transcription
&lt;/h3&gt;

&lt;p&gt;For supported audio recordings, EchoVault uses OpenAI Whisper running locally to convert speech into text.&lt;/p&gt;

&lt;p&gt;The transcript makes a recording searchable and gives the next stage a text representation to work with.&lt;/p&gt;

&lt;p&gt;Transcription accuracy still depends on recording quality, accents, background noise and the languages supported by the selected model.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Memory extraction
&lt;/h3&gt;

&lt;p&gt;An open-weight Gemma model processes the transcript and generates structured metadata such as a title, summary, key events and people mentioned.&lt;/p&gt;

&lt;p&gt;I designed this stage to distinguish the original story from AI-generated interpretations. The original transcript remains available for verification.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Searchable archive
&lt;/h3&gt;

&lt;p&gt;EchoVault stores the original files and associated metadata, making it possible to revisit individual memories rather than repeatedly processing every recording.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Grounded question answering
&lt;/h3&gt;

&lt;p&gt;The question-answering feature retrieves relevant material from the archive and uses it to formulate an answer.&lt;/p&gt;

&lt;p&gt;Rather than treating the model as an unrestricted storyteller, the application is designed to ground responses in the saved records.&lt;/p&gt;

&lt;p&gt;If a question cannot be answered from the available material, the system should say so instead of inventing a memory.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. A human-centered interface
&lt;/h3&gt;

&lt;p&gt;I used Streamlit to create an interface for uploading recordings, reviewing transcripts, exploring archived stories and generating remembrance pages.&lt;/p&gt;

&lt;p&gt;I wanted the experience to feel more like a digital archive than a generic chatbot.&lt;/p&gt;

&lt;p&gt;This part of the project taught me that building a useful AI application involves more than prompting a model. Data handling, validation, retrieval and the way users verify generated content all matter.&lt;/p&gt;

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

&lt;p&gt;For a project dealing with personal memories, the choice of AI infrastructure matters as much as the interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy and control
&lt;/h3&gt;

&lt;p&gt;Family recordings and personal stories can contain sensitive information.&lt;/p&gt;

&lt;p&gt;Running transcription and language models locally can reduce the need to send this material to external AI services. In a fully local configuration, recordings and generated content can remain on the user's device.&lt;/p&gt;

&lt;p&gt;This is an architectural goal, not an automatic guarantee: the complete application must be checked for external network calls, telemetry, cloud storage and other data transfers before claiming that it is fully offline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Freedom to experiment
&lt;/h3&gt;

&lt;p&gt;Open-weight models give developers more flexibility to choose models, change prompts, compare performance and adapt the application to their requirements.&lt;/p&gt;

&lt;p&gt;For EchoVault, this means being able to experiment with different transcription and language models without designing the entire product around a single proprietary AI API.&lt;/p&gt;

&lt;h3&gt;
  
  
  Preservation beyond a single service
&lt;/h3&gt;

&lt;p&gt;An archive should not become inaccessible simply because a hosted service changes its pricing, API or availability.&lt;/p&gt;

&lt;p&gt;Keeping original recordings, transcripts and metadata in portable formats makes the collection easier to back up and migrate independently of a particular model provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  Making the technology accessible
&lt;/h3&gt;

&lt;p&gt;A local-first approach can reduce dependence on recurring hosted inference charges, although users still need compatible hardware, storage and electricity.&lt;/p&gt;

&lt;p&gt;The larger point is that useful AI tools should be adaptable and understandable, rather than locked into an infrastructure that their users cannot control.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used python to implement and test EchoVault.&lt;/p&gt;

&lt;p&gt;The session documents the decisions, experiments and debugging steps that shaped the final application.&lt;/p&gt;

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

&lt;p&gt;The theme &lt;em&gt;Ghost in the Machine&lt;/em&gt; made me think about how technology interacts with memory.&lt;/p&gt;

&lt;p&gt;A recording is only a collection of bits until someone listens to it. A transcript is only text until someone recognizes the person, place or moment behind it.&lt;/p&gt;

&lt;p&gt;AI cannot replace the human experience of remembering someone. It can, however, help make the material we leave behind easier to preserve and understand.&lt;/p&gt;

&lt;p&gt;I want EchoVault to make it easier for someone to rediscover a story they had almost forgotten, find a detail in an old recording, or bring together memories that would otherwise remain scattered across devices.&lt;/p&gt;

&lt;p&gt;The most meaningful result isn't an AI-generated story that sounds convincing.&lt;/p&gt;

&lt;p&gt;It's helping someone find a real story worth remembering.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;I'd like to explore better multilingual transcription, additional document formats, richer search, exportable remembrance pages and tools for organizing large collections of recordings.&lt;/p&gt;

&lt;p&gt;I also want to improve source attribution so users can move directly from a generated summary or answer to the original passage that supports it.&lt;/p&gt;

&lt;p&gt;EchoVault began with a simple question: what if we could use open-source AI to help preserve the stories that matter to us?&lt;/p&gt;

&lt;p&gt;My answer is a small step toward making personal archives more accessible, searchable and useful.&lt;/p&gt;

&lt;p&gt;Because sometimes the most valuable thing an AI can do isn't generate something new.&lt;/p&gt;

&lt;p&gt;It's help us hold on to something we already have.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>LazyDesk: I Built a Local AI That Organizes My Files So I Don't Have To</title>
      <dc:creator>V C Mohit Rao</dc:creator>
      <pubDate>Wed, 21 Oct 2026 12:03:30 +0000</pubDate>
      <link>https://dev.to/vcmohitrao/lazydesk-i-built-a-local-ai-that-organizes-my-files-so-i-dont-have-to-19f0</link>
      <guid>https://dev.to/vcmohitrao/lazydesk-i-built-a-local-ai-that-organizes-my-files-so-i-dont-have-to-19f0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady]&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  LazyDesk: I Built a Local AI That Organizes My Files So I Don't Have To
&lt;/h1&gt;

&lt;p&gt;My Downloads folder has a habit of becoming a digital junk drawer.&lt;/p&gt;

&lt;p&gt;PDFs from college, screenshots, documents, random images, project files, and files with names like &lt;code&gt;final_v2_latest_REAL.pdf&lt;/code&gt; all end up in the same place.&lt;/p&gt;

&lt;p&gt;I could organize them manually. I could also keep postponing it.&lt;/p&gt;

&lt;p&gt;For Hacktoberfest Week 3, I decided to build something that takes the repetitive work off my hands: &lt;strong&gt;LazyDesk, a local AI-powered file organizer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea is simple: let AI handle the tedious parts while keeping me in control of the final changes.&lt;/p&gt;

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

&lt;p&gt;LazyDesk is a small desktop-friendly application that helps users organize files with the assistance of an open-weight AI model.&lt;/p&gt;

&lt;p&gt;Instead of asking users to manually inspect every file, rename it, decide where it belongs, and move it into the right folder, LazyDesk prepares an organization plan.&lt;/p&gt;

&lt;p&gt;The workflow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a folder containing files you want to organize.&lt;/li&gt;
&lt;li&gt;Let the application inspect file metadata and relevant content.&lt;/li&gt;
&lt;li&gt;Ask the local AI model to suggest descriptive filenames and categories.&lt;/li&gt;
&lt;li&gt;Review the suggestions and make corrections.&lt;/li&gt;
&lt;li&gt;Approve the changes and let the application apply them safely.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal isn't to let an AI run wild across someone's computer. It's to eliminate repetitive decisions while leaving the user in control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The principle: automate the boring work, not the user's judgment.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;In the demo, I'll show a folder containing disorganized files, the AI-generated organization plan, and the resulting folder after approving the changes.&lt;/p&gt;

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

&lt;p&gt;The repository includes the application source code, setup instructions, dependencies, example files, and documentation explaining how the local AI integration works.&lt;/p&gt;

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

&lt;p&gt;I built LazyDesk using Python, Streamlit, Ollama, and an open-weight Gemma model.&lt;/p&gt;

&lt;p&gt;The application is divided into four main parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. File inspection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application collects basic metadata such as filenames, extensions, and file sizes. Where necessary, it can extract relevant text from supported documents to make more informed suggestions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AI-powered classification&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model receives a limited description of each file and proposes a category, a clearer filename, and a short explanation. Structured output helps the application validate the suggestions before using them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Human review&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The proposed changes appear in a review interface. Users can edit, reject, or approve suggestions instead of trusting every AI output blindly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Safe file operations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application applies approved changes through ordinary Python file operations. It checks paths, handles naming conflicts, avoids silently overwriting files, and records the changes made.&lt;/p&gt;

&lt;p&gt;The language model proposes actions; the application validates them; the user approves the final plan.&lt;/p&gt;

&lt;p&gt;This separation is important because a language model can make mistakes, and a file organizer should never treat every generated suggestion as automatically correct.&lt;/p&gt;

&lt;h3&gt;
  
  
  The technical challenge
&lt;/h3&gt;

&lt;p&gt;One interesting challenge is that file organization requires more than generating a plausible filename.&lt;/p&gt;

&lt;p&gt;A model might suggest a filename that already exists, misunderstand a document, or return a category that doesn't match the application's allowed options.&lt;/p&gt;

&lt;p&gt;I address this by validating model output, constraining category choices, checking destination paths, and requiring approval before moving files.&lt;/p&gt;

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

&lt;p&gt;For this project, using an open-weight model isn't just a technical preference. It changes where the work happens and who controls the data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy by design
&lt;/h3&gt;

&lt;p&gt;Files can contain academic work, personal documents, financial records, and other information that users shouldn't casually upload to an external service.&lt;/p&gt;

&lt;p&gt;Running inference locally allows the application to analyze supported files without sending their contents to a third-party AI API, provided the complete workflow is configured to remain local.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control over the model
&lt;/h3&gt;

&lt;p&gt;An open-weight model gives developers more flexibility to choose an appropriate model, adjust prompts, change inference settings, and experiment with different models as their requirements evolve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fewer recurring API dependencies
&lt;/h3&gt;

&lt;p&gt;Once a compatible model is downloaded, local inference can avoid per-request charges from a hosted language-model API. The trade-offs include local hardware requirements, model storage, electricity, and inference speed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning by building
&lt;/h3&gt;

&lt;p&gt;Open AI tooling makes it possible to inspect the surrounding implementation, experiment with different models, and understand how the application behaves instead of treating the model as an inaccessible service.&lt;/p&gt;

&lt;p&gt;For LazyDesk, the important advantage is that AI-assisted file organization can be built around user-controlled data and transparent file operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;[OPTIONAL: EMBED OR LINK YOUR DEVRELAY AGENT SESSION HERE.]&lt;/p&gt;

&lt;p&gt;I used [INSERT YOUR ACTUAL DEVELOPMENT WORKFLOW OR TOOLS] to build and test the application. The session shows how the project evolved, the implementation decisions I made, and the problems I worked through.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The point of LazyDesk is to replace a repetitive manual process with a reviewable, AI-assisted workflow.&lt;/p&gt;

&lt;p&gt;For my demonstration, I tested it with [NUMBER] files across [NUMBER] categories.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files processed: [MEASURED COUNT]&lt;/li&gt;
&lt;li&gt;Suggestions accepted: [MEASURED COUNT]&lt;/li&gt;
&lt;li&gt;Suggestions corrected or rejected: [MEASURED COUNT]&lt;/li&gt;
&lt;li&gt;Time taken by LazyDesk: [MEASURED TIME]&lt;/li&gt;
&lt;li&gt;Time taken by my manual baseline: [MEASURED TIME]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These measurements come from my actual test run, not estimated performance figures.&lt;/p&gt;

&lt;p&gt;The most useful outcome is not simply that AI can rename files. It's that a user can review an entire proposed cleanup in one place instead of making every decision individually.&lt;/p&gt;

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

&lt;p&gt;[LIST ONLY THE PARTNER CATEGORIES THAT YOUR IMPLEMENTATION ACTUALLY QUALIFIES FOR, OR REMOVE THIS SECTION.]&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;I'd like to explore additional capabilities such as duplicate-file detection, customizable organization rules, scheduled cleanup suggestions, and support for more document formats.&lt;/p&gt;

&lt;p&gt;The guiding idea will remain the same: let local AI handle the tedious parts, keep potentially sensitive data under the user's control, and make consequential actions reviewable.&lt;/p&gt;

&lt;p&gt;Building LazyDesk for the Hacktoberfest &lt;em&gt;Slow and Steady&lt;/em&gt; challenge has been a reminder that a useful AI project doesn't have to be enormous. Sometimes, the best automation is the one that quietly gives people their time back.&lt;/p&gt;

&lt;p&gt;If you've built a tool that saves you from a repetitive task, I'd love to hear about it.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge
&lt;/h1&gt;

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