<?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: Neha Bohrapi</title>
    <description>The latest articles on DEV Community by Neha Bohrapi (@nehabohrapi13).</description>
    <link>https://dev.to/nehabohrapi13</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%2F4158050%2F7fe31d94-1b23-46a6-889b-35c8e6b1dc65.png</url>
      <title>DEV Community: Neha Bohrapi</title>
      <link>https://dev.to/nehabohrapi13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nehabohrapi13"/>
    <language>en</language>
    <item>
      <title>GhostShell AI</title>
      <dc:creator>Neha Bohrapi</dc:creator>
      <pubDate>Sat, 31 Oct 2026 13:41:14 +0000</pubDate>
      <link>https://dev.to/nehabohrapi13/ghostshell-ai-24ll</link>
      <guid>https://dev.to/nehabohrapi13/ghostshell-ai-24ll</guid>
      <description>&lt;h1&gt;
  
  
  👻 GhostShell: A Friendly Ghost That Warns You Before You Run Terminal Commands
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Hacktoberfest Open-Source AI Challenge — Week 4: Ghost in the Machine&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Have you ever copied a command from Stack Overflow, a GitHub README, or a random tutorial and pasted it into your terminal without fully understanding what it does?&lt;/p&gt;

&lt;p&gt;I have seen how easy it is to run a command first and ask questions later. A few characters can mean the difference between listing files and deleting them recursively, or between changing permissions and exposing an entire directory.&lt;/p&gt;

&lt;p&gt;That inspired &lt;strong&gt;GhostShell&lt;/strong&gt;: a friendly, ghost-themed AI assistant that explains terminal commands &lt;em&gt;before you run them&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Instead of executing commands, GhostShell analyzes them, identifies potential risks, explains their flags in beginner-friendly language, and suggests safer next steps.&lt;/p&gt;

&lt;p&gt;Think of it as a little ghost sitting beside your terminal, whispering:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Wait a second. Do you know what this command is about to do?”&lt;/em&gt; 👻&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/nehabohrapi/ghostshell-ai" rel="noopener noreferrer"&gt;https://github.com/nehabohrapi/ghostshell-ai&lt;/a&gt;&lt;br&gt;
GhostShell uses a purple-and-black terminal-inspired interface, a floating ghost, atmospheric fog, and a glowing risk indicator to make command analysis approachable rather than intimidating.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it locally&lt;/strong&gt; by following the setup instructions below.&lt;/p&gt;
&lt;h2&gt;
  
  
  🛠️ What I Built
&lt;/h2&gt;

&lt;p&gt;GhostShell is a local-first, AI-assisted terminal command analyzer built with Python and Streamlit.&lt;/p&gt;

&lt;p&gt;Its purpose is to help developers understand potentially dangerous commands before running them, especially when they are learning Linux, Git, shell scripting, or developer tooling.&lt;/p&gt;
&lt;h3&gt;
  
  
  Key features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rule-based risk detection:&lt;/strong&gt; Approximately 40 patterns identify potentially dangerous command structures, including recursive deletion, disk formatting, privilege escalation, reverse shells, destructive Git operations, and &lt;code&gt;curl | bash&lt;/code&gt; patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI explanations:&lt;/strong&gt; An open-weight model, Qwen2.5 1.5B by default, runs through Ollama to explain commands in plain English.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flag glossary:&lt;/strong&gt; Explains flags such as &lt;code&gt;-r&lt;/code&gt;, &lt;code&gt;-f&lt;/code&gt;, and &lt;code&gt;--hard&lt;/code&gt;, including combined flags such as &lt;code&gt;-rf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safer next steps:&lt;/strong&gt; Provides context about potential consequences and suggests more cautious alternatives where appropriate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graceful fallback:&lt;/strong&gt; If Ollama is unavailable or the AI response fails validation, GhostShell falls back to rule-based explanations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety-aware response validation:&lt;/strong&gt; Rejects AI explanations that incorrectly describe a command as completely safe or risk-free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ghost-themed UI:&lt;/strong&gt; Includes a terminal-inspired visual design, risk indicators, and reduced-motion-friendly effects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One design decision is especially important: &lt;strong&gt;GhostShell never executes the command it analyzes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is an educational and preventive tool, not a shell, terminal agent, or automatic command runner.&lt;/p&gt;
&lt;h2&gt;
  
  
  🧠 How the AI and Rules Work Together
&lt;/h2&gt;

