<?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: Monisha14206</title>
    <description>The latest articles on DEV Community by Monisha14206 (@monisha14206).</description>
    <link>https://dev.to/monisha14206</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%2F4153416%2Fa417e365-3b09-4721-a292-f3a91817cabd.png</url>
      <title>DEV Community: Monisha14206</title>
      <link>https://dev.to/monisha14206</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/monisha14206"/>
    <language>en</language>
    <item>
      <title>LazyDesk: Let AI Handle Your Messy Files</title>
      <dc:creator>Monisha14206</dc:creator>
      <pubDate>Sun, 25 Oct 2026 06:09:00 +0000</pubDate>
      <link>https://dev.to/monisha14206/lazydesk-let-ai-handle-your-messy-files-305i</link>
      <guid>https://dev.to/monisha14206/lazydesk-let-ai-handle-your-messy-files-305i</guid>
      <description>&lt;h1&gt;
  
  
  LazyDesk — Let AI Handle Your Messy Files
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Less time organizing files. More time doing what matters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/ADD_YOUR_BANNER_IMAGE_URL" 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/ADD_YOUR_BANNER_IMAGE_URL" alt="Project banner placeholder — replace with your actual LazyDesk screenshot or banner" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is my submission for &lt;strong&gt;Hacktoberfest Open-Source AI Challenge — Week 3: Slow and Steady&lt;/strong&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge #opensource #ai #python #react
&lt;/h1&gt;




&lt;h2&gt;
  
  
  The Problem: The Downloads Folder Chaos
&lt;/h2&gt;

&lt;p&gt;We've all been there.&lt;/p&gt;

&lt;p&gt;You download a PDF for college, save screenshots from a project, collect images, and create documents. At first, everything seems fine. A few weeks later, finding one specific file feels like a treasure hunt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if AI could help organize those files for us?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;LazyDesk&lt;/strong&gt; — a local-first, AI-assisted file organizer designed to reduce repetitive file management while keeping the user in control.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        Messy Downloads Folder
                  |
                  v
             LazyDesk + AI
                  |
          +-------+--------+
          |       |        |
          v       v        v
      Categories Names  Suggestions
          |       |        |
          +-------+--------+
                  |
                  v
            User Reviews
                  |
                  v
            Approve Changes
                  |
                  v
            Organized Files
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal is simple: let AI handle the repetitive suggestions while the user makes the final decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What LazyDesk Is Designed to Do
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;What it helps with&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File scanning&lt;/td&gt;
&lt;td&gt;Inspect files in a selected folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Smart categorization&lt;/td&gt;
&lt;td&gt;Suggest suitable folders for different file types&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rename suggestions&lt;/td&gt;
&lt;td&gt;Recommend clearer, more meaningful filenames&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Preview before action&lt;/td&gt;
&lt;td&gt;Review proposed changes before approving them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Activity history&lt;/td&gt;
&lt;td&gt;Track changes and support recovery where implemented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local-first AI&lt;/td&gt;
&lt;td&gt;Explore AI assistance using a model running on the user's computer&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;These are planned capabilities. I'll mark each feature as complete only after implementing and testing it.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;See LazyDesk in action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[Add your demo video link here]&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/ADD_YOUR_SCREENSHOT_URL" 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/ADD_YOUR_SCREENSHOT_URL" alt="LazyDesk application screenshot placeholder" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Replace this placeholder with a screenshot or GIF of your actual application. A short recording of scanning a folder, reviewing suggestions, and approving a change would make the demo especially useful.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project links&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub repository: [Add your repository link]&lt;/li&gt;
&lt;li&gt;Demo video: [Add your video link]&lt;/li&gt;
&lt;li&gt;Agent session: [Add your actual session link, if available]&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Here is the proposed workflow from selecting a folder to organizing files.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A([Start LazyDesk]) --&amp;gt; B[Select a Folder]
    B --&amp;gt; C[Scan Selected Files]
    C --&amp;gt; D[Collect File Metadata]
    D --&amp;gt; E[Generate Organization Suggestions]
    E --&amp;gt; F[Show Proposed Names and Locations]
    F --&amp;gt; G{User Approves?}
    G -- No --&amp;gt; H[Edit or Reject Suggestions]
    H --&amp;gt; F
    G -- Yes --&amp;gt; I[Apply Approved Changes]
    I --&amp;gt; J[Record Activity]
    J --&amp;gt; K([Finish])&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The important part is the approval step. AI should suggest what to do, not silently move or rename files without the user's permission.&lt;/p&gt;

