<?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: Yadnesh Kulkarni</title>
    <description>The latest articles on DEV Community by Yadnesh Kulkarni (@yadnesh_kulkarni_cd7da1e1).</description>
    <link>https://dev.to/yadnesh_kulkarni_cd7da1e1</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%2F3924200%2F985a5231-4e26-4d53-874d-3da9765e18f2.png</url>
      <title>DEV Community: Yadnesh Kulkarni</title>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yadnesh_kulkarni_cd7da1e1"/>
    <language>en</language>
    <item>
      <title>GhostTrace 👻: Finding the Ghost in System Logs with Local AI</title>
      <dc:creator>Yadnesh Kulkarni</dc:creator>
      <pubDate>Tue, 27 Oct 2026 09:18:53 +0000</pubDate>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1/ghosttrace-finding-the-ghost-in-system-logs-with-local-ai-4e74</link>
      <guid>https://dev.to/yadnesh_kulkarni_cd7da1e1/ghosttrace-finding-the-ghost-in-system-logs-with-local-ai-4e74</guid>
      <description>&lt;p&gt;Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission&lt;/p&gt;

&lt;p&gt;A system error rarely explains itself. You get a timestamp, an error message, maybe a warning that appeared five minutes earlier, and the familiar task of figuring out what went wrong.&lt;/p&gt;

&lt;p&gt;What if a local AI assistant could help you investigate those clues without sending your logs to a hosted AI service?&lt;/p&gt;

&lt;p&gt;That idea led me to build GhostTrace, a local AI-powered system-log investigator using Python, Flask, Ollama, and Gemma 3 4B.&lt;/p&gt;

&lt;p&gt;🔗 GitHub repository: &lt;a href="https://github.com/Yadnu14/GhostTrace" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/GhostTrace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👻 What is GhostTrace?&lt;/p&gt;

&lt;p&gt;GhostTrace is a small web application that takes system log text and uses AI to produce a structured investigation report.&lt;/p&gt;

&lt;p&gt;Instead of returning an unstructured paragraph, it aims to help developers separate what the logs actually show from what might have caused the problem and what to investigate next.&lt;/p&gt;

&lt;p&gt;The current prototype includes:&lt;/p&gt;

&lt;p&gt;Local AI inference: Gemma 3 4B runs through Ollama on the user's machine.&lt;/p&gt;

&lt;p&gt;Log analysis: Users can supply log text for investigation.&lt;/p&gt;

&lt;p&gt;Structured reports: Findings, possible causes, and recommended investigation steps are organized into a readable report.&lt;/p&gt;

&lt;p&gt;Fallback analysis: Basic keyword-based analysis can provide a fallback when AI inference is unavailable.&lt;/p&gt;

&lt;p&gt;Evidence-focused prompting: The model is instructed to avoid presenting unsupported assumptions as facts.&lt;/p&gt;

&lt;p&gt;Browser-based interface: Flask serves the application, with HTML, CSS, and JavaScript providing the interface.&lt;/p&gt;

&lt;p&gt;Safer report rendering: The frontend escapes HTML before applying Markdown-style formatting to generated reports.&lt;/p&gt;

&lt;p&gt;GhostTrace is not a replacement for a monitoring platform or a professional incident-response workflow. It is an experiment in making log investigation more accessible with local AI.&lt;/p&gt;

&lt;p&gt;🧠 Why Gemma 3 4B and Ollama?&lt;/p&gt;

&lt;p&gt;I wanted the AI component to run locally instead of building another application that depends on a remote model API.&lt;/p&gt;

&lt;p&gt;The architecture is intentionally simple:&lt;/p&gt;

&lt;p&gt;User-supplied log text&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Flask web application&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Local Ollama API&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Gemma 3 4B&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Structured investigation report&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Browser interface&lt;/p&gt;

&lt;p&gt;The application sends the supplied logs to the locally running Ollama service, which uses Gemma 3 4B to generate the report.&lt;/p&gt;

&lt;p&gt;If AI inference is unavailable, GhostTrace can fall back to simpler keyword-based analysis.&lt;/p&gt;

&lt;p&gt;This approach keeps the application small enough to understand and modify without introducing a complicated cloud architecture.&lt;/p&gt;

&lt;p&gt;🔐 Why local AI matters&lt;/p&gt;

&lt;p&gt;Logs can contain more than technical errors. Depending on the application, they may include internal hostnames, file paths, account identifiers, tokens, or other sensitive information.&lt;/p&gt;

&lt;p&gt;Sending logs to an external service may be inappropriate in some environments.&lt;/p&gt;

&lt;p&gt;With GhostTrace's default local setup, inference runs through Ollama on the user's machine rather than a hosted AI API. After the model has been downloaded, the inference workflow does not need to send prompts to a remote model provider.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;Local inference provides more control over where data goes, but it does not automatically make every application secure. Logs still need to be handled carefully, and the application must be configured and deployed responsibly.&lt;/p&gt;