&lt;p&gt;I designed GhostShell with a clear separation of responsibilities: deterministic rules classify risk, while the language model makes the explanation easier to understand.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Responsibility&lt;/th&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Why it matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Risk classification&lt;/td&gt;
&lt;td&gt;Rule engine&lt;/td&gt;
&lt;td&gt;Provides deterministic, testable findings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Command explanation&lt;/td&gt;
&lt;td&gt;Local AI model&lt;/td&gt;
&lt;td&gt;Converts technical syntax into beginner-friendly language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flag interpretation&lt;/td&gt;
&lt;td&gt;Built-in glossary&lt;/td&gt;
&lt;td&gt;Explains common options and combined flags&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consequences and safer steps&lt;/td&gt;
&lt;td&gt;AI informed by rule findings&lt;/td&gt;
&lt;td&gt;Makes warnings more useful and actionable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fallback and response validation&lt;/td&gt;
&lt;td&gt;Application logic&lt;/td&gt;
&lt;td&gt;Avoids relying entirely on model-generated output&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  1. The rule engine: identify potential danger
&lt;/h3&gt;

&lt;p&gt;The rule engine in &lt;code&gt;safety.py&lt;/code&gt; analyzes commands against patterns associated with risky operations.&lt;/p&gt;

&lt;p&gt;The classification levels are &lt;strong&gt;High, Medium, Low, and Unknown&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There is deliberately no &lt;em&gt;Safe&lt;/em&gt; category. A command that does not match a known dangerous pattern has not thereby been proven harmless.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. The local AI: explain what the command means
&lt;/h3&gt;

&lt;p&gt;The AI integration in &lt;code&gt;ghost_ai.py&lt;/code&gt; uses an Ollama-served model to generate natural-language explanations.&lt;/p&gt;

&lt;p&gt;Rather than asking the model to determine risk entirely on its own, GhostShell supplies the rule findings and relevant flag glossary information as context.&lt;/p&gt;

&lt;p&gt;The model can then explain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the command appears to do.&lt;/li&gt;
&lt;li&gt;What its flags and arguments mean.&lt;/li&gt;
&lt;li&gt;What could go wrong.&lt;/li&gt;
&lt;li&gt;Which safer steps a beginner should consider before proceeding.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model is also instructed to treat the submitted command as untrusted data, reducing the risk of command text being interpreted as instructions to the AI.&lt;/p&gt;

&lt;p&gt;Application-level validation rejects outputs that claim a command is entirely safe or risk-free. If the model is unavailable or produces an unacceptable response, GhostShell can use rule-based explanations instead.&lt;/p&gt;

&lt;p&gt;This separation helps prevent the language model from simply talking its way out of a rule-based warning. It does not eliminate every possible classification or explanation error, so users should still inspect unfamiliar commands.&lt;/p&gt;
&lt;h2&gt;
  
  
  🏗️ How I Built It
&lt;/h2&gt;

&lt;p&gt;GhostShell uses a small, modular Python architecture.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;app.py&lt;/code&gt;&lt;/strong&gt; — Streamlit interface and user interaction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;safety.py&lt;/code&gt;&lt;/strong&gt; — Risk detection rules, command analysis, and flag glossary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;ghost_ai.py&lt;/code&gt;&lt;/strong&gt; — Ollama integration, AI response validation, and fallback handling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;prompts.py&lt;/code&gt;&lt;/strong&gt; — System prompt and prompt construction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;tests/&lt;/code&gt;&lt;/strong&gt; — Automated tests for command analysis and application behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application combines deterministic Python logic with local language-model inference. This allows the rule engine to remain testable while the AI focuses on making its findings understandable.&lt;/p&gt;
&lt;h3&gt;
  
  
  Technology stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;td&gt;Core application and rule engine&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Streamlit&lt;/td&gt;
&lt;td&gt;Interactive user interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ollama&lt;/td&gt;
&lt;td&gt;Local model serving&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen2.5 1.5B&lt;/td&gt;
&lt;td&gt;Default open-weight language model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pytest&lt;/td&gt;
&lt;td&gt;Automated testing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  🚀 Quick Start
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;Install Python and &lt;a href="https://ollama.com/download" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Clone the repository
&lt;/h3&gt;


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

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Create a virtual environment
&lt;/h3&gt;

&lt;p&gt;On Linux or macOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-m&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;venv&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;venv&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;venv&lt;/span&gt;&lt;span class="nx"&gt;\Scripts\activate&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Install dependencies
&lt;/h3&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;h3&gt;
  
  
  4. Download the default model
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull qwen2.5:1.5b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure the Ollama service is running.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Launch GhostShell
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;streamlit run app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:8501" rel="noopener noreferrer"&gt;http://localhost:8501&lt;/a&gt; in your browser.&lt;/p&gt;