&lt;h2&gt;
  
  
  Under the Hood: Architecture
&lt;/h2&gt;

&lt;p&gt;The planned architecture separates the user interface, file operations, AI integration, and activity history.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
    U[User] --&amp;gt; UI[React + Vite UI]
    UI &amp;lt;--&amp;gt; API[Python + Flask Backend]
    API --&amp;gt; FS[Local File System]
    API &amp;lt;--&amp;gt; AI[Ollama + Local Model]
    API &amp;lt;--&amp;gt; DB[(SQLite Activity History)]
    FS --&amp;gt; API
    API --&amp;gt; UI&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;The components&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite:&lt;/strong&gt; The interface for selecting folders and reviewing suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + Flask:&lt;/strong&gt; The backend responsible for coordinating requests and validating approved operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama + a local model:&lt;/strong&gt; The planned AI component for generating useful organization suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite:&lt;/strong&gt; The planned store for activity history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local file system:&lt;/strong&gt; The files the user chooses to organize.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The diagram represents the intended design, not a claim that every integration is already working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Open-Source AI Fits In
&lt;/h2&gt;

&lt;p&gt;LazyDesk explores a practical use for locally hosted, open-weight AI models.&lt;/p&gt;

&lt;p&gt;Instead of relying on a remote AI service for every suggestion, the application can use a model running through Ollama on the user's computer.&lt;/p&gt;

&lt;p&gt;That approach can help keep file-related information local, provided the implementation does not send it elsewhere. It also gives developers an opportunity to experiment with models and adapt the application to their needs.&lt;/p&gt;

&lt;p&gt;One important distinction: &lt;strong&gt;a model being open-weight does not automatically make the entire application open-source or guarantee privacy.&lt;/strong&gt; The application code, model licence, network behaviour, and data handling all matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Safety by Design
&lt;/h2&gt;

&lt;p&gt;File operations can cause real problems if handled carelessly. A wrong rename or move can make an important document difficult to find.&lt;/p&gt;

&lt;p&gt;The intended safety workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A[AI Suggests a Change] --&amp;gt; B[Validate the Proposed Path]
    B --&amp;gt; C[Preview the Change]
    C --&amp;gt; D{User Confirms?}
    D -- No --&amp;gt; E[Leave the File Unchanged]
    D -- Yes --&amp;gt; F[Apply the Change]
    F --&amp;gt; G[Record the Result]
    G --&amp;gt; H[Offer Recovery if Supported]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The key principles are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No automatic file changes without explicit approval.&lt;/li&gt;
&lt;li&gt;Operate only on folders selected by the user.&lt;/li&gt;
&lt;li&gt;Validate proposed filenames and destination paths.&lt;/li&gt;
&lt;li&gt;Handle duplicate names and errors carefully.&lt;/li&gt;
&lt;li&gt;Keep an activity record where implemented.&lt;/li&gt;
&lt;li&gt;Test recovery features before claiming that changes can be undone.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + Vite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Python + Flask&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI runtime&lt;/td&gt;
&lt;td&gt;Ollama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI model&lt;/td&gt;
&lt;td&gt;Qwen2.5 or another compatible local model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Activity history&lt;/td&gt;
&lt;td&gt;SQLite&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The exact model and technology choices should match the version that actually runs in the final project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Learnings
&lt;/h2&gt;

&lt;p&gt;Building an AI-assisted utility involves more than connecting a model to an interface.&lt;/p&gt;

