<?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: shauryamalhotra957-wq</title>
    <description>The latest articles on DEV Community by shauryamalhotra957-wq (@shauryamalhotra957wq).</description>
    <link>https://dev.to/shauryamalhotra957wq</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%2F4172056%2F10dee72e-9281-4aca-b459-c8c27108b984.png</url>
      <title>DEV Community: shauryamalhotra957-wq</title>
      <link>https://dev.to/shauryamalhotra957wq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shauryamalhotra957wq"/>
    <language>en</language>
    <item>
      <title>GhostWriter AI: Building a Local AI Horror Story Generator 👻</title>
      <dc:creator>shauryamalhotra957-wq</dc:creator>
      <pubDate>Sat, 31 Oct 2026 14:11:41 +0000</pubDate>
      <link>https://dev.to/shauryamalhotra957wq/ghostwriter-ai-building-a-local-ai-horror-story-generator-32o4</link>
      <guid>https://dev.to/shauryamalhotra957wq/ghostwriter-ai-building-a-local-ai-horror-story-generator-32o4</guid>
      <description>&lt;p&gt;GhostWriter AI: A Local AI Horror Story Generator 👻&lt;/p&gt;

&lt;p&gt;What if you could summon a horror story directly from your terminal, powered by an open-weight AI model running on your own machine?&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;GhostWriter AI&lt;/strong&gt;, a command-line horror story generator I built for the Hacktoberfest 2026 Week 4 challenge: &lt;em&gt;Ghost in the Machine&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  👻 What is GhostWriter AI?
&lt;/h2&gt;

&lt;p&gt;GhostWriter AI is a Python-based terminal application that generates horror stories from user-provided prompts.&lt;/p&gt;

&lt;p&gt;It uses &lt;strong&gt;DistilGPT-2&lt;/strong&gt;, an open-weight language model, through PyTorch and the Hugging Face ecosystem.&lt;/p&gt;

&lt;p&gt;Instead of sending every prompt to a hosted AI API, the application loads the model locally and generates text on the user's machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚙️ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Local AI inference using DistilGPT-2.&lt;/li&gt;
&lt;li&gt;Six horror genres:

&lt;ul&gt;
&lt;li&gt;Supernatural&lt;/li&gt;
&lt;li&gt;Psychological Horror&lt;/li&gt;
&lt;li&gt;Paranormal&lt;/li&gt;
&lt;li&gt;Cosmic Horror&lt;/li&gt;
&lt;li&gt;Gothic Horror&lt;/li&gt;
&lt;li&gt;Sci-Fi Horror&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Three story lengths: short, medium, and long.&lt;/li&gt;
&lt;li&gt;Custom prompts to guide story generation.&lt;/li&gt;
&lt;li&gt;Save generated stories locally as text files.&lt;/li&gt;
&lt;li&gt;Terminal interface with a horror-inspired design.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧠 How does it work?
&lt;/h2&gt;

&lt;p&gt;The application follows a simple pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user enters a story prompt.&lt;/li&gt;
&lt;li&gt;The user selects a horror genre.&lt;/li&gt;
&lt;li&gt;The user chooses the desired story length.&lt;/li&gt;
&lt;li&gt;The local language model generates text.&lt;/li&gt;
&lt;li&gt;The generated story can be saved to the local &lt;code&gt;stories&lt;/code&gt; directory.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The project uses Python, PyTorch, and DistilGPT-2.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔓 Why open-source AI?
&lt;/h2&gt;

&lt;p&gt;For me, the most interesting part of this project is being able to run an AI model locally.&lt;/p&gt;

&lt;p&gt;Open-weight models make experimentation more accessible. They let developers explore inference, modify generation settings, and build applications without depending entirely on a paid hosted API.&lt;/p&gt;

&lt;p&gt;Local inference can also help keep prompts on the user's own machine after the model has been downloaded.&lt;/p&gt;

&lt;p&gt;This makes GhostWriter AI a small experiment in building AI-powered applications with open technology.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/shauryamalhotra957-wq/ghostwriter-ai" rel="noopener noreferrer"&gt;https://github.com/shauryamalhotra957-wq/ghostwriter-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clone the repository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/shauryamalhotra957-wq/ghostwriter-ai.git
&lt;span class="nb"&gt;cd &lt;/span&gt;ghostwriter-ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model weights may need to be downloaded the first time you run the application.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;PyTorch&lt;/li&gt;
&lt;li&gt;DistilGPT-2&lt;/li&gt;
&lt;li&gt;Hugging Face Transformers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚧 What's next?
&lt;/h2&gt;

&lt;p&gt;GhostWriter AI is an early prototype. Story coherence and prompt adherence are areas I want to improve.&lt;/p&gt;

&lt;p&gt;Future plans include experimenting with better open-weight models, improving generation controls, and building a more polished interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;This project helped me explore how open-weight language models can be integrated into a practical application.&lt;/p&gt;