&lt;p&gt;Running an open-weight model also gives developers more flexibility. They can experiment with prompts, inspect the surrounding application code, and explore alternative models without rebuilding the entire project around a proprietary API.&lt;/p&gt;

&lt;p&gt;For me, that flexibility is one of the most useful parts of open innovation: the ability to learn by building, changing, testing, and improving the system yourself.&lt;/p&gt;

&lt;p&gt;🛠️ The practical engineering behind it&lt;/p&gt;

&lt;p&gt;Getting a model to generate text is only one part of building a useful tool.&lt;/p&gt;

&lt;p&gt;The surrounding application still needs to handle input, communicate with the model, present results clearly, and behave sensibly when something fails.&lt;/p&gt;

&lt;p&gt;GhostTrace addresses a few of those concerns:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Evidence before conclusions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The model is prompted to distinguish observations from hypotheses. A missing heartbeat, for example, may indicate a service problem, but it does not prove the precise root cause or that the issue has been resolved.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A fallback path&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If local AI inference is unavailable, basic keyword-based analysis can still offer limited assistance. This fallback is deliberately simple and should not be confused with a full diagnostic engine.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Safer output handling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AI-generated content should not automatically be trusted as HTML. GhostTrace escapes HTML before rendering report formatting, reducing the risk of generated text being interpreted as executable markup.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keeping the scope controlled&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;GhostTrace analyzes supplied log text. It does not automatically execute system commands or modify system files. This keeps the prototype focused on investigation rather than giving an AI unrestricted control over a machine.&lt;/p&gt;

&lt;p&gt;These are modest design choices, but they matter when building tools that interpret technical information.&lt;/p&gt;

&lt;p&gt;🚀 Try GhostTrace locally&lt;/p&gt;

&lt;p&gt;The project uses Python, Flask, Ollama, and Gemma 3 4B.&lt;/p&gt;

&lt;p&gt;First, install Python and Ollama from their official websites:&lt;/p&gt;

&lt;p&gt;Python: &lt;a href="https://www.python.org/" rel="noopener noreferrer"&gt;https://www.python.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ollama: &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;https://ollama.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then clone the repository:&lt;/p&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/Yadnu14/GhostTrace.git" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/GhostTrace.git&lt;/a&gt;&lt;br&gt;
cd GhostTrace&lt;/p&gt;

&lt;p&gt;Create and activate a virtual environment in Windows PowerShell:&lt;/p&gt;

&lt;p&gt;python -m venv .venv&lt;br&gt;
..venv\Scripts\Activate.ps1&lt;/p&gt;

&lt;p&gt;Install the dependencies:&lt;/p&gt;

&lt;p&gt;python -m pip install -r requirements.txt&lt;/p&gt;

&lt;p&gt;Download the model:&lt;/p&gt;

&lt;p&gt;ollama pull gemma3:4b&lt;/p&gt;

&lt;p&gt;With Ollama running, start the application:&lt;/p&gt;

&lt;p&gt;python app.py&lt;/p&gt;

&lt;p&gt;Open &lt;a href="http://127.0.0.1:5000" rel="noopener noreferrer"&gt;http://127.0.0.1:5000&lt;/a&gt; in your browser and supply log text for investigation.&lt;/p&gt;

&lt;p&gt;The initial model download requires an internet connection. Once downloaded, the model can perform inference locally.&lt;/p&gt;

&lt;p&gt;⚠️ What GhostTrace cannot do yet&lt;/p&gt;

&lt;p&gt;This project is a prototype, and its limitations are important.&lt;/p&gt;

&lt;p&gt;AI-generated reports can be incorrect or incomplete.&lt;/p&gt;

&lt;p&gt;Keyword-based fallback analysis is limited and may miss relevant context.&lt;/p&gt;

&lt;p&gt;The current workflow depends on users supplying log text; it is not an automated monitoring agent.&lt;/p&gt;

&lt;p&gt;It does not replace established observability tools, alerting systems, or forensic investigation.&lt;/p&gt;

&lt;p&gt;It has not been presented as a production-ready or security-audited application.&lt;/p&gt;

&lt;p&gt;A plausible explanation is not the same as a verified root cause. Any findings should be checked against the original logs.&lt;/p&gt;

&lt;p&gt;🌍 The bigger idea: open innovation&lt;/p&gt;

&lt;p&gt;The most interesting part of GhostTrace is not simply that an AI model can summarize logs.&lt;/p&gt;

&lt;p&gt;It is that the complete workflow can be explored locally: the interface, the Python application, the prompts, the model integration, and the fallback logic.&lt;/p&gt;

&lt;p&gt;Open-weight AI makes experimentation more accessible. Local inference can reduce dependence on external APIs, while open-source application code gives developers room to inspect and change how the system behaves.&lt;/p&gt;

&lt;p&gt;That does not mean local models are always more capable than hosted models, or that open systems have no trade-offs. Model quality, hardware requirements, maintenance, and reliability still matter.&lt;/p&gt;

