<?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: Abhishek Sahu</title>
    <description>The latest articles on DEV Community by Abhishek Sahu (@abhishek_sahu_b6d19897166).</description>
    <link>https://dev.to/abhishek_sahu_b6d19897166</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%2F4154252%2F44f3be4c-d6bf-477c-ae4c-8da0b7bfeca6.jpg</url>
      <title>DEV Community: Abhishek Sahu</title>
      <link>https://dev.to/abhishek_sahu_b6d19897166</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhishek_sahu_b6d19897166"/>
    <language>en</language>
    <item>
      <title>Ghost in the Machine 👻: Creating Ghost Stories with Local AI</title>
      <dc:creator>Abhishek Sahu</dc:creator>
      <pubDate>Tue, 27 Oct 2026 08:07:53 +0000</pubDate>
      <link>https://dev.to/abhishek_sahu_b6d19897166/ghost-in-the-machine-creating-ghost-stories-with-local-ai-b1o</link>
      <guid>https://dev.to/abhishek_sahu_b6d19897166/ghost-in-the-machine-creating-ghost-stories-with-local-ai-b1o</guid>
      <description>&lt;h1&gt;
  
  
  👻 Ghost in the Machine
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;What if the machine in your room could tell you a ghost story without sending your prompt to a hosted AI API?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is my 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;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Ghost in the Machine&lt;/strong&gt; is a local AI-powered ghost story generator. Users enter a prompt and the application generates a spooky story using the Gemma 3 1B model through Ollama.&lt;/p&gt;

&lt;p&gt;I built this project to explore how open-weight AI models can power creative applications on a local machine.&lt;/p&gt;

&lt;p&gt;The project combines a React and TypeScript frontend with an Express backend and local AI inference.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&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/abhishekkumarsahu1234567-rgb/ghost-in-the-machine" rel="noopener noreferrer"&gt;https://github.com/abhishekkumarsahu1234567-rgb/ghost-in-the-machine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://frontend-puce-chi-10.vercel.app" rel="noopener noreferrer"&gt;https://frontend-puce-chi-10.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is deployed with a React and TypeScript frontend on Vercel and an Express backend on Render. It uses the Groq API for hosted AI story generation, allowing users to generate spooky stories from their own prompts.&lt;/p&gt;

&lt;p&gt;A publicly hosted demo is not available yet. The project is intended to run locally.&lt;/p&gt;

&lt;p&gt;To try it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install &lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt; and &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Download the model:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   ollama pull gemma3:1b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start Ollama and keep it running.&lt;/li&gt;
&lt;li&gt;Open a terminal in the &lt;code&gt;backend&lt;/code&gt; directory, install dependencies with &lt;code&gt;npm install&lt;/code&gt;, and start the server using &lt;code&gt;node server.js&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open another terminal in the &lt;code&gt;frontend&lt;/code&gt; directory, run &lt;code&gt;npm install&lt;/code&gt;, and then run &lt;code&gt;npm run dev&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open the local URL printed by Vite and enter a spooky prompt.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The frontend and backend must both be running for story generation to work.&lt;/p&gt;

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

&lt;p&gt;Explore the complete project source code:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/abhishekkumarsahu1234567-rgb/ghost-in-the-machine" rel="noopener noreferrer"&gt;View Ghost in the Machine on GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the frontend, backend, and project configuration.&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;
&lt;strong&gt;React + TypeScript + Vite:&lt;/strong&gt; For the interactive user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js + Express:&lt;/strong&gt; For the story-generation API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; To run the language model locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 1B:&lt;/strong&gt; The open-weight model used for generating stories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a user submits a prompt, the frontend sends a request to the backend. The backend communicates with the locally running Ollama model and returns the generated story to the frontend.&lt;/p&gt;

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

&lt;p&gt;Open-weight models make it possible for developers to experiment with AI without depending entirely on a hosted model API.&lt;/p&gt;

&lt;p&gt;For a project like this, local inference offers several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;More control:&lt;/strong&gt; Developers can choose and run a model on their own machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experimentation:&lt;/strong&gt; It is easier to explore prompts, model behaviour, and creative use cases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced API dependency:&lt;/strong&gt; Story generation can work without a paid hosted-model API, provided the local model and required resources are available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy potential:&lt;/strong&gt; Prompts can remain on the local machine when the application is configured without external services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local inference still requires suitable hardware and consumes system resources. Privacy also depends on the complete application configuration.&lt;/p&gt;

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

&lt;p&gt;The theme Ghost in the Machine 👻 inspired me to build something that feels playful and slightly mysterious while experimenting with AI-powered storytelling.&lt;/p&gt;

&lt;p&gt;I wanted to turn AI-powered storytelling into a small creative experience where users can enter their own ideas and generate atmospheric spooky stories.&lt;/p&gt;

&lt;p&gt;This project is an exploration of local AI, full-stack development, and the possibilities of open technology.&lt;/p&gt;

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

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

&lt;ul&gt;
&lt;li&gt;Story length and horror-intensity controls.&lt;/li&gt;
&lt;li&gt;Different storytelling styles.&lt;/li&gt;
&lt;li&gt;Better loading and error states.&lt;/li&gt;
&lt;li&gt;A gallery of generated stories.&lt;/li&gt;
&lt;li&gt;A recorded demo showing the complete experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for checking out my project!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built by:&lt;/strong&gt; Abhishek Kumar Sahu&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; Ghost in the Machine 👻&lt;/p&gt;

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