&lt;p&gt;Some important areas to work through are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Making AI suggestions useful instead of unpredictable.&lt;/li&gt;
&lt;li&gt;Preventing invalid filenames and unsafe file paths.&lt;/li&gt;
&lt;li&gt;Handling duplicate names and file-operation errors.&lt;/li&gt;
&lt;li&gt;Keeping the interface understandable for beginners.&lt;/li&gt;
&lt;li&gt;Separating AI-generated suggestions from actual file-system operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are also opportunities to learn how frontend, backend, local AI, and safety checks work together in a practical application.&lt;/p&gt;

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

&lt;p&gt;Potential improvements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More accurate categorization for mixed file types.&lt;/li&gt;
&lt;li&gt;Custom categories and user preferences.&lt;/li&gt;
&lt;li&gt;Better filename suggestions based on file content, with explicit permission where needed.&lt;/li&gt;
&lt;li&gt;A detailed preview of every proposed change.&lt;/li&gt;
&lt;li&gt;More robust recovery and error handling.&lt;/li&gt;
&lt;li&gt;Packaging the application for easier Windows installation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I Chose This Idea
&lt;/h2&gt;

&lt;p&gt;I wanted to explore how open-source AI could help with a small, familiar problem rather than build something complicated just for the sake of using AI.&lt;/p&gt;

&lt;p&gt;Organizing files is ordinary work, but it is also repetitive work. If an AI-assisted tool can make that process easier while preserving user control, it can be genuinely useful.&lt;/p&gt;

&lt;p&gt;LazyDesk is my exploration of that idea: &lt;strong&gt;make everyday computer tasks a little less tedious, one small improvement at a time.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;AI coding assistant:&lt;/strong&gt; Claude Code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent session link:&lt;/strong&gt; [Paste your actual agent session URL here]&lt;/p&gt;

&lt;p&gt;I used AI assistance to help plan and develop LazyDesk. The session documents the prompts, implementation decisions, and development process behind the project.&lt;/p&gt;

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

&lt;p&gt;This project is submitted for consideration in the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Main Challenge:&lt;/strong&gt; Hacktoberfest Open-Source AI Challenge — Week 3: Slow and Steady&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI:&lt;/strong&gt; Using a locally hosted, open-weight AI model to explore AI-assisted file organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation:&lt;/strong&gt; Reducing repetitive file-management tasks through AI-generated suggestions and user-approved actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It / Contribute
&lt;/h2&gt;

&lt;p&gt;Once the repository and working demo are ready, you can add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; [Repository URL]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo:&lt;/strong&gt; [Demo URL]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Issues and contributions:&lt;/strong&gt; [Repository issues URL]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd love to hear suggestions for making local-first AI tools safer and more useful.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
    </item>
    <item>
      <title>LazyDesk: An Open-Source AI That Organizes Your Files Locally</title>
      <dc:creator>Monisha14206</dc:creator>
      <pubDate>Sun, 25 Oct 2026 05:45:13 +0000</pubDate>
      <link>https://dev.to/monisha14206/lazydesk-an-open-source-ai-that-organizes-your-files-locally-3eke</link>
      <guid>https://dev.to/monisha14206/lazydesk-an-open-source-ai-that-organizes-your-files-locally-3eke</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  🦥 LazyDesk: Let AI Organize Your Files While You Relax
&lt;/h1&gt;

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

&lt;p&gt;Have you ever opened your Downloads folder and found a mixture of PDFs, screenshots, assignments, documents, and project files everywhere?&lt;/p&gt;

&lt;p&gt;I have, and organizing everything manually can be surprisingly time-consuming.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;LazyDesk&lt;/strong&gt;, a local-first AI-powered desktop file organizer designed to make file management easier.&lt;/p&gt;

&lt;p&gt;LazyDesk scans a folder selected by the user, uses AI to categorize files, suggests meaningful filenames and destination folders, and creates an organization plan for review.&lt;/p&gt;

