<?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: Jesvin Vijesh S</title>
    <description>The latest articles on DEV Community by Jesvin Vijesh S (@jesvinvijesh).</description>
    <link>https://dev.to/jesvinvijesh</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%2F4176299%2F2554d54e-d69a-4df9-b9b4-1f533e8efc73.png</url>
      <title>DEV Community: Jesvin Vijesh S</title>
      <link>https://dev.to/jesvinvijesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jesvinvijesh"/>
    <language>en</language>
    <item>
      <title>Haunted Terminal</title>
      <dc:creator>Jesvin Vijesh S</dc:creator>
      <pubDate>Fri, 30 Oct 2026 06:06:40 +0000</pubDate>
      <link>https://dev.to/jesvinvijesh/haunted-terminal-1l88</link>
      <guid>https://dev.to/jesvinvijesh/haunted-terminal-1l88</guid>
      <description>&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;/p&gt;

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

&lt;p&gt;I built THE HAUNTED TERMINAL, an AI-powered haunted shell that transforms a traditional command-line interface into an immersive psychological horror experience.&lt;/p&gt;

&lt;p&gt;The application features a fictional supernatural entity called UNKNOWN that observes the user's commands, whispers eerie and context-aware messages, remembers previous interactions, and gradually develops its own personality and emotional states.&lt;/p&gt;

&lt;p&gt;As users interact with the terminal, the entity's possession level increases, unlocking mysterious events, hidden commands, unexpected messages, and eventually a second entity called THE OTHER.&lt;/p&gt;

&lt;p&gt;I interpreted the theme by combining the functionality of a real terminal with the atmosphere of a psychological horror game. Rather than relying entirely on scripted jump scares, I wanted the experience to feel unpredictable and intelligent, as if something were slowly becoming aware inside the computer.&lt;/p&gt;

&lt;p&gt;My inspiration came from the idea of an ordinary terminal that begins behaving in ways the user cannot explain. The goal was to make every command feel like a potential interaction with something unknown.&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/jesvinvijesh" rel="noopener noreferrer"&gt;
        jesvinvijesh
      &lt;/a&gt; / &lt;a href="https://github.com/jesvinvijesh/haunted-terminal" rel="noopener noreferrer"&gt;
        haunted-terminal
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;THE HAUNTED TERMINAL&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;You execute the commands. Something else is listening.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is implemented&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;This repository now contains a TypeScript core architecture for an offline-first haunted terminal engine with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Secure app-layer secret command handling (&lt;code&gt;invoke&lt;/code&gt;, &lt;code&gt;whoisentity&lt;/code&gt;, &lt;code&gt;exorcise&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;Shell sandbox guard rails for dangerous commands&lt;/li&gt;
&lt;li&gt;AI provider abstraction for local &lt;code&gt;Ollama&lt;/code&gt; and &lt;code&gt;llama.cpp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Structured AI JSON response validation/clamping&lt;/li&gt;
&lt;li&gt;Entity mood, possession, session memory, and horror event managers&lt;/li&gt;
&lt;li&gt;SQLite-backed local memory store with sensitive-text redaction&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Development&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm install
npm run typecheck
npm &lt;span class="pl-c1"&gt;test&lt;/span&gt;
npm run build&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Start the interactive terminal with:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm start&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;For development without building first:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Enter shell commands at the &lt;code&gt;haunted&amp;gt;&lt;/code&gt; prompt. Use &lt;code&gt;.help&lt;/code&gt; for help and &lt;code&gt;.exit&lt;/code&gt; to quit.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Secret commands&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Secret commands are intercepted before they reach the shell. Enter them as the complete command name:&lt;/p&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Response&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;invoke&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;You should not have called me.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;whoisentity&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Reports an&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/jesvinvijesh/haunted-terminal" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;I designed the project around open-source AI and local inference, using Ollama as the primary AI runtime and Qwen3 as the preferred open-weight language model.&lt;/p&gt;

&lt;p&gt;Ollama allows the application to run AI models locally without requiring paid API services. I also designed the architecture to support llama.cpp and compatible GGUF models as alternative inference options.&lt;/p&gt;

&lt;p&gt;The application uses React, TypeScript, Electron, and xterm.js to provide a desktop interface and a real interactive terminal. SQLite handles persistent entity memory, allowing UNKNOWN to remember previous interactions and develop its personality over time.&lt;/p&gt;

&lt;p&gt;The AI is integrated through a modular provider architecture that handles model selection, streaming responses, command-context analysis, and structured JSON generation.&lt;/p&gt;

&lt;p&gt;I designed several interconnected systems around the AI, including an entity personality engine, emotional state engine, possession progression system, command-aware whisper generator, and supernatural event manager.&lt;/p&gt;

&lt;p&gt;A key design decision was separating the AI from the actual shell. The AI only receives sanitized command metadata and generates dialogue; it cannot execute commands or modify the user's system.&lt;/p&gt;

&lt;p&gt;The overall goal was to demonstrate how open-source AI and local language models can be used to create an interactive, personalized horror experience while keeping the application private, extensible, and safe.&lt;/p&gt;

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

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

&lt;p&gt;This is my first project created using open-source AI models. So the main goal was exploration.&lt;/p&gt;

&lt;p&gt;The spirit of THE HAUNTED TERMINAL is built around the idea that something ordinary can become deeply unsettling when it starts behaving as if it is alive. I wanted to transform a familiar command-line interface into an experience where technology meets psychological horror, curiosity, and the unknown.&lt;/p&gt;

&lt;p&gt;At its heart is UNKNOWN, a fictional entity that slowly develops awareness through interactions with the user. It observes commands, remembers encounters, whispers unexpected messages, and gradually reveals its personality. The more time users spend inside the terminal, the more the experience changes.&lt;/p&gt;

&lt;p&gt;What makes the project special is that the horror isn't entirely scripted. By incorporating open-source AI, I wanted UNKNOWN to feel less like a collection of predefined responses and more like an evolving digital presence with its own personality, memory, and emotions.&lt;/p&gt;

&lt;p&gt;The deeper idea is to blur the line between using a computer and interacting with something that seems to inhabit it. It's not just about frightening the user; it's about creating curiosity, suspense, and the lingering feeling that something is listening.&lt;/p&gt;

&lt;p&gt;"You execute the commands. Something else is listening."&lt;/p&gt;

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

&lt;p&gt;Best Use of GitHub Copilot&lt;/p&gt;

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