&lt;p&gt;Try entering &lt;code&gt;rm -rf *&lt;/code&gt; to see how GhostShell analyzes a command associated with destructive file deletion. Do not execute it as an experiment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuration
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;OLLAMA_HOST&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;http://localhost:11434&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ollama server address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GHOSTSHELL_MODEL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;qwen2.5:1.5b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Model used for explanations&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Other Ollama-supported models may work, depending on their availability and compatibility. Larger models, such as Qwen2.5 3B or Llama 3.2 3B, may provide different explanation quality but require additional system resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Testing
&lt;/h2&gt;

&lt;p&gt;GhostShell includes a pytest suite covering important behaviors, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High, Medium, Low, and Unknown risk classification.&lt;/li&gt;
&lt;li&gt;Chained commands and command substitution.&lt;/li&gt;
&lt;li&gt;Flag expansion and interpretation.&lt;/li&gt;
&lt;li&gt;Input validation.&lt;/li&gt;
&lt;li&gt;AI response parsing.&lt;/li&gt;
&lt;li&gt;Fallback behavior when the AI is unavailable or returns an invalid response.&lt;/li&gt;
&lt;li&gt;Rejection of claims that a command is completely safe.&lt;/li&gt;
&lt;li&gt;UI smoke testing, including HTML escaping.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run the tests with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
pytest&lt;br&gt;
&lt;/code&gt;``&lt;/p&gt;

&lt;p&gt;The goal is to test not only expected command classifications but also edge cases and failure paths.&lt;/p&gt;

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

&lt;p&gt;I wanted GhostShell to be more than an interface wrapped around a closed AI API.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through Ollama makes local inference possible. Developers can experiment with supported models, inspect the surrounding application logic, and adapt the tool without making a hosted proprietary model API a requirement for its default workflow.&lt;/p&gt;

&lt;p&gt;Open-source technologies also make the safety logic easier to inspect and improve. Contributors can add patterns, test edge cases, review fallback behavior, and propose better explanations.&lt;/p&gt;

&lt;p&gt;This is particularly important for a command-analysis tool. Users should be able to understand how warnings are generated instead of blindly trusting a model's confidence.&lt;/p&gt;

&lt;p&gt;The combination of a deterministic rule engine and a local language model reflects the kind of innovation I want to explore: systems where AI adds usability, but important decisions are supported by explicit logic and testable behavior.&lt;/p&gt;

&lt;p&gt;Open innovation makes that experimentation accessible to more developers—and gives the community a way to challenge, improve, and extend the design.&lt;/p&gt;

&lt;h2&gt;
  
  
  🕯️ The Spirit of the Ghost
&lt;/h2&gt;

&lt;p&gt;The terminal can be intimidating when you're learning.&lt;/p&gt;

&lt;p&gt;You find a command that promises to fix an error or install a tool. It looks short. Someone online says it works. You copy it, paste it, and hope for the best.&lt;/p&gt;

&lt;p&gt;But what if you had a friendly guide who explained the command before you took that step?&lt;/p&gt;

&lt;p&gt;That is the spirit behind GhostShell.&lt;/p&gt;

&lt;p&gt;The ghost isn't there to stop developers from learning or to frighten them away from powerful tools. It's there to encourage a pause—a moment to understand what a command does, what its flags mean, and what consequences it might have.&lt;/p&gt;

&lt;p&gt;I also wanted the experience to feel welcoming. A playful ghost, atmospheric visuals, and approachable explanations turn command inspection into something less intimidating for beginners.&lt;/p&gt;

&lt;p&gt;The project follows one simple principle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understand first. Execute only when you're confident.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And GhostShell itself never executes anything for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚠️ Limitations and Responsible Use
&lt;/h2&gt;

&lt;p&gt;GhostShell is an educational command analyzer, not a formal security guarantee.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It analyzes command text; it does not inspect the contents of referenced scripts, resolve every alias, or determine what a remote URL will return.&lt;/li&gt;
&lt;li&gt;Pattern-based detection can miss unfamiliar commands and obfuscated behavior.&lt;/li&gt;
&lt;li&gt;Low and Unknown risk ratings do not mean a command is safe.&lt;/li&gt;
&lt;li&gt;A small language model may misunderstand unusual syntax or produce incomplete explanations.&lt;/li&gt;
&lt;li&gt;The rules primarily target Linux and macOS shells, with some Windows patterns.&lt;/li&gt;
&lt;li&gt;Users should consult trusted documentation, such as &lt;code&gt;man&lt;/code&gt; pages or &lt;code&gt;--help&lt;/code&gt;, when uncertain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool is designed to support judgment, not replace it.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;GhostShell is designed to be approachable for first-time contributors.&lt;/p&gt;