&lt;p&gt;Instead of manually sorting every file, users can review the suggestions, approve the changes, and let LazyDesk handle the repetitive work.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less time organizing files and more time doing things that matter.&lt;/p&gt;

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

&lt;p&gt;🎥 &lt;strong&gt;Video demo:&lt;/strong&gt; [Add your demo video link here]&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;Live demo:&lt;/strong&gt; LazyDesk is designed to run locally on your computer. A deployed version is not required for its core functionality.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub repository:&lt;/strong&gt; [Add your LazyDesk repository link here]&lt;/p&gt;

&lt;p&gt;The repository includes the frontend, backend, local AI integration, and setup instructions.&lt;/p&gt;

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

&lt;p&gt;I built LazyDesk using a combination of web technologies, Python, and open-weight AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technology stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; — frontend interface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + Flask&lt;/strong&gt; — backend and file organization logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; — local model runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen2.5 3B&lt;/strong&gt; — open-weight language model for file categorization and naming suggestions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; — local application history and organization records&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI analyzes file metadata, suggests meaningful categories and filenames, and explains its recommendations. Python handles filesystem validation, duplicate detection, and file operations.&lt;/p&gt;

&lt;p&gt;An important design decision is that AI suggestions are not applied automatically. Users review and approve changes before files are moved or renamed.&lt;/p&gt;

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

&lt;p&gt;For LazyDesk, open innovation is about giving users more control over their own files and their AI tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔒 Privacy first&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File organization can involve personal documents, college assignments, and project files. Running the model locally allows the application to avoid sending this information to a hosted AI provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📴 Offline capability&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After the initial setup and model download, the core workflow can operate without an internet connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ Freedom to experiment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Users can change the model, adjust categorization rules, and improve the application without being locked into a proprietary AI API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💸 Lower recurring costs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Local inference avoids per-request hosted AI API fees, although it still uses the computer's processing power, memory, and electricity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🤝 Human control&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI is useful for making suggestions, but it can make mistakes. LazyDesk keeps users in control by requiring approval before file operations and using deterministic Python checks for filesystem safety.&lt;/p&gt;

&lt;p&gt;Open-source AI makes it possible to build a useful personal productivity tool without making a cloud service the center of the experience.&lt;/p&gt;

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

&lt;p&gt;Imagine returning to a folder full of unsorted files and getting a clear organization plan instead of spending time deciding where every file belongs.&lt;/p&gt;

&lt;p&gt;That's the experience I want LazyDesk to provide.&lt;/p&gt;

&lt;p&gt;Rather than organizing everything manually, users can review AI-generated suggestions, approve a batch of changes, and keep their files organized with less effort.&lt;/p&gt;

&lt;p&gt;The next step is to measure the time saved using a realistic folder of sample files and compare manual organization with LazyDesk.&lt;/p&gt;




&lt;p&gt;Building LazyDesk has been an opportunity to explore how open-weight AI can solve an everyday problem in a practical, privacy-conscious way.&lt;/p&gt;

&lt;p&gt;Sometimes, productivity doesn't mean doing more. It means letting repetitive work take care of itself. 🦥&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>beginners</category>
      <category>ai</category>
    </item>
    <item>
      <title>The world outside my window</title>
      <dc:creator>Monisha14206</dc:creator>
      <pubDate>Sun, 11 Oct 2026 02:34:24 +0000</pubDate>
      <link>https://dev.to/monisha14206/the-world-outside-my-window-1fc9</link>
      <guid>https://dev.to/monisha14206/the-world-outside-my-window-1fc9</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;h3&gt;
  
  
  🌿 The World Outside My Window
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Go live the moment. Capture what matters. Keep the memory.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The World Outside My Window is a local-first, AI-powered photo journal designed to help people preserve the little moments they experience in the real world.&lt;/p&gt;