&lt;p&gt;But for a project like GhostTrace, local inference is a practical fit for exploring AI-assisted troubleshooting while keeping the architecture understandable and the data flow under the developer's control.&lt;/p&gt;

&lt;p&gt;🎃 Final thoughts&lt;/p&gt;

&lt;p&gt;GhostTrace started with a simple question: can a small local AI model help make sense of system logs without sending them to a remote AI service?&lt;/p&gt;

&lt;p&gt;The result is a working prototype built around Gemma 3 4B, Ollama, and Flask. There is plenty left to improve, but the project demonstrates how open-weight AI can be integrated into a practical developer tool without requiring a large cloud stack.&lt;/p&gt;

&lt;p&gt;For the Ghost in the Machine challenge, GhostTrace is my take on finding something useful hiding inside the noise.&lt;/p&gt;

&lt;p&gt;Sometimes the ghost is just an error message waiting for a closer look.&lt;/p&gt;

&lt;p&gt;Explore the code: &lt;a href="https://github.com/Yadnu14/GhostTrace" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/GhostTrace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built for the Hacktoberfest Open-Source AI Challenge, Week 4.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title># LazySort AI: Let Local AI Handle the Folder Cleanup You Keep Putting Off</title>
      <dc:creator>Yadnesh Kulkarni</dc:creator>
      <pubDate>Tue, 20 Oct 2026 17:45:03 +0000</pubDate>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1/-lazysort-ai-let-local-ai-handle-the-folder-cleanup-you-keep-putting-off-1ob6</link>
      <guid>https://dev.to/yadnesh_kulkarni_cd7da1e1/-lazysort-ai-let-local-ai-handle-the-folder-cleanup-you-keep-putting-off-1ob6</guid>
      <description>&lt;p&gt;My Downloads folder has a talent for becoming a digital storage room. PDFs, screenshots, source files, archives and files named &lt;code&gt;final_v2_revised_reallyfinal&lt;/code&gt; all end up living together.&lt;/p&gt;

&lt;p&gt;The solution sounds simple: organize everything.&lt;/p&gt;

&lt;p&gt;Then the folder stays messy for another three weeks.&lt;/p&gt;

&lt;p&gt;For Week 3 of the Hacktoberfest Open-Source AI Challenge, themed &lt;strong&gt;Slow and Steady&lt;/strong&gt;, I built LazySort AI: a local-first file organizer that uses open-source AI to suggest categories and cleaner filenames before moving anything.&lt;/p&gt;

&lt;p&gt;The goal was simple: automate the tedious part without letting automation take over.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does LazySort AI do?
&lt;/h2&gt;

&lt;p&gt;LazySort AI lets you select a folder and scan its files. It suggests a category, such as Documents, Images, Videos, Audio, Archives or Code, and can propose a cleaner filename.&lt;/p&gt;

&lt;p&gt;You see the suggestions in a preview. You can edit them, deselect files, and approve the changes yourself.&lt;/p&gt;

&lt;p&gt;Nothing moves during the scan.&lt;/p&gt;

&lt;p&gt;The application only moves selected files after explicit confirmation, and it is designed not to delete files or overwrite existing destination files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why use local AI?
&lt;/h2&gt;

&lt;p&gt;A small organizing task does not need to become another cloud integration.&lt;/p&gt;

&lt;p&gt;LazySort AI can use Gemma 3 through Ollama, running on the user's own computer. That means the model inference can happen locally instead of requiring a hosted AI API.&lt;/p&gt;

&lt;p&gt;This matters when filenames or folder structures reveal personal information. A project folder, a document title or even a badly named screenshot can tell a surprisingly detailed story about its owner.&lt;/p&gt;

&lt;p&gt;Keeping inference local reduces the need to send that information to an external AI provider. LazySort AI uses filenames and file metadata for its suggestions rather than uploading file contents for analysis.&lt;/p&gt;

&lt;p&gt;Local inference is not a universal privacy guarantee. The application, model runtime and operating system still need to be configured and maintained responsibly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open-source AI should be practical
&lt;/h2&gt;

&lt;p&gt;Open innovation is not only about building another chatbot.&lt;/p&gt;

&lt;p&gt;It also means making AI available for small, everyday tasks that people can inspect, adapt and run themselves. Open models and local tools give developers room to experiment without requiring a paid API account for every prototype.&lt;/p&gt;

&lt;p&gt;For this project, the useful part of AI is not that it can make an impressive paragraph. It is that it can reduce a repetitive task while leaving the user in charge.&lt;/p&gt;

&lt;p&gt;The application also has a rule-based fallback. If Ollama is unavailable, file extensions can still provide basic category suggestions. The project should remain useful even when the model is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Safety before automation
&lt;/h2&gt;

&lt;p&gt;File management is one of those areas where an incorrect automated decision can turn a small inconvenience into a terrible afternoon.&lt;/p&gt;