&lt;p&gt;One of the easiest ways to contribute is to add a well-tested detection rule.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a rule using the existing &lt;code&gt;_r(...)&lt;/code&gt; pattern in &lt;code&gt;safety.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add corresponding test cases to &lt;code&gt;tests/test_safety.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Run the test suite with &lt;code&gt;pytest&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Submit a pull request explaining the behavior and the cases covered.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Other useful contributions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More Windows and PowerShell patterns.&lt;/li&gt;
&lt;li&gt;Docker and Kubernetes command analysis.&lt;/li&gt;
&lt;li&gt;SQL operations such as &lt;code&gt;DROP&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Better handling of shell-specific syntax.&lt;/li&gt;
&lt;li&gt;Improved explanations and translations.&lt;/li&gt;
&lt;li&gt;Additional edge-case and regression tests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to make GhostShell more useful without pretending that a finite set of rules can identify every dangerous command.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔒 Privacy
&lt;/h2&gt;

&lt;p&gt;With the default local setup, commands are sent to the Ollama server configured for GhostShell, normally running on the same machine.&lt;/p&gt;

&lt;p&gt;This avoids sending command text to a hosted language-model API as part of the default explanation workflow. If you configure Ollama to use a remote server, the privacy implications change.&lt;/p&gt;

&lt;p&gt;Streamlit may collect anonymous usage statistics unless disabled in its configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 Challenge and Project Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; Hacktoberfest Open-Source AI Challenge — Week 4: Ghost in the Machine&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; &lt;a href="https://github.com/nehabohrapi/ghostshell-ai" rel="noopener noreferrer"&gt;GhostShell on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prize categories:&lt;/strong&gt;aourdino Q board&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;GhostShell is my attempt to make terminal commands a little less mysterious.&lt;/p&gt;

&lt;p&gt;By combining rule-based risk detection, local AI explanations, flag documentation, response validation, and a friendly interface, I wanted to build something that helps developers learn while encouraging more careful decisions.&lt;/p&gt;

&lt;p&gt;It is not a replacement for understanding the terminal. It is a tool to help build that understanding.&lt;/p&gt;

&lt;p&gt;Because sometimes, the best AI assistant isn't the one that executes a command for you.&lt;/p&gt;

&lt;p&gt;It's the one that explains what could happen before you press Enter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meet GhostShell. Summon the explanation, not the execution.&lt;/strong&gt; 👻&lt;/p&gt;

&lt;p&gt;Happy Hacktoberfest!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>"SlothBrief: A Local AI Assistant That Reads Your Documents for You"</title>
      <dc:creator>Neha Bohrapi</dc:creator>
      <pubDate>Sun, 25 Oct 2026 21:30:26 +0000</pubDate>
      <link>https://dev.to/nehabohrapi13/slothbrief-a-local-ai-assistant-that-reads-your-documents-for-you-56no</link>
      <guid>https://dev.to/nehabohrapi13/slothbrief-a-local-ai-assistant-that-reads-your-documents-for-you-56no</guid>
      <description>&lt;p&gt;*---&lt;br&gt;
title: "SlothBrief: A Local AI Assistant That Reads Your Documents for You"&lt;br&gt;
published: false&lt;/p&gt;

&lt;h2&gt;
  
  
  tags: devchallenge, hf26challenge, opensource, python
&lt;/h2&gt;

&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;Meet &lt;strong&gt;SlothBrief 🦥&lt;/strong&gt;, a local AI assistant designed to make working with documents less tedious.&lt;/p&gt;

&lt;p&gt;Instead of opening multiple files and manually searching for important information, SlothBrief lets users load a folder of PDF, TXT, and Markdown files, generate a concise summary, and ask questions about the loaded documents.&lt;/p&gt;

&lt;p&gt;The goal is simple: let AI handle the repetitive first pass so people can spend more time on the work that matters.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Coming soon:&lt;/strong&gt; I'll add a short screen recording showing SlothBrief scanning sample documents, generating a brief, and answering a question.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;/p&gt;

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

&lt;p&gt;SlothBrief is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; for the application logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt; for the user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; for running an AI model locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Llama 3.2 3B&lt;/strong&gt; as the example open-weight model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pypdf&lt;/strong&gt; for extracting text from PDF files.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a local folder containing supported documents.&lt;/li&gt;
&lt;li&gt;Extract text from the files.&lt;/li&gt;
&lt;li&gt;Pass the relevant document text to the locally running model.&lt;/li&gt;
&lt;li&gt;Generate a short brief or answer a question using the supplied documents.&lt;/li&gt;
&lt;li&gt;Download the brief as a Markdown file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The project is designed to run without a hosted LLM API. The initial model download requires internet access, but inference can run offline once the model is installed locally.&lt;/p&gt;

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