&lt;p&gt;Whether it's a peaceful walk in the park, a visit to the beach, a trip with friends, or an ordinary day that becomes a special memory, users can upload photos, describe what happened, share how they felt, and use AI to turn their experiences into beautiful, personalised journal entries.&lt;/p&gt;

&lt;p&gt;Instead of letting meaningful moments disappear into a crowded camera roll, this project gives them a place to live as stories that can be revisited later.&lt;/p&gt;

&lt;p&gt;The idea is simple: &lt;strong&gt;spend less time staring at a screen and more time experiencing the world around you.&lt;/strong&gt; The app is designed to help people preserve their memories after experiencing life, rather than encouraging endless scrolling.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Demo video:&lt;/strong&gt; &lt;a href="https://drive.google.com/file/d/1CdobNpa3iD0JP7XgMw07UrL68ijiv42z/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1CdobNpa3iD0JP7XgMw07UrL68ijiv42z/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The video will demonstrate the journal interface, creating a memory, generating a journal entry with AI, and saving and revisiting memories.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This project currently runs locally on my computer.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Monisha14206/The-world-outside-my-window" rel="noopener noreferrer"&gt;https://github.com/Monisha14206/The-world-outside-my-window&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built this project using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; for the frontend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + Flask&lt;/strong&gt; for the backend and API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; for storing journal entries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local file storage&lt;/strong&gt; for uploaded photographs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama + Qwen 2.5 3B&lt;/strong&gt; for local inference with an open-weight language model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core AI feature is designed to transform a user's own notes, experiences, and feelings into a journal title and narrative that they can review and edit before saving.&lt;/p&gt;

&lt;p&gt;The React frontend communicates with the Flask backend, which handles journal operations and requests to the locally running Ollama model. Journal entries are stored in SQLite, while uploaded photographs are kept in local storage.&lt;/p&gt;

&lt;p&gt;I chose a local-first architecture so the application can run on a personal computer without requiring a paid AI API or a cloud database.&lt;/p&gt;

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

&lt;p&gt;Open innovation makes AI development more accessible to students, independent developers, and anyone who wants to experiment with new ideas without relying entirely on closed, paid AI services.&lt;/p&gt;

&lt;p&gt;For this project, open-weight models and local inference provide more control over model selection, prompts, and the journal-writing experience. They also make it possible to explore a privacy-conscious approach where personal journal entries and photographs can remain on the user's computer in the intended local setup.&lt;/p&gt;

&lt;p&gt;Most importantly, this project explores a different way to use AI: &lt;strong&gt;not to keep people glued to their screens, but to help them preserve the experiences they have away from them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want technology to help us remember life, not replace living it.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>When You Need Me 💛 — A Private AI Companion Built for a Friend</title>
      <dc:creator>Monisha14206</dc:creator>
      <pubDate>Mon, 05 Oct 2026 09:28:07 +0000</pubDate>
      <link>https://dev.to/monisha14206/when-you-need-me-a-private-ai-companion-built-for-a-friend-4k27</link>
      <guid>https://dev.to/monisha14206/when-you-need-me-a-private-ai-companion-built-for-a-friend-4k27</guid>
      <description>&lt;h1&gt;
  
  
  What I Built
&lt;/h1&gt;

&lt;h2&gt;
  
  
  When You Need Me 💛
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;When You Need Me&lt;/strong&gt; is a private AI companion built for a real friend.&lt;/p&gt;

&lt;p&gt;Sometimes someone we care about wants to talk, share how they feel, or simply have someone listen — but we may be busy, unavailable, or unable to respond immediately.&lt;/p&gt;

&lt;p&gt;I built this project to create a small bridge during those moments.&lt;/p&gt;

&lt;p&gt;Instead of building another generic chatbot, I wanted the AI to understand &lt;strong&gt;how I communicate&lt;/strong&gt; and combine that with what I know about my friend.&lt;/p&gt;

