<?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: Tanmay Patil</title>
    <description>The latest articles on DEV Community by Tanmay Patil (@tanmay_patil_25).</description>
    <link>https://dev.to/tanmay_patil_25</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%2F4159562%2F98a07ff1-07cc-4d3a-8d58-9fd6ddb13c5e.png</url>
      <title>DEV Community: Tanmay Patil</title>
      <link>https://dev.to/tanmay_patil_25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanmay_patil_25"/>
    <language>en</language>
    <item>
      <title>LazyDesk AI: A Smarter Way to Organize Documents</title>
      <dc:creator>Tanmay Patil</dc:creator>
      <pubDate>Sun, 25 Oct 2026 04:23:51 +0000</pubDate>
      <link>https://dev.to/tanmay_patil_25/lazydesk-ai-a-smarter-way-to-organize-documents-94l</link>
      <guid>https://dev.to/tanmay_patil_25/lazydesk-ai-a-smarter-way-to-organize-documents-94l</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;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Have you ever downloaded a document, saved it somewhere, and then spent more time searching for it than actually using it?&lt;/p&gt;

&lt;p&gt;That was the problem I wanted to tackle with &lt;strong&gt;LazyDesk AI&lt;/strong&gt; — a document organizer designed to make handling everyday files simpler.&lt;/p&gt;

&lt;p&gt;LazyDesk AI lets users upload PDF and TXT documents, extract their text, organize and categorize documents, search through their library, review metadata, and download or delete files when needed.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less time managing files and more time doing meaningful work.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Tanmaypatil-25/LazyDesk-AI" rel="noopener noreferrer"&gt;LazyDesk AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the application source code, setup instructions, sample documents, and tests.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A live hosted demo or video walkthrough is not currently available.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Explore the complete project here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Tanmaypatil-25/LazyDesk-AI" rel="noopener noreferrer"&gt;Tanmaypatil-25/LazyDesk-AI on GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project uses a React frontend and a Node.js/Express backend, with MongoDB for document metadata and storage-related records.&lt;/p&gt;

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

&lt;p&gt;I built LazyDesk AI using the MERN ecosystem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and Vite&lt;/strong&gt; for the frontend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js and Express&lt;/strong&gt; for the backend API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB and Mongoose&lt;/strong&gt; for document metadata.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multer&lt;/strong&gt; for handling file uploads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF and text extraction&lt;/strong&gt; to process supported documents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama with Gemma 3 1B&lt;/strong&gt; as the intended local AI integration for document analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of my goals was to explore how local, open-weight AI could fit into an everyday productivity tool rather than relying entirely on a hosted AI API.&lt;/p&gt;

&lt;p&gt;The application also includes safeguards for unsupported files, malformed uploads, filename sanitization, and safe search handling.&lt;/p&gt;

&lt;p&gt;During verification, the automated tests and frontend production build passed. I also tested document upload, extraction, metadata updates, search, download, and deletion.&lt;/p&gt;

&lt;p&gt;The remaining step is to verify the live Gemma-powered analysis workflow in an environment where Ollama is running.&lt;/p&gt;

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

&lt;p&gt;Open innovation gives developers the opportunity to learn from, experiment with, and build on openly available tools and models.&lt;/p&gt;

&lt;p&gt;For a project like LazyDesk AI, local inference is an appealing direction because it can give users more control over where document contents are processed. It also creates an opportunity to experiment with AI-powered organization without making a hosted AI API the core of the design.&lt;/p&gt;

&lt;p&gt;Open-source frameworks and community resources made it possible to bring together the frontend, backend, database, and document-processing components into one project.&lt;/p&gt;

&lt;p&gt;This project is also a learning experience for me: understanding not just how to connect AI to an application, but how to build the surrounding software responsibly.&lt;/p&gt;

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

&lt;p&gt;The idea behind LazyDesk AI is to reduce repetitive document-management work.&lt;/p&gt;

&lt;p&gt;Instead of manually keeping track of every file, users can work toward a searchable library with useful metadata and a simpler review workflow.&lt;/p&gt;

&lt;p&gt;I have verified the core document-management functionality, but I have not yet measured a real-world time saving. The next milestone is to test the complete AI workflow and evaluate how much effort automated categorization and summarization can actually save.&lt;/p&gt;

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

&lt;p&gt;No partner prize category is claimed in this submission yet.&lt;/p&gt;