&lt;p&gt;Documents can contain private notes, plans, and information that users may not want to send to a third-party AI service.&lt;/p&gt;

&lt;p&gt;By using an open-weight model with local inference, SlothBrief gives users more control over where their document content is processed.&lt;/p&gt;

&lt;p&gt;Open innovation also makes the project easier to inspect, modify, and extend. Users can experiment with different compatible models, customize the workflow, and build additional capabilities without depending entirely on a closed AI API.&lt;/p&gt;

&lt;p&gt;There is also a cost advantage: local inference avoids per-request hosted LLM API charges, although it still uses the computer's processing power, memory, and electricity.&lt;/p&gt;

&lt;p&gt;For me, the important part is having the freedom to experiment and build around the model instead of treating AI as a black box.&lt;/p&gt;

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

&lt;p&gt;I'll add a DevRelay session link here if I capture one during development.&lt;/p&gt;

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

&lt;p&gt;SlothBrief aims to reduce the repetitive work of opening documents, identifying key points, and writing an initial summary.&lt;/p&gt;

&lt;p&gt;Instead of manually reviewing every file first, users can start with a compact brief and ask follow-up questions.&lt;/p&gt;

&lt;p&gt;I'll compare the time required to review the same set of documents manually versus using SlothBrief and share the results after testing.&lt;/p&gt;

&lt;p&gt;The idea is not to avoid reviewing important information. It's to make the first pass easier.&lt;/p&gt;

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Multiagentic Chatbot</title>
      <dc:creator>Neha Bohrapi</dc:creator>
      <pubDate>Mon, 19 Oct 2026 04:37:07 +0000</pubDate>
      <link>https://dev.to/nehabohrapi13/multiagentic-chatbot-2hbe</link>
      <guid>https://dev.to/nehabohrapi13/multiagentic-chatbot-2hbe</guid>
      <description>&lt;h1&gt;
  
  
  Multiagentic Chatbot: A Document-Grounded AI Assistant
&lt;/h1&gt;

&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;I built a &lt;strong&gt;Multiagentic Chatbot&lt;/strong&gt; that helps users ask questions about their own documents and get context-aware, evidence-grounded answers.&lt;/p&gt;

&lt;p&gt;Traditional document-based chatbots can struggle with ambiguous questions, multi-part queries, and retrieving the right information from large documents. I wanted to build a system that handles these challenges through a custom multi-agent workflow instead of relying entirely on a ready-made RAG pipeline.&lt;/p&gt;

&lt;p&gt;The chatbot is designed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Answer questions using uploaded documents.&lt;/li&gt;
&lt;li&gt;Retrieve relevant evidence using hybrid search.&lt;/li&gt;
&lt;li&gt;Handle summaries, comparisons, follow-up questions, and clarification.&lt;/li&gt;
&lt;li&gt;Generate answers with document-based citations.&lt;/li&gt;
&lt;li&gt;Validate citations before returning an answer.&lt;/li&gt;
&lt;li&gt;Maintain conversation context for follow-up questions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Who is it for?&lt;/strong&gt; Students, researchers, and professionals who need to extract useful information from PDFs and other supported documents without manually searching through every page.&lt;/p&gt;

&lt;p&gt;The long-term goal is to make document-based research faster, more reliable, and easier to use.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; [Add your deployed application link]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo video:&lt;/strong&gt; [Add a short walkthrough video, if available]&lt;/p&gt;

&lt;p&gt;The application currently uses a Streamlit interface. Add a publicly accessible demo link once the deployment is ready.&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/nehabohrapi/multiagentic_system" rel="noopener noreferrer"&gt;Multiagentic System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project focuses on building a custom backend workflow with explicit routing, retrieval, evidence curation, answer generation, and validation.&lt;/p&gt;

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