&lt;p&gt;That is why LazySort AI uses a preview-and-approval workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scan the chosen folder.&lt;/li&gt;
&lt;li&gt;Generate category and filename suggestions.&lt;/li&gt;
&lt;li&gt;Review and edit the proposed changes.&lt;/li&gt;
&lt;li&gt;Select the files to organize.&lt;/li&gt;
&lt;li&gt;Confirm before applying the changes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The intended workflow is non-recursive, avoids overwriting existing destination files, and does not delete files.&lt;/p&gt;

&lt;p&gt;The suggestions are still suggestions. Users should review them and keep backups of important data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built with
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python and Flask for the local web application&lt;/li&gt;
&lt;li&gt;HTML, CSS and JavaScript for the interface&lt;/li&gt;
&lt;li&gt;Ollama for running a model locally&lt;/li&gt;
&lt;li&gt;Gemma 3 (&lt;code&gt;gemma3:4b&lt;/code&gt;) for AI-powered suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application is designed to run on a personal computer and does not require a hosted AI API key.&lt;/p&gt;

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

&lt;p&gt;The interesting challenge was not simply connecting an AI model to an application. It was deciding how much control the model should have.&lt;/p&gt;

&lt;p&gt;For a file organizer, fully automatic action is not necessarily a better user experience. A fast mistake can be worse than a slow manual process.&lt;/p&gt;

&lt;p&gt;A preview, editable suggestions and explicit approval make the tool more predictable. The rule-based fallback also helps avoid making the entire application dependent on the availability of a model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;GitHub repository: &lt;a href="https://github.com/Yadnu14/LazySort-AI" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/LazySort-AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the application source, setup instructions, tests and MIT license.&lt;/p&gt;

&lt;p&gt;LazySort AI is a small experiment in a simple idea: AI should handle tedious work without making users surrender control over their own files.&lt;/p&gt;

&lt;p&gt;Sometimes the best automation is the kind that gives you your time back and then gets out of the way.&lt;/p&gt;




</description>
      <category>ai</category>
      <category>python</category>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>💼 GigCraft AI: Turn Client Briefs into Actionable Project Plans</title>
      <dc:creator>Yadnesh Kulkarni</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:45:26 +0000</pubDate>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1/gigcraft-ai-turn-client-briefs-into-actionable-project-plans-3ok4</link>
      <guid>https://dev.to/yadnesh_kulkarni_cd7da1e1/gigcraft-ai-turn-client-briefs-into-actionable-project-plans-3ok4</guid>
      <description>&lt;p&gt;What if a freelancer could turn a messy client brief into a structured proposal without sending their project details to a hosted AI service?&lt;/p&gt;

&lt;p&gt;That question inspired me to build GigCraft AI, a local AI assistant that helps freelancers organize client requirements, draft proposals, plan deliverables, consider pricing, and identify what needs clarification before a project begins.&lt;/p&gt;

&lt;p&gt;Instead of building another general-purpose chatbot, I wanted to explore a focused tool for a real workflow: going from "Here's what my client wants" to "Here's how I can deliver it."&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository: &lt;a href="https://github.com/Yadnu14/GigCraft-AI" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/GigCraft-AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎯 The Problem&lt;/p&gt;

&lt;p&gt;Starting a freelance project involves much more than writing code or delivering a design.&lt;/p&gt;

&lt;p&gt;Freelancers often need to:&lt;/p&gt;

&lt;p&gt;Understand an incomplete or unclear client brief.&lt;/p&gt;

&lt;p&gt;Write a professional proposal.&lt;/p&gt;

&lt;p&gt;Break the work into deliverables and milestones.&lt;/p&gt;

&lt;p&gt;Think through pricing and deadlines.&lt;/p&gt;

&lt;p&gt;Identify missing information before committing to the project.&lt;/p&gt;

&lt;p&gt;Decide what to do next.&lt;/p&gt;

&lt;p&gt;Handling all of this manually takes time. Relying on a hosted AI service can also introduce API costs and additional privacy considerations.&lt;/p&gt;

&lt;p&gt;GigCraft AI explores a practical alternative: a dedicated freelance assistant powered by a model running locally.&lt;/p&gt;

&lt;p&gt;✨ What Can GigCraft AI Do?&lt;/p&gt;

&lt;p&gt;The application focuses on five parts of the freelance workflow:&lt;/p&gt;

&lt;p&gt;Feature&lt;/p&gt;

&lt;p&gt;Purpose&lt;/p&gt;

&lt;p&gt;📝 Proposal drafts&lt;/p&gt;

&lt;p&gt;Generate a starting point for a client-facing proposal&lt;/p&gt;

&lt;p&gt;📋 Deliverables and timelines&lt;/p&gt;

&lt;p&gt;Organize the expected work and project milestones&lt;/p&gt;

&lt;p&gt;💰 Pricing suggestions&lt;/p&gt;

&lt;p&gt;Help structure pricing considerations&lt;/p&gt;

&lt;p&gt;❓ Missing requirements&lt;/p&gt;

&lt;p&gt;Identify details that may need clarification&lt;/p&gt;

&lt;p&gt;🚀 Next steps&lt;/p&gt;