&lt;p&gt;Built for Hacktoberfest Week 3: &lt;strong&gt;Slow and Steady&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for checking out LazyDesk AI!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>ListingLab: Turn Product Details into Marketplace-Ready Listings with Open-Weight AI</title>
      <dc:creator>Tanmay Patil</dc:creator>
      <pubDate>Sat, 17 Oct 2026 07:23:55 +0000</pubDate>
      <link>https://dev.to/tanmay_patil_25/listinglab-turn-product-details-into-marketplace-ready-listings-with-open-weight-ai-35n2</link>
      <guid>https://dev.to/tanmay_patil_25/listinglab-turn-product-details-into-marketplace-ready-listings-with-open-weight-ai-35n2</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;ListingLab is an AI-powered product listing generator designed for independent sellers, small businesses, and people running side hustles.&lt;/p&gt;

&lt;p&gt;Writing product descriptions for multiple marketplaces can be repetitive. Sellers need clear titles, useful selling points, detailed descriptions, and search tags — and adapting that content for different platforms takes time.&lt;/p&gt;

&lt;p&gt;ListingLab turns basic product details into an editable listing containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A product title and short hook&lt;/li&gt;
&lt;li&gt;Five key selling points&lt;/li&gt;
&lt;li&gt;A detailed product description&lt;/li&gt;
&lt;li&gt;Search tags&lt;/li&gt;
&lt;li&gt;A social media caption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It supports marketplace-specific generation for platforms such as Shopify, Etsy, Amazon, eBay, and WooCommerce. Users can edit the generated content, copy individual sections, and export the results as Markdown or JSON.&lt;/p&gt;

&lt;p&gt;The goal is simple: help sellers spend less time writing listings and more time building their businesses.&lt;/p&gt;

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

&lt;p&gt;Try ListingLab here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://listinglab-lnle.onrender.com/" rel="noopener noreferrer"&gt;https://listinglab-lnle.onrender.com/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;GitHub repository: &lt;a href="https://github.com/Tanmaypatil-25/ListingLab" rel="noopener noreferrer"&gt;https://github.com/Tanmaypatil-25/ListingLab&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built ListingLab as a full-stack TypeScript application.&lt;/p&gt;

&lt;p&gt;The frontend uses React, Vite, and Tailwind CSS. The backend uses Node.js, Express, and TypeScript to validate input, construct prompts, communicate with the AI provider, and process generated responses.&lt;/p&gt;

&lt;p&gt;The deployed application uses the open-weight &lt;code&gt;openai/gpt-oss-120b&lt;/code&gt; model through Groq's API. I also designed the AI integration around a configurable provider adapter, with support for compatible endpoints such as local Ollama.&lt;/p&gt;

&lt;p&gt;A key part of the implementation is guiding the model to work from the information supplied by the user instead of inventing product specifications or unsupported claims. Generated content remains editable because AI output should be reviewed before being published to a real marketplace.&lt;/p&gt;

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

&lt;p&gt;For a small seller, access to capable AI should not require building an entire AI system from scratch or committing to one proprietary model forever.&lt;/p&gt;

&lt;p&gt;Using an open-weight model gives ListingLab a different path: the underlying model can be accessed through different compatible providers, and the application can be adapted as model availability, hosting options, and costs change. With a compatible local inference setup, sellers or developers can also explore running models on their own hardware.&lt;/p&gt;

&lt;p&gt;The deployed demo currently uses Groq-hosted inference, so it still depends on an external service. Local inference is an alternative configuration, not a claim that the live demo runs entirely offline.&lt;/p&gt;

&lt;p&gt;For a tool aimed at side hustles, flexibility matters. Keeping the application modular makes it easier to experiment with models and providers without rebuilding the entire product.&lt;/p&gt;

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

&lt;p&gt;Building ListingLab gave me practical experience connecting a frontend to an AI-powered backend, designing prompts for structured outputs, handling provider errors, validating requests, and deploying a full-stack application.&lt;/p&gt;

&lt;p&gt;It also reinforced an important lesson: generating text is only one part of an AI product. The workflow around that text — editing, copying, exporting, and making the output useful for a specific audience — matters just as much.&lt;/p&gt;

&lt;p&gt;ListingLab is an early version, and there is room to improve marketplace-specific guidance, output quality, and the overall seller workflow.&lt;/p&gt;

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

&lt;p&gt;I'd like to explore feedback from actual sellers, learn which parts of listing creation take them the most time, and use that feedback to decide what to build next.&lt;/p&gt;

&lt;p&gt;If you run a small online business, I'd love to hear what you would want a tool like this to handle.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>hacktoberfest</category>
      <category>ai</category>
    </item>
    <item>
      <title>GrassQuest: AI That Invites You to Close the App</title>
      <dc:creator>Tanmay Patil</dc:creator>
      <pubDate>Wed, 07 Oct 2026 10:57:43 +0000</pubDate>
      <link>https://dev.to/tanmay_patil_25/grassquest-ai-that-invites-you-to-close-the-app-2pk7</link>
      <guid>https://dev.to/tanmay_patil_25/grassquest-ai-that-invites-you-to-close-the-app-2pk7</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;GrassQuest turns a spare moment into a small outdoor adventure. Choose how much time you have, your mood, and your surroundings. Gemma then generates a personalized quest with a mission, a few objectives, and an optional bonus.&lt;/p&gt;