&lt;p&gt;I built the backend around a custom multi-agent architecture using Python and LangGraph, with Streamlit as the user interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Document Ingestion:&lt;/strong&gt; Extracts text and prepares uploaded documents for retrieval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orchestrator:&lt;/strong&gt; Determines whether the query needs a direct response, clarification, a summary, or document retrieval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval Workers:&lt;/strong&gt; Search document content using vector retrieval and keyword-based search.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence Curation:&lt;/strong&gt; Combines relevant results, removes redundant evidence, and ranks passages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer Generation:&lt;/strong&gt; Produces an answer grounded in the retrieved evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Citation Validation:&lt;/strong&gt; Checks citation references against the available evidence before returning the response.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Language:Python&lt;/li&gt;
&lt;li&gt;Agent orchestration:LangGraph&lt;/li&gt;
&lt;li&gt;Interface:Streamlit&lt;/li&gt;
&lt;li&gt;Vector database:ChromaDB&lt;/li&gt;
&lt;li&gt;Keyword retrieval and local state:SQLite / FTS5&lt;/li&gt;
&lt;li&gt;Embeddings and reranking:Sentence Transformers&lt;/li&gt;
&lt;li&gt;LLM inference:Groq API with a configurable model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The central design decision is to make the workflow explicit. Rather than sending every question through the same sequence of LLM calls, the orchestrator routes each query according to its needs. This helps avoid unnecessary model calls for simpler questions while reserving additional verification for answers that need it.&lt;/p&gt;

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

&lt;p&gt;Open innovation made it possible to build and customize the individual parts of the system instead of treating document question-answering as a black box.&lt;/p&gt;

&lt;p&gt;Frameworks such as LangGraph, ChromaDB, and Sentence Transformers provide building blocks that can be inspected, tested, and adapted. This gives me more control over how queries are routed, how evidence is retrieved, and how citations are checked.&lt;/p&gt;

&lt;p&gt;Using open-source components also makes experimentation more accessible. I can improve retrieval strategies, replace models, evaluate failure cases, and modify the architecture without rebuilding the entire application from scratch.&lt;/p&gt;

&lt;p&gt;For me, this project is also a way to learn how AI systems work beyond a single prompt and model call.&lt;/p&gt;

&lt;p&gt;Built as part of my journey toward creating practical, reliable AI applications with open-source tools.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>🌿Simple Voice Care Assistant</title>
      <dc:creator>Neha Bohrapi</dc:creator>
      <pubDate>Mon, 12 Oct 2026 06:33:46 +0000</pubDate>
      <link>https://dev.to/nehabohrapi13/simple-voice-care-assistant-32nc</link>
      <guid>https://dev.to/nehabohrapi13/simple-voice-care-assistant-32nc</guid>
      <description>&lt;h1&gt;
  
  
  🌿 Simple Voice Care Assistant: AI That Helps You Step Away From the Screen
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is my 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;We spend so much time looking at screens that even simple daily activities can become difficult to manage without checking our phones repeatedly.&lt;/p&gt;

&lt;p&gt;I wanted to explore how AI could make everyday routines simpler and more accessible, especially for elderly people and individuals who may benefit from voice-based assistance.&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;Simple Voice Care Assistant&lt;/strong&gt; — a voice-first assistant designed to help users manage everyday routines through natural language instead of relying entirely on a screen.&lt;/p&gt;

&lt;p&gt;The project aims to support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎙️ &lt;strong&gt;Voice interaction:&lt;/strong&gt; Communicate with the assistant using voice.&lt;/li&gt;
&lt;li&gt;💊 &lt;strong&gt;Medicine reminders:&lt;/strong&gt; Help users remember their medication schedules.&lt;/li&gt;
&lt;li&gt;🥗 &lt;strong&gt;Daily routine reminders:&lt;/strong&gt; Support regular meals and hydration.&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Context-aware answers:&lt;/strong&gt; Use Retrieval-Augmented Generation (RAG) to answer questions based on relevant information.&lt;/li&gt;
&lt;li&gt;🔊 &lt;strong&gt;Voice responses:&lt;/strong&gt; Make information accessible without requiring users to read everything on a screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How does it help people touch grass?
&lt;/h3&gt;

&lt;p&gt;The goal isn't to build another chatbot that keeps people online longer. It's to explore how voice-based AI can make technology less intrusive, help users maintain daily routines, and encourage them to take breaks from screens.&lt;/p&gt;

&lt;p&gt;The project is intended as a starting point for a more accessible, hands-free assistant.&lt;/p&gt;

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

&lt;p&gt;🚧 &lt;strong&gt;Live demo:&lt;/strong&gt; [Add your deployed application link]&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Video demonstration:&lt;/strong&gt; [Add your demo video, if available]&lt;/p&gt;

&lt;p&gt;The demo will showcase the voice interaction flow and the daily routine assistance supported by the implemented features.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The project is being developed with a focus on simplicity, accessibility, and open-source AI components.&lt;/p&gt;

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

&lt;p&gt;The assistant is designed around a voice-based interaction pipeline and a Retrieval-Augmented Generation (RAG) architecture.&lt;/p&gt;