&lt;p&gt;The system can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze an approved sample of my conversations to create a &lt;strong&gt;communication-style profile&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Learn my tone, vocabulary, sentence style, emoji usage, humor, language mixing, and support style&lt;/li&gt;
&lt;li&gt;Build a &lt;strong&gt;friend profile&lt;/strong&gt; based on information I choose to provide&lt;/li&gt;
&lt;li&gt;Generate responses using the communication style + friend profile + current conversation&lt;/li&gt;
&lt;li&gt;Explain &lt;strong&gt;why a response feels like my communication style&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Run the AI &lt;strong&gt;locally using an open-weight model&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Provide safety handling for conversations involving serious distress&lt;/li&gt;
&lt;li&gt;Allow users to delete stored chats, profiles, memory, and other personal data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, the AI &lt;strong&gt;does not pretend to actually be me&lt;/strong&gt;. It clearly identifies itself as an AI companion inspired by my communication style.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  🌐 Live UI Demo
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://monisha14206.github.io/when-you-need-me/" rel="noopener noreferrer"&gt;https://monisha14206.github.io/when-you-need-me/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The GitHub Pages version demonstrates the frontend experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎥 Full AI Demo
&lt;/h3&gt;

&lt;p&gt;The complete AI experience runs locally with Ollama and an open-weight model.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Demo video: &lt;a href="https://drive.google.com/file/d/1tFId9IJMRS3d-3FGy0tEpueLhSw4rFPG/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1tFId9IJMRS3d-3FGy0tEpueLhSw4rFPG/view?usp=sharing&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Code
&lt;/h1&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/Monisha14206/when-you-need-me" rel="noopener noreferrer"&gt;https://github.com/Monisha14206/when-you-need-me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the complete frontend, backend, safety system, local AI integration, demo data, tests, and setup instructions.&lt;/p&gt;




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

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

&lt;h3&gt;
  
  
  Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;&lt;code&gt;llama3.2:3b&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Open-weight local inference&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Other
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Local-first data storage&lt;/li&gt;
&lt;li&gt;Rule-based safety layer&lt;/li&gt;
&lt;li&gt;Communication-style analysis&lt;/li&gt;
&lt;li&gt;Friend profile and memory system&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The basic architecture is:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             ┌─────────────────────┐
             │       Friend        │
             └──────────┬──────────┘
                        │
                        ▼
             ┌─────────────────────┐
             │   React Frontend    │
             └──────────┬──────────┘
                        │
                        ▼
             ┌─────────────────────┐
             │    FastAPI Backend  │
             └──────────┬──────────┘
                        │
            ┌───────────┼───────────┐
            ▼           ▼           ▼
      ┌──────────┐ ┌──────────┐ ┌──────────┐
      │  Style   │ │  Friend  │ │  Safety  │
      │ Analysis │ │  Profile │ │   Layer  │
      └────┬─────┘ └────┬─────┘ └────┬─────┘
           │            │            │
           └────────────┼────────────┘
                        ▼
             ┌─────────────────────┐
             │  Ollama / LLM       │
             │  llama3.2:3b        │
             └──────────┬──────────┘
                        │
                        ▼
             ┌─────────────────────┐
             │ Personalized Reply  │
             └─────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  1. Communication Style
&lt;/h3&gt;

&lt;p&gt;The user can provide an approved conversation sample.&lt;/p&gt;

&lt;p&gt;Instead of sending the entire conversation to a cloud AI service, the application extracts useful communication patterns such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tone&lt;/li&gt;
&lt;li&gt;Sentence length&lt;/li&gt;
&lt;li&gt;Vocabulary&lt;/li&gt;
&lt;li&gt;Emoji usage&lt;/li&gt;
&lt;li&gt;Punctuation&lt;/li&gt;
&lt;li&gt;Humor&lt;/li&gt;
&lt;li&gt;English/Telugu mixing&lt;/li&gt;
&lt;li&gt;Listening style&lt;/li&gt;
&lt;li&gt;Reassurance and advice style&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are converted into a communication-style profile.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Friend Profile
&lt;/h3&gt;