&lt;p&gt;I wanted to build something that gives people a reason to step outside without making the activity feel like another productivity task. A neighborhood walk, a campus break, or a quiet moment in a park can be enough.&lt;/p&gt;

&lt;p&gt;The key interaction is &lt;strong&gt;Touch-Grass Mode&lt;/strong&gt;. Once a quest starts, the interface becomes a simple timer and reminder to pocket your phone. The active quest survives a refresh, so you can close the app and return later.&lt;/p&gt;

&lt;p&gt;Afterwards, you can save a short reflection and an optional photo in your adventure journal. Guests can keep memories locally; signed-in users can access their completed entries across devices.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://grassquest.onrender.com/" rel="noopener noreferrer"&gt;Try GrassQuest&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can generate a quest without creating an account. Sign in if you want a cloud journal.&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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0dws3nerov9cozu9gi4s.png" 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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0dws3nerov9cozu9gi4s.png" alt="GrassQuest homepage" width="800" height="450"&gt;&lt;/a&gt;&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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhyt99pyvduzc7k7rew92.png" 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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhyt99pyvduzc7k7rew92.png" alt="A generated outdoor quest" width="800" height="450"&gt;&lt;/a&gt;&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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fffhp8pek154c848iu5qm.png" 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/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fffhp8pek154c848iu5qm.png" alt="Completed adventures in the journal" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Taking it outside
&lt;/h3&gt;

&lt;p&gt;I tested two quests in real use and found the experience worked well. I also checked generation, completion, and journal persistence. This was a small personal trial, rather than a study of whether the app changes people's habits.&lt;/p&gt;

&lt;p&gt;The outdoor experience matters to the concept: the quest should be a short invitation, followed by time spent away from the interface.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Tanmaypatil-25/GrassQuest" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application source is MIT-licensed and includes local setup instructions, contribution guidelines, and tests.&lt;/p&gt;

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

&lt;p&gt;The interface uses HTML, CSS, and JavaScript, with a Node.js backend deployed on Render.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemma 4&lt;/strong&gt;, accessed through Google's hosted API, creates the quest content. The server sends the selected preferences and requests structured JSON. It validates the response before displaying the mission and objectives. The model is central to the product: it generates the personalized adventure, rather than serving as an extra chatbot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MongoDB Atlas&lt;/strong&gt; stores accounts, sessions, and completed journal entries. Passwords are salted and hashed with scrypt. Session cookies are HttpOnly, and journal queries are scoped to the signed-in user. Existing browser memories can be imported explicitly; retries use the same entry IDs to avoid duplicates.&lt;/p&gt;

&lt;p&gt;I used Codex to assist with implementation and interface design. The hero landscape is AI-generated. I configured and tested the Google API, Atlas database, GitHub repository, and Render deployment.&lt;/p&gt;

&lt;p&gt;All 15 automated tests passed during development. They cover model-response handling, authentication, session expiry, input validation, and account isolation using a database test double. I also verified the live application manually, including journal access from another browser session.&lt;/p&gt;

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

&lt;p&gt;Gemma's open weights make self-hosting and model adaptation possible beyond this hosted version. The application supports an alternative OpenAI-compatible model endpoint, which provides a path to experimenting with another Gemma deployment without redesigning the interface.&lt;/p&gt;

&lt;p&gt;The current demo uses a hosted API. I have not tested offline inference or fine-tuning, and using open weights does not make this deployment automatically private or free to run.&lt;/p&gt;

&lt;p&gt;For me, the value is having room to inspect, adapt, and eventually host the model behind the experience. The application code is also available for others to modify and contribute to.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; Gemma generates the personalized outdoor quests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of MongoDB Atlas:&lt;/strong&gt; Atlas provides persistent private journals and account/session storage behind the open-weight-model application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Render — for consideration:&lt;/strong&gt; Render hosts the Node application, including the interface and server that calls Gemma. Model inference itself runs through Google's API.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Would Improve Next
&lt;/h2&gt;

&lt;p&gt;I would add password recovery and email verification, improve rate limiting behind a reverse proxy, and test a local Gemma deployment. Active quest timers currently remain device-local, while completed account entries sync through Atlas.&lt;/p&gt;

&lt;p&gt;GrassQuest's main idea is deliberately small: let AI help you choose a reason to go outside, then give the real world your attention.&lt;/p&gt;

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