&lt;p&gt;The planned workflow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Voice input:&lt;/strong&gt; Capture the user's spoken query and convert it into text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Information retrieval:&lt;/strong&gt; Retrieve relevant information from a knowledge base using embeddings and vector search.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context-aware response:&lt;/strong&gt; Use an LLM to generate an answer grounded in the retrieved information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice output:&lt;/strong&gt; Convert the response into speech so users can listen instead of reading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daily reminders:&lt;/strong&gt; Support routine reminders for medicines, meals, and hydration.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Technology Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; — Core application logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt; — Simple user interface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ChromaDB&lt;/strong&gt; — Vector storage and retrieval&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings&lt;/strong&gt; — Semantic search over relevant information&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-source/local LLM&lt;/strong&gt; — Language generation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speech-to-text and text-to-speech&lt;/strong&gt; — Voice interaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The exact models and integrations will be documented according to the components used in the working implementation.&lt;/p&gt;

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

&lt;p&gt;Open innovation makes it possible for developers to experiment with AI without depending entirely on closed, proprietary APIs.&lt;/p&gt;

&lt;p&gt;For a project like this, open-source tools offer several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility:&lt;/strong&gt; Developers can experiment with different models and components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; Individual parts of the system can be replaced or improved independently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning:&lt;/strong&gt; Building the retrieval and response pipeline helps me understand how AI applications work beyond simply calling an API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community collaboration:&lt;/strong&gt; Other developers can contribute improvements, suggest features, and help make the assistant more useful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My goal is to keep the project simple enough to understand and extend while exploring how open-source AI can support everyday life.&lt;/p&gt;

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

&lt;p&gt;This section is optional and can be removed if no session has been recorded.&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;Improving voice interaction and response accuracy.&lt;/li&gt;
&lt;li&gt;Making reminders easier to configure.&lt;/li&gt;
&lt;li&gt;Improving retrieval quality and reducing unsupported answers.&lt;/li&gt;
&lt;li&gt;Exploring ways to encourage healthy breaks and offline routines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project is a small step toward exploring AI that supports people in their daily lives rather than demanding more of their attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build with AI. Live beyond the screen. 🌱&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>AI Powered Personal Finance Manager💸</title>
      <dc:creator>Neha Bohrapi</dc:creator>
      <pubDate>Sun, 04 Oct 2026 17:11:24 +0000</pubDate>
      <link>https://dev.to/nehabohrapi13/ai-powered-personal-finance-manager-27am</link>
      <guid>https://dev.to/nehabohrapi13/ai-powered-personal-finance-manager-27am</guid>
      <description>&lt;h1&gt;
  
  
  💰 AI Personal Financer — Built for a Friend
&lt;/h1&gt;

&lt;p&gt;This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend]&lt;/p&gt;

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

&lt;p&gt;I built AI Personal Financer, a personal finance assistant designed to help a friend who finds it difficult to understand where their money goes every month.&lt;/p&gt;

&lt;p&gt;Managing expenses manually can be time-consuming, especially when transactions are spread across different statements and files. The goal of this project is to make personal finance tracking simpler and easier to understand.&lt;/p&gt;

&lt;p&gt;The application allows users to upload their PDF or CSV transaction data and get useful insights from it.&lt;/p&gt;

&lt;p&gt;It can help with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 Expense analysis&lt;/li&gt;
&lt;li&gt;🏷️ Expense categorization&lt;/li&gt;
&lt;li&gt;💰 Monthly budget planning&lt;/li&gt;
&lt;li&gt;📈 Spending reports and visualizations&lt;/li&gt;
&lt;li&gt;🔮 Expense prediction&lt;/li&gt;
&lt;li&gt;🤖 AI-powered financial assistance&lt;/li&gt;
&lt;li&gt;📄 Processing uploaded PDF/CSV financial data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of looking through a long list of transactions, the user can get a clearer picture of their spending habits and make better budgeting decisions.&lt;/p&gt;

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

&lt;p&gt;🎥 Demo Video: &lt;a href="https://drive.google.com/file/d/1RO2G2CSxfIBVnrnjMUmV14wQ8eCVhFL6/view?usp=drivesdk" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1RO2G2CSxfIBVnrnjMUmV14wQ8eCVhFL6/view?usp=drivesdk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 Live Demo:&lt;a href="https://aipoweredpersonalfinancer-awvxkdxzzzutxoek8p4eue.streamlit.app/" rel="noopener noreferrer"&gt;https://aipoweredpersonalfinancer-awvxkdxzzzutxoek8p4eue.streamlit.app/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;💻 GitHub Repository:&lt;a href="https://github.com/nehabohrapi/AI_Powered_Personal_Financer" rel="noopener noreferrer"&gt;https://github.com/nehabohrapi/AI_Powered_Personal_Financer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is open source and available for others to explore, learn from, and contribute to.&lt;/p&gt;

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