&lt;p&gt;The goal was simple: build a little horror machine that lives in your terminal.&lt;/p&gt;

&lt;p&gt;And perhaps, give it a few nightmares of its own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built for Hacktoberfest 2026 — Week 4: Ghost in the Machine.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge #hacktoberfest #ai #python #opensource
&lt;/h1&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%2Fqnnl9copfp5arai02mok.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%2Fqnnl9copfp5arai02mok.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;.&lt;/em&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

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

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

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

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

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

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

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>LogSloth: A Local-First AI Log Analysis Tool Built for Hacktoberfest</title>
      <dc:creator>shauryamalhotra957-wq</dc:creator>
      <pubDate>Sat, 24 Oct 2026 16:17:41 +0000</pubDate>
      <link>https://dev.to/shauryamalhotra957wq/logsloth-a-local-first-ai-log-analysis-tool-built-for-hacktoberfest-33bi</link>
      <guid>https://dev.to/shauryamalhotra957wq/logsloth-a-local-first-ai-log-analysis-tool-built-for-hacktoberfest-33bi</guid>
      <description>&lt;p&gt;Building LogSloth was my Week 3 Hacktoberfest challenge: a lightweight, local-first tool that turns messy application logs into a concise security-focused briefing.&lt;/p&gt;

&lt;p&gt;Instead of manually digging through hundreds of log lines, LogSloth parses the input, identifies recognizable events, highlights suspicious activity, and presents the results in a simple Streamlit interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  🦥 What is LogSloth?
&lt;/h2&gt;

&lt;p&gt;LogSloth is a local log-analysis and security briefing application designed to make raw authentication/application logs easier to understand.&lt;/p&gt;

&lt;p&gt;The application currently provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Log parsing&lt;/strong&gt; from raw log files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Event classification&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Detection of recognizable security-related events&lt;/li&gt;
&lt;li&gt;Identification of &lt;strong&gt;unrecognized log lines&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A summarized security briefing&lt;/li&gt;
&lt;li&gt;A simple &lt;strong&gt;Streamlit UI&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Local processing without requiring users to upload their logs to a third-party service&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During testing, LogSloth successfully processed a sample log containing &lt;strong&gt;80 total lines&lt;/strong&gt;, identifying &lt;strong&gt;66 recognizable events&lt;/strong&gt;, &lt;strong&gt;13 unrecognized lines&lt;/strong&gt;, and &lt;strong&gt;1 blank line&lt;/strong&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Local-first processing&lt;/li&gt;
&lt;li&gt;Git/GitHub&lt;/li&gt;
&lt;li&gt;Log parsing and event classification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was not to build another complicated dashboard. I wanted something that could take messy logs and quickly answer the important question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What actually happened in these logs?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;Here is the recorded demo of LogSloth:&lt;/p&gt;

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

&lt;p&gt;The video walks through the application and demonstrates the log-analysis workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Source Code
&lt;/h2&gt;

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

&lt;p&gt;&lt;a href="https://github.com/shauryamalhotra957-wq/logsloth" rel="noopener noreferrer"&gt;https://github.com/shauryamalhotra957-wq/logsloth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the application source code and project documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 Why I Built It
&lt;/h2&gt;

&lt;p&gt;Logs are extremely useful for security analysis, but raw logs are often difficult to read quickly.&lt;/p&gt;

&lt;p&gt;A useful security tool should help reduce that initial investigation effort by turning noisy input into something understandable.&lt;/p&gt;

&lt;p&gt;LogSloth is my exploration of that idea while learning more about Python, security tooling, log processing, and building practical open-source software.&lt;/p&gt;

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

&lt;p&gt;Working on LogSloth taught me a lot about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing a useful developer-facing tool instead of just a demo&lt;/li&gt;
&lt;li&gt;Parsing imperfect real-world input&lt;/li&gt;
&lt;li&gt;Handling unknown/unrecognized log formats&lt;/li&gt;
&lt;li&gt;Building a usable Streamlit interface&lt;/li&gt;
&lt;li&gt;Structuring a project for GitHub&lt;/li&gt;
&lt;li&gt;Testing functionality before shipping&lt;/li&gt;
&lt;li&gt;Documenting an open-source project&lt;/li&gt;
&lt;li&gt;Turning a Hacktoberfest challenge into a complete working project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project is still something I want to improve, but the current version provides a working foundation for local log analysis and security-focused reporting.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙌 Hacktoberfest
&lt;/h2&gt;