&lt;p&gt;Turn the brief into an actionable plan&lt;/p&gt;

&lt;p&gt;The generated content is a starting point, not a substitute for professional judgment. Freelancers should review the output, confirm assumptions, and agree on scope with their clients.&lt;/p&gt;

&lt;p&gt;🛠️ The Technology Behind It&lt;/p&gt;

&lt;p&gt;GigCraft AI combines a lightweight web application with local AI inference.&lt;/p&gt;

&lt;p&gt;Python: Application logic.&lt;/p&gt;

&lt;p&gt;Flask: Backend web framework.&lt;/p&gt;

&lt;p&gt;HTML, CSS and JavaScript: User interface and interactions.&lt;/p&gt;

&lt;p&gt;Ollama: Runs the language model locally.&lt;/p&gt;

&lt;p&gt;Gemma 3:4B: Generates responses from client briefs.&lt;/p&gt;

&lt;p&gt;GitHub: Hosts the source code and project documentation.&lt;/p&gt;

&lt;p&gt;I chose this stack to keep the application straightforward to run and easy for other developers to inspect.&lt;/p&gt;

&lt;p&gt;⚙️ How It Works&lt;/p&gt;

&lt;p&gt;The workflow follows a simple sequence:&lt;/p&gt;

&lt;p&gt;Enter a brief: The freelancer describes the client's requirements.&lt;/p&gt;

&lt;p&gt;Prepare the request: The Flask backend formats the request for the local model.&lt;/p&gt;

&lt;p&gt;Generate the response: Ollama runs Gemma 3:4B to produce the requested content.&lt;/p&gt;

&lt;p&gt;Review the result: The freelancer uses the generated proposal and planning information as a starting point for the project.&lt;/p&gt;

&lt;p&gt;The application uses Ollama's local generation API, so it does not require a third-party hosted inference API key.&lt;/p&gt;

&lt;p&gt;🔐 Why Local AI?&lt;/p&gt;

&lt;p&gt;Client briefs can contain business requirements, budgets, project ideas, and other information that freelancers may prefer to keep private.&lt;/p&gt;

&lt;p&gt;Running inference locally offers several advantages:&lt;/p&gt;

&lt;p&gt;More control over data: Prompts are processed by the local Ollama instance rather than being sent to a hosted inference provider by this workflow.&lt;/p&gt;

&lt;p&gt;No hosted inference API key: The application can generate responses without requiring a paid external AI API.&lt;/p&gt;

&lt;p&gt;Open-weight model experimentation: Developers can explore and adapt the application around a model they can run on their own hardware.&lt;/p&gt;

&lt;p&gt;A more self-contained workflow: Once the required model is downloaded, inference can run locally without depending on a hosted model endpoint.&lt;/p&gt;

&lt;p&gt;Local inference still has trade-offs: the model requires storage and computing resources, and the application depends on Ollama being available. Local processing also does not automatically guarantee the security of the entire device.&lt;/p&gt;

&lt;p&gt;🌱 Why Open Innovation Matters&lt;/p&gt;

&lt;p&gt;Open innovation gives developers the freedom to explore existing technologies, combine them in new ways, and share what they build.&lt;/p&gt;

&lt;p&gt;For independent developers and freelancers, that flexibility can make a real difference. Not every useful AI application needs a closed platform, a recurring API bill, or a dependency on one hosted provider.&lt;/p&gt;

&lt;p&gt;With GigCraft AI, I brought together an open-weight model, local inference tooling, and a Python web application to explore a focused use case.&lt;/p&gt;

&lt;p&gt;The project is released under the MIT License, allowing others to study, modify, and redistribute the code under its terms.&lt;/p&gt;

&lt;p&gt;I see this project as a small example of what becomes possible when developers can experiment with AI tools and turn them into practical applications.&lt;/p&gt;

&lt;p&gt;🧪 Running the Project&lt;/p&gt;

&lt;p&gt;To run GigCraft AI locally, you need:&lt;/p&gt;

&lt;p&gt;Python&lt;/p&gt;

&lt;p&gt;Ollama&lt;/p&gt;

&lt;p&gt;The gemma3:4b model&lt;/p&gt;

&lt;p&gt;The application's Python dependencies&lt;/p&gt;

&lt;p&gt;After installing the dependencies and downloading the model, start the application:&lt;/p&gt;

&lt;p&gt;python app.py&lt;/p&gt;

&lt;p&gt;Open the local interface at:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://127.0.0.1:5000" rel="noopener noreferrer"&gt;http://127.0.0.1:5000&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete source code and setup instructions are available in the repository.&lt;/p&gt;

&lt;p&gt;📦 View the source code and README on GitHub&lt;/p&gt;

&lt;p&gt;🏁 Final Thoughts&lt;/p&gt;

&lt;p&gt;GigCraft AI is my attempt to make local AI useful for a specific, everyday problem: reducing the friction between receiving a freelance brief and planning the work.&lt;/p&gt;

&lt;p&gt;The project brings together:&lt;/p&gt;