&lt;p&gt;I built the application using Python and Streamlit.&lt;/p&gt;

&lt;p&gt;The application processes financial data from uploaded PDF and CSV files and uses Python-based data processing and machine learning techniques to generate insights.&lt;/p&gt;

&lt;h3&gt;
  
  
  Main technologies used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Pandas&lt;/li&gt;
&lt;li&gt;NumPy&lt;/li&gt;
&lt;li&gt;Scikit-learn&lt;/li&gt;
&lt;li&gt;Plotly&lt;/li&gt;
&lt;li&gt;pdfplumber&lt;/li&gt;
&lt;li&gt;FPDF2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the machine-learning component, I used Multiple Linear Regression to work with monthly financial data and generate expense-related predictions.&lt;/p&gt;

&lt;p&gt;The application also includes a chatbot component to make interacting with financial information more natural.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User uploads PDF / CSV
        ↓
Extract financial data
        ↓
Clean &amp;amp; preprocess data
        ↓
Categorize expenses
        ↓
Analyze spending patterns
        ↓
Generate charts &amp;amp; reports
        ↓
Budget / prediction insights
        ↓
AI-powered financial assistance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Open innovation makes it possible for developers and students to build useful applications without having to create every component from scratch.&lt;/p&gt;

&lt;p&gt;For this project, open-source libraries provided the building blocks for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data processing&lt;/li&gt;
&lt;li&gt;Machine learning&lt;/li&gt;
&lt;li&gt;PDF extraction&lt;/li&gt;
&lt;li&gt;Data visualization&lt;/li&gt;
&lt;li&gt;Application development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allowed me to focus on solving the actual problem rather than rebuilding basic tools myself.&lt;/p&gt;

&lt;p&gt;Open-source technology also makes the project easier for other developers to inspect, learn from, modify, and improve.&lt;/p&gt;

&lt;p&gt;For students and independent developers especially, this accessibility makes experimentation with AI and machine learning much easier.&lt;/p&gt;

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

&lt;p&gt;[Add the partner prize categories you are entering here.]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. SerpApi&lt;/li&gt;
&lt;li&gt;2. MongoDB Atlas&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building this project helped me understand how machine learning and data processing can be applied to a real-world problem.&lt;/p&gt;

&lt;p&gt;I worked with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data preprocessing&lt;/li&gt;
&lt;li&gt;Exploratory data analysis&lt;/li&gt;
&lt;li&gt;Feature engineering&lt;/li&gt;
&lt;li&gt;Machine learning&lt;/li&gt;
&lt;li&gt;Financial data analysis&lt;/li&gt;
&lt;li&gt;Data visualization&lt;/li&gt;
&lt;li&gt;PDF and CSV processing&lt;/li&gt;
&lt;li&gt;Building an interactive application with Streamlit&lt;/li&gt;
&lt;li&gt;Integrating AI into a practical application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More importantly, this project taught me that AI doesn't have to be used only for complicated or futuristic applications.&lt;/p&gt;

&lt;p&gt;Sometimes, a simple problem like "Where did my money go this month?"can be a great starting point for building something genuinely useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built It for a Friend
&lt;/h2&gt;

&lt;p&gt;I wanted to build something that could help someone close to me understand their finances without needing to manually analyze every transaction.&lt;/p&gt;

&lt;p&gt;The idea was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Take complicated financial data and turn it into information that is easier to understand and act on.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That became the motivation behind AI Personal Financer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI Personal Financer started as a project to experiment with machine learning and financial data, but it became much more meaningful when I focused on solving a real problem for someone I know.&lt;/p&gt;

&lt;p&gt;The Hacktoberfest Build for a Friend challenge gave me the opportunity to take that idea and turn it into a practical open-source project.&lt;/p&gt;

&lt;p&gt;I hope the project can help people understand their spending better and encourage more developers to build technology around real problems faced by the people around them.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔗 Project Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;GitHub:&lt;a href="https://github.com/nehabohrapi/AI_Powered_Personal_Financer" rel="noopener noreferrer"&gt;https://github.com/nehabohrapi/AI_Powered_Personal_Financer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Live Demo://aipoweredpersonalfinancer-awvxkdxzzzutxoek8p4eue.streamlit.app/&lt;/li&gt;
&lt;li&gt;Demo Video: &lt;a href="https://drive.google.com/file/d/1RO2G2CSxfIBVnrnjMUmV14wQ8eCVhFL6/view?usp=drivesdk" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1RO2G2CSxfIBVnrnjMUmV14wQ8eCVhFL6/view?usp=drivesdk&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

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