&lt;p&gt;This project was built as part of my &lt;strong&gt;Hacktoberfest 2026 Week 3 challenge&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Thanks to the open-source community and the Hacktoberfest ecosystem for pushing me to build, ship, and contribute rather than keeping projects sitting unfinished on my machine.&lt;/p&gt;

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Outside Quest 🌿: Turn a 10-Minute Break into an AI-Powered Outdoor Adventure</title>
      <dc:creator>shauryamalhotra957-wq</dc:creator>
      <pubDate>Fri, 09 Oct 2026 22:43:20 +0000</pubDate>
      <link>https://dev.to/shauryamalhotra957wq/outside-quest-turn-a-10-minute-break-into-an-ai-powered-outdoor-adventure-4433</link>
      <guid>https://dev.to/shauryamalhotra957wq/outside-quest-turn-a-10-minute-break-into-an-ai-powered-outdoor-adventure-4433</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;When I'm coding, studying, or debugging, it's easy to spend hours looking at a screen. I wanted to build something that makes stepping outside feel less like another item on a to-do list and more like a small adventure.&lt;/p&gt;

&lt;p&gt;That idea became &lt;strong&gt;Outside Quest 🌿&lt;/strong&gt;, an AI-powered outdoor adventure generator that turns a short break into three activities you can actually go and try.&lt;/p&gt;

&lt;p&gt;Choose an environment—campus, garden, park, or neighborhood—along with your available time, interests, and accessibility preferences. Outside Quest then generates three personalized quests, such as a sensory walk, mindful observation, nature journaling, or exploring the details of your surroundings.&lt;/p&gt;

&lt;p&gt;The app also has an Adventure Log that tracks completed quests, outdoor minutes, and streaks in the browser without requiring an account.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less time planning a break and more time experiencing the real world.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Try the live application:&lt;/strong&gt; &lt;a href="https://outside-quest.onrender.com" rel="noopener noreferrer"&gt;https://outside-quest.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I deployed Outside Quest on Render and tested the public application. It successfully generated three AI-created outdoor quests from my selected preferences.&lt;/p&gt;

&lt;p&gt;The free hosting instance can take longer to respond after periods of inactivity, so the first visit may need a little patience.&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/shauryamalhotra957-wq/outside-quest" rel="noopener noreferrer"&gt;https://github.com/shauryamalhotra957-wq/outside-quest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the FastAPI backend, responsive frontend, automated tests, setup instructions, environment-variable template, Render deployment configuration, and MIT license.&lt;/p&gt;

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

&lt;p&gt;I built Outside Quest using Python, FastAPI, Pydantic, and a responsive HTML, CSS, and JavaScript frontend.&lt;/p&gt;

&lt;p&gt;For AI generation, I chose &lt;strong&gt;Meta Llama 3.1 8B Instruct&lt;/strong&gt;, an open-weight language model accessed through OpenRouter using Backboard.io's API.&lt;/p&gt;

&lt;p&gt;The backend validates the preferences submitted by the user, sends a generation request to Backboard, and validates the returned structured content before displaying the quests. The Backboard API key stays on the server in an environment variable instead of being embedded in the frontend.&lt;/p&gt;

&lt;p&gt;I also added error handling for API failures, timeouts, malformed responses, and missing configuration. The Adventure Log uses browser local storage so users can track completed quests without creating an account.&lt;/p&gt;

&lt;p&gt;The project includes automated tests for input validation, API request handling, error cases, and response parsing. My latest reported test run passed all 40 tests without making live model requests.&lt;/p&gt;

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

&lt;p&gt;I wanted to build around an open-weight model rather than make the project dependent on a single closed model.&lt;/p&gt;

&lt;p&gt;Using Llama 3.1 gives the project a model whose weights are publicly available under Meta's Llama Community License. The selected model can also be changed through the backend's configuration, making experimentation with alternative models possible without redesigning the entire application.&lt;/p&gt;

&lt;p&gt;There is an important trade-off: &lt;strong&gt;Outside Quest does not currently run inference locally or work fully offline.&lt;/strong&gt; It uses Backboard and OpenRouter for model access. The selected preferences—including the environment, available time, and interests—are sent to Backboard to generate quests.&lt;/p&gt;

&lt;p&gt;The application does not request GPS coordinates or camera permissions, and it does not require a user account. I wanted to be transparent about the distinction between avoiding unnecessary personal data and running an application entirely on-device.&lt;/p&gt;

&lt;p&gt;For this project, open-weight AI provides flexibility in model choice and experimentation, while a hosted API makes the application practical to deploy and demonstrate.&lt;/p&gt;

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

&lt;p&gt;Building Outside Quest helped me connect a real AI model to a Python web application, validate structured model responses, handle failures from an external API, protect credentials, write automated tests, and deploy an application from GitHub to Render.&lt;/p&gt;

&lt;p&gt;It also changed how I think about the purpose of an AI application. Not every useful product needs to maximize screen time. Sometimes the best outcome is helping someone close their laptop and go outside.&lt;/p&gt;

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

&lt;p&gt;I'd like to improve quest personalization, evaluate the usefulness and safety of generated activities, and explore additional open-weight models.&lt;/p&gt;

&lt;p&gt;For now, choose a quest, step outside safely, and notice something you might otherwise have missed.&lt;/p&gt;

&lt;p&gt;🌿 &lt;strong&gt;Touch grass. Reclaim your day.&lt;/strong&gt;&lt;/p&gt;

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