&lt;p&gt;A practical freelance workflow.&lt;/p&gt;

&lt;p&gt;A Python and Flask web application.&lt;/p&gt;

&lt;p&gt;Local inference with Gemma 3:4B.&lt;/p&gt;

&lt;p&gt;An open-source implementation under the MIT License.&lt;/p&gt;

&lt;p&gt;The goal isn't to let AI make every decision for a freelancer. It's to help them organize the initial work so they can spend more time evaluating the project, communicating with the client, and delivering something valuable.&lt;/p&gt;

&lt;p&gt;Have you built an application using local AI models? I'd love to hear what use cases you've explored.&lt;/p&gt;

&lt;p&gt;🔗 Project: &lt;a href="https://github.com/Yadnu14/GigCraft-AI" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/GigCraft-AI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title># 🌿 FieldNote AI: An AI That Tells You to Put Your Phone Down</title>
      <dc:creator>Yadnesh Kulkarni</dc:creator>
      <pubDate>Tue, 06 Oct 2026 13:51:26 +0000</pubDate>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1/-fieldnote-ai-an-ai-that-tells-you-to-put-your-phone-down-1176</link>
      <guid>https://dev.to/yadnesh_kulkarni_cd7da1e1/-fieldnote-ai-an-ai-that-tells-you-to-put-your-phone-down-1176</guid>
      <description>&lt;p&gt;What if an AI application had one goal that was completely opposite to keeping you on the screen?&lt;/p&gt;

&lt;p&gt;Instead of asking you to chat with it for another hour, what if it gave you a reason to close the laptop, put your phone away, and go outside?&lt;/p&gt;

&lt;p&gt;That was the idea behind &lt;strong&gt;FieldNote AI&lt;/strong&gt;, my project for the Hacktoberfest Open Source AI Challenge: &lt;strong&gt;Touch Grass&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;AI is becoming increasingly good at keeping us inside digital environments.&lt;/p&gt;

&lt;p&gt;We use AI to write, search, study, code, create images, plan things, and answer questions. All of that can be useful, but it also creates an interesting problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if we used AI to help us spend less time using technology?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FieldNote AI is a local-AI micro-adventure journal designed around exactly that idea.&lt;/p&gt;

&lt;p&gt;The user provides three simple inputs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Available time&lt;/li&gt;
&lt;li&gt;Energy level&lt;/li&gt;
&lt;li&gt;Outdoor setting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma then creates a small outdoor mission with three things to observe.&lt;/p&gt;

&lt;p&gt;The important part is what happens next:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The app tells you to leave the screen.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You go outside, complete the mission, observe your surroundings, and come back when you're finished.&lt;/p&gt;

&lt;p&gt;You then write down what you actually noticed, and local AI turns that reflection into a short field note.&lt;/p&gt;

&lt;p&gt;The AI is not the destination.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The real world is.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 The Experience
&lt;/h2&gt;

&lt;p&gt;The entire experience follows five steps:&lt;/p&gt;

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

&lt;p&gt;Choose your available time, energy level, and outdoor setting.&lt;/p&gt;

&lt;p&gt;For example, someone might have:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;20 minutes • Low energy • Nearby park&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;FieldNote AI uses those choices to generate a suitable micro-adventure.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Go Outside
&lt;/h3&gt;

&lt;p&gt;The application enters &lt;strong&gt;Screen Exit Mode&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The user is encouraged to put their phone away and actually complete the mission instead of continuing to interact with the application.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Observe
&lt;/h3&gt;

&lt;p&gt;The generated mission includes three observation challenges.&lt;/p&gt;

&lt;p&gt;These are designed to make the user slow down and pay attention to things they might normally ignore.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Reflect
&lt;/h3&gt;

&lt;p&gt;After returning, the user writes a short reflection describing what they actually experienced.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Keep the Memory
&lt;/h3&gt;

&lt;p&gt;Gemma transforms the user's reflection into a concise field note.&lt;/p&gt;

&lt;p&gt;The generated note is grounded in what the user actually wrote rather than inventing details about their experience.&lt;/p&gt;




&lt;p&gt;↓ SCREENSHOTS HERE ↓&lt;/p&gt;

&lt;h2&gt;
  
  
  📸 See It in Action
&lt;/h2&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%2Fi6468xgznkjddx2chap6.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%2Fi6468xgznkjddx2chap6.png" alt="Landing" 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%2F8b3m6179zqfgxeees3at.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%2F8b3m6179zqfgxeees3at.png" alt="Mission" 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%2Fnu9o6xxysplhakni39h4.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%2Fnu9o6xxysplhakni39h4.png" alt="Exit" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 Why Gemma?
&lt;/h2&gt;

&lt;p&gt;FieldNote AI uses &lt;strong&gt;Google Gemma 3:4b through Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The model runs locally on the user's computer, which means the project does not need a paid AI API or a cloud AI account.&lt;/p&gt;

&lt;p&gt;There are two main AI interactions:&lt;/p&gt;