&lt;p&gt;The user can optionally provide information about their friend, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personality&lt;/li&gt;
&lt;li&gt;Interests&lt;/li&gt;
&lt;li&gt;What makes them happy&lt;/li&gt;
&lt;li&gt;What makes them upset&lt;/li&gt;
&lt;li&gt;Preferred support style&lt;/li&gt;
&lt;li&gt;Humor preferences&lt;/li&gt;
&lt;li&gt;Topics to avoid&lt;/li&gt;
&lt;li&gt;Important boundaries&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Response Generation
&lt;/h3&gt;

&lt;p&gt;The AI combines:&lt;/p&gt;

&lt;p&gt;Communication Style&lt;br&gt;
        +&lt;br&gt;
Friend Profile&lt;br&gt;
        +&lt;br&gt;
Current Conversation&lt;br&gt;
        +&lt;br&gt;
Approved Memory&lt;br&gt;
        +&lt;br&gt;
Safety Rules&lt;br&gt;
        ↓&lt;br&gt;
   Local Open-Weight LLM&lt;br&gt;
        ↓&lt;br&gt;
 Personalized AI Response&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Explainability
&lt;/h3&gt;

&lt;p&gt;The application can also explain why a response feels similar to the user's communication style.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Casual conversational tone&lt;br&gt;
Uses familiar expressions&lt;br&gt;
Short supportive sentences&lt;br&gt;
Matches the user's emoji style&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This makes the personalization more transparent instead of simply saying that the AI "knows" the user.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Safety
&lt;/h3&gt;

&lt;p&gt;The application includes a safety layer that classifies conversations into different levels of emotional distress.&lt;/p&gt;

&lt;p&gt;For potentially serious crisis situations, the application does not simply let the language model generate an unrestricted response.&lt;/p&gt;

&lt;p&gt;Instead, the safety layer can intervene and provide a predefined supportive response that encourages reaching out to trusted people and appropriate emergency/professional support.&lt;/p&gt;

&lt;p&gt;The AI is also explicitly designed &lt;strong&gt;not to encourage emotional dependency&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It should never tell someone that they only need the AI or that the AI is their only source of support.&lt;/p&gt;


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

&lt;p&gt;I chose open-source AI because this project deals with something extremely personal: &lt;strong&gt;private conversations and relationships&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Using a closed cloud AI API would mean sending potentially sensitive conversations to an external service.&lt;/p&gt;

&lt;p&gt;With a local open-weight model, the project can instead run the inference on the user's own computer.&lt;/p&gt;

&lt;p&gt;This provides:&lt;/p&gt;
&lt;h3&gt;
  
  
  🔒 Privacy
&lt;/h3&gt;

&lt;p&gt;Personal conversations can remain local.&lt;/p&gt;
&lt;h3&gt;
  
  
  🛠️ Control
&lt;/h3&gt;

&lt;p&gt;The developer can inspect and modify how the system works.&lt;/p&gt;
&lt;h3&gt;
  
  
  🧠 Customization
&lt;/h3&gt;

&lt;p&gt;The AI experience can be designed specifically for one person's communication style and use case.&lt;/p&gt;
&lt;h3&gt;
  
  
  💰 Accessibility
&lt;/h3&gt;

&lt;p&gt;The project does not require a paid proprietary AI API to function.&lt;/p&gt;
&lt;h3&gt;
  
  
  🌍 Open Innovation
&lt;/h3&gt;

&lt;p&gt;Open models and tools make it possible for students and independent developers to experiment with AI applications that would otherwise require expensive infrastructure or proprietary services.&lt;/p&gt;

&lt;p&gt;For this project, open innovation is not just about using free software.&lt;/p&gt;

&lt;p&gt;It gives me more control over &lt;strong&gt;where personal data goes, how the AI behaves, and how the system can be changed.&lt;/strong&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  Privacy &amp;amp; Safety
&lt;/h1&gt;

&lt;p&gt;Privacy is a core part of the project.&lt;/p&gt;