&lt;h3&gt;
  
  
  Mission Generation
&lt;/h3&gt;

&lt;p&gt;Gemma takes the user's available time, energy, and outdoor setting and creates a personalized micro-adventure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Field Note Generation
&lt;/h3&gt;

&lt;p&gt;Gemma takes the user's reflection and turns it into a polished field note while being instructed to stay grounded in the details provided by the user.&lt;/p&gt;

&lt;p&gt;This local approach was especially important to the project because the experience can contain personal observations and reflections.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔒 Why Local AI?
&lt;/h2&gt;

&lt;p&gt;The project was designed with a local-first approach.&lt;/p&gt;

&lt;p&gt;The core AI generation happens through:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser → Flask → Ollama → Gemma → Flask → Browser&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is no requirement for a paid AI API.&lt;/p&gt;

&lt;p&gt;There is no requirement for a cloud AI account.&lt;/p&gt;

&lt;p&gt;The user's reflections do not need to be sent to a remote AI provider.&lt;/p&gt;

&lt;p&gt;For a small personal journaling experience, that felt like the right approach.&lt;/p&gt;




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

&lt;p&gt;FieldNote AI was built using a deliberately simple stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML&lt;/strong&gt; for the interface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS&lt;/strong&gt; for the visual design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript&lt;/strong&gt; for the interaction flow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + Flask&lt;/strong&gt; for the backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; for local model inference&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3:4b&lt;/strong&gt; for the AI generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to keep the architecture simple enough that the project could be understood and run locally without a complicated setup.&lt;/p&gt;

&lt;p&gt;The basic architecture looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Choices
     │
     ▼
Flask Backend
     │
     ▼
Ollama Local API
     │
     ▼
Gemma 3:4b
     │
     ▼
Outdoor Mission
     │
     ▼
Screen Exit Mode
     │
     ▼
Real-World Experience
     │
     ▼
User Reflection
     │
     ▼
Gemma 3:4b
     │
     ▼
Field Note
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 One Challenge I Ran Into
&lt;/h2&gt;

&lt;p&gt;One interesting problem appeared while testing the field-note generation.&lt;/p&gt;

&lt;p&gt;A language model can naturally try to make writing more vivid by adding details.&lt;/p&gt;

&lt;p&gt;That is normally useful.&lt;/p&gt;

&lt;p&gt;For a journaling application, however, it creates a problem.&lt;/p&gt;

&lt;p&gt;If a user says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I sat outside and noticed the sound of birds."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI should not turn that into:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Golden sunlight filtered through the trees while cool wind moved the leaves."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Those details sound nice, but the user never said they happened.&lt;/p&gt;

&lt;p&gt;So I changed the field-note generation prompt to make grounding a strict requirement.&lt;/p&gt;

&lt;p&gt;The model is instructed to use &lt;strong&gt;only details explicitly present in the user's reflection&lt;/strong&gt; and not invent objects, sounds, weather, sunlight, people, events, smells, or emotions.&lt;/p&gt;

&lt;p&gt;That made the generated field notes much more appropriate for the purpose of the application.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 Why This Fits "Touch Grass"
&lt;/h2&gt;

&lt;p&gt;The challenge theme is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Touch Grass.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FieldNote AI takes that literally.&lt;/p&gt;

&lt;p&gt;Most digital products are optimized to keep users engaged for longer.&lt;/p&gt;

&lt;p&gt;FieldNote AI is intentionally designed to break that loop.&lt;/p&gt;

&lt;p&gt;The application exists to create a small reason to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Close the laptop.&lt;br&gt;&lt;br&gt;
Put the phone away.&lt;br&gt;&lt;br&gt;
Go outside.&lt;br&gt;&lt;br&gt;
Pay attention.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The screen is only the starting point.&lt;/p&gt;

&lt;p&gt;The actual experience happens away from it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔓 Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;I also wanted the project to demonstrate that useful AI experiences do not always require a large cloud service or an expensive API.&lt;/p&gt;

&lt;p&gt;With an open-weight model such as Gemma and a local runtime like Ollama, developers can experiment with AI applications where privacy, accessibility, and local processing matter.&lt;/p&gt;

&lt;p&gt;Open tools also make experimentation easier.&lt;/p&gt;

&lt;p&gt;A student with a laptop can take an idea, run a model locally, connect it to a small web application, and build something useful without first needing a production cloud infrastructure budget.&lt;/p&gt;

&lt;p&gt;That is one of the things I find most interesting about the current open AI ecosystem.&lt;/p&gt;




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

&lt;p&gt;Building FieldNote AI taught me a few things beyond simply connecting an application to an AI model.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI output needs boundaries
&lt;/h3&gt;

&lt;p&gt;A language model can produce convincing text, but convincing does not always mean accurate.&lt;/p&gt;

&lt;p&gt;For applications involving personal experiences, grounding the output is important.&lt;/p&gt;

&lt;h3&gt;
  
  
  The best AI interaction isn't always more interaction
&lt;/h3&gt;

&lt;p&gt;The most interesting part of FieldNote AI is that the application intentionally asks the user to stop using it.&lt;/p&gt;

&lt;p&gt;That changed how I thought about AI product design.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple architectures can still create interesting experiences
&lt;/h3&gt;

&lt;p&gt;FieldNote AI does not require a huge stack.&lt;/p&gt;

&lt;p&gt;A browser, Flask, Ollama, and Gemma are enough to create the complete experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Future Possibilities
&lt;/h2&gt;

&lt;p&gt;There are several directions the project could take in the future:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local storage for completed field notes&lt;/li&gt;
&lt;li&gt;A personal collection of past adventures&lt;/li&gt;
&lt;li&gt;More mission types&lt;/li&gt;
&lt;li&gt;Accessibility and difficulty options&lt;/li&gt;
&lt;li&gt;Optional weather-aware missions&lt;/li&gt;
&lt;li&gt;Exporting field notes as a personal journal&lt;/li&gt;
&lt;li&gt;Offline-first progressive web app support&lt;/li&gt;
&lt;li&gt;Support for additional local AI models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For now, I wanted to keep the core experience focused rather than turning it into another complicated productivity application.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Project
&lt;/h2&gt;

&lt;p&gt;The complete project is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FieldNote AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Yadnu14/FieldNote-AI?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;View the FieldNote AI repository on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project can be run locally with Python, Flask, Ollama, and Gemma 3:4b.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌿 Final Thought
&lt;/h2&gt;

&lt;p&gt;AI does not always have to give us another reason to stare at a screen.&lt;/p&gt;

&lt;p&gt;Sometimes it can do the opposite.&lt;/p&gt;

&lt;p&gt;FieldNote AI is a small experiment in that direction:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use AI to create the adventure.&lt;br&gt;&lt;br&gt;
Leave the screen behind.&lt;br&gt;&lt;br&gt;
Experience the world.&lt;br&gt;&lt;br&gt;
Come back and remember it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built for the &lt;strong&gt;Hacktoberfest Open Source AI Challenge: Touch Grass&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Built a Local DBMS Study Buddy for My Friend Mayur</title>
      <dc:creator>Yadnesh Kulkarni</dc:creator>
      <pubDate>Sun, 04 Oct 2026 09:03:09 +0000</pubDate>
      <link>https://dev.to/yadnesh_kulkarni_cd7da1e1/i-built-a-local-dbms-study-buddy-for-my-friend-mayur-dnk</link>
      <guid>https://dev.to/yadnesh_kulkarni_cd7da1e1/i-built-a-local-dbms-study-buddy-for-my-friend-mayur-dnk</guid>
      <description>&lt;p&gt;My friend Mayur finds DBMS difficult because the notes are long, theory-heavy, and overwhelming to revise before exams.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Mayur’s Study Buddy&lt;/strong&gt;: a small web app that turns long DBMS notes into simpler revision material.&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%2F3gmot2k0joyojsej8vmk.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%2F3gmot2k0joyojsej8vmk.png" alt="simple explanation" 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%2Fmhdzcgriaafsp2suuvwo.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%2Fmhdzcgriaafsp2suuvwo.png" alt="quiz" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Mayur can paste a long DBMS paragraph into the app and choose one of two options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explain simply&lt;/strong&gt; — creates an easy explanation, key revision points, and a real-life example.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make a quiz&lt;/strong&gt; — creates five practice questions with answers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes the same notes less intimidating and gives him a faster way to revise.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;p&gt;The project uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML for the page structure&lt;/li&gt;
&lt;li&gt;CSS for the design&lt;/li&gt;
&lt;li&gt;JavaScript for the buttons and interaction&lt;/li&gt;
&lt;li&gt;Node.js for a small local server&lt;/li&gt;
&lt;li&gt;Ollama with the &lt;code&gt;gemma3:4b&lt;/code&gt; model for AI responses&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why open AI mattered
&lt;/h2&gt;

&lt;p&gt;The AI is the core of this project.&lt;/p&gt;

&lt;p&gt;I used the open-weight Gemma model through Ollama, running locally on the computer. That means Mayur’s notes are processed locally instead of being sent to a cloud AI service.&lt;/p&gt;

&lt;p&gt;Using a local model also means the project can keep working without a paid AI API and can be changed to use another compatible model later.&lt;/p&gt;

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

&lt;p&gt;This is my first Hacktoberfest project. I learned that a useful project does not need to be huge. It can solve one real problem for one real person.&lt;/p&gt;

&lt;p&gt;I also learned how to connect a simple website to a local AI model and turn a small idea into a working tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;

&lt;p&gt;The source code and setup instructions are available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Yadnu14/dbms-study-buddy" rel="noopener noreferrer"&gt;https://github.com/Yadnu14/dbms-study-buddy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To run it locally:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install Ollama.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;ollama run gemma3:4b&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In the project folder, run &lt;code&gt;node server.js&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading, and good luck&lt;/p&gt;

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