&lt;p&gt;The project is designed around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local AI inference&lt;/li&gt;
&lt;li&gt;No OpenAI/Claude/Gemini API&lt;/li&gt;
&lt;li&gt;No real private conversations in the repository&lt;/li&gt;
&lt;li&gt;Fictional demo data&lt;/li&gt;
&lt;li&gt;Data deletion controls&lt;/li&gt;
&lt;li&gt;Transparent AI identity&lt;/li&gt;
&lt;li&gt;Safety rules for high-risk conversations&lt;/li&gt;
&lt;li&gt;No encouragement of emotional dependency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI is &lt;strong&gt;not a therapist and does not replace real human support&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is intended to provide a temporary supportive interaction while encouraging connection with real people when needed.&lt;/p&gt;


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

&lt;p&gt;Building this project taught me that creating an AI application is not only about getting a model to generate a response.&lt;/p&gt;

&lt;p&gt;The harder questions were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What personal data does the AI actually need?&lt;/li&gt;
&lt;li&gt;What information should never be sent to the model?&lt;/li&gt;
&lt;li&gt;How can personalization happen without training a model?&lt;/li&gt;
&lt;li&gt;How do you prevent an AI from pretending to be a real person?&lt;/li&gt;
&lt;li&gt;What should happen when a conversation becomes unsafe?&lt;/li&gt;
&lt;li&gt;How can users understand why an AI generated a particular response?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions influenced the architecture as much as the choice of model.&lt;/p&gt;


&lt;h1&gt;
  
  
  Challenges
&lt;/h1&gt;

&lt;p&gt;The biggest challenge was balancing &lt;strong&gt;personalization and privacy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted the AI to feel familiar without simply feeding a person's entire chat history into an LLM.&lt;/p&gt;

&lt;p&gt;The solution was to separate:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Raw Conversation
       ↓
Communication Analysis
       ↓
Communication Profile
       ↓
AI Prompt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This allows the application to use communication patterns without continuously sending the original private conversation to the model.&lt;/p&gt;

&lt;p&gt;Another challenge was safety. A general-purpose LLM should not be responsible for making every safety decision, so I added a separate safety layer before response generation.&lt;/p&gt;




&lt;h1&gt;
  
  
  Future Improvements
&lt;/h1&gt;

&lt;p&gt;Some improvements I would like to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better multilingual support&lt;/li&gt;
&lt;li&gt;More sophisticated communication-style analysis&lt;/li&gt;
&lt;li&gt;Optional voice interaction&lt;/li&gt;
&lt;li&gt;Improved long-term memory controls&lt;/li&gt;
&lt;li&gt;More granular privacy settings&lt;/li&gt;
&lt;li&gt;Additional open-weight models&lt;/li&gt;
&lt;li&gt;Better mobile experience&lt;/li&gt;
&lt;li&gt;More explainable personalization&lt;/li&gt;
&lt;li&gt;Optional encrypted local storage&lt;/li&gt;
&lt;/ul&gt;




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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you used an AI coding agent while building the project, I will include my agent session / development process here.&lt;/p&gt;




&lt;h1&gt;
  
  
  Prize Categories
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Primary category:&lt;/strong&gt; Open Source AI / AI Application&lt;/p&gt;

&lt;p&gt;The project uses an open-weight model through Ollama and keeps the core AI functionality local rather than depending on a proprietary cloud AI API.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Note
&lt;/h1&gt;

&lt;p&gt;I built &lt;strong&gt;When You Need Me&lt;/strong&gt; for a simple reason:&lt;/p&gt;

&lt;p&gt;Sometimes the person you want to talk to isn't available immediately.&lt;/p&gt;

&lt;p&gt;I don't want an AI to replace that person.&lt;/p&gt;

&lt;p&gt;I wanted to build something that can make the waiting period feel a little less lonely — while still being honest that it is an AI, keeping personal data under the user's control, and encouraging real human connection when it matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you need me, even when I'm not immediately there. 💛&lt;/strong&gt;&lt;/p&gt;

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