DEV Community

Sumedh
Sumedh

Posted on

Afterimage — An IT Knowledge System That Remembers

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine

What I Built

Afterimage — An IT Knowledge System That Remembers

Every IT support engineer has encountered an incident that feels familiar.

A printer queue gets stuck. A warehouse access point keeps disconnecting. A Windows user cannot sign in. You troubleshoot the issue, find a solution, and move on.

But what happens when the same problem returns a few weeks later?

Sometimes, the knowledge disappears with the person who solved it. Sometimes, the troubleshooting process starts from zero. And sometimes, the solution exists somewhere in an old ticket that nobody remembers.

I built Afterimage to address this problem.

Afterimage is a local-first IT incident knowledge system that helps support engineers record incidents, search previous cases using natural language, and use local AI to understand similar incidents.

I interpreted Ghost in the Machine as the traces left behind by past incidents: the symptoms, root causes, and solutions that remain even after the original problem has disappeared.

Afterimage gives those traces a place to live.

Its goal is simple: the next time an incident returns, the knowledge of how it was solved should return with it.

What it can do

  • Record incidents: Capture descriptions, symptoms, affected systems, root causes, and resolutions.
  • Search by meaning: Find potentially relevant incidents using semantic search combined with keyword matching.
  • Learn from previous cases: Review similar incidents and use AI-assisted analysis to help understand possible causes and resolutions.
  • Work locally: Keep incident records in a local SQLite database and run AI inference using a local Ollama model.
  • Use sample incidents: Explore the application with fictional IT support scenarios before adding real records.

Afterimage is designed for practical IT support work, where keeping a useful history can be just as important as solving the current issue.

Demo

Afterimage currently runs locally using Streamlit.

To explore it, you need Python, Ollama, and the required models installed.

I haven't published a public hosted demo yet, because the application is designed around local data and local inference.

Project repository: github.com/sumedhx/afterimage

Code

The project is open source:

Explore Afterimage on GitHub

The main technologies include:

  • Python
  • Streamlit
  • SQLite
  • Ollama
  • Qwen2.5 1.5B
  • Nomic Embed Text

The application combines a structured incident database with semantic retrieval and local language-model inference.

How I Built It

I wanted to build something useful for my own IT support workflow rather than another chatbot that answers general questions.

My approach was to combine three parts.

1. A persistent knowledge layer

SQLite stores the incidents, allowing the application to maintain a searchable history without requiring a hosted database service.

Each incident can include its title, category, description, symptoms, root cause, resolution, affected system, and contextual details.

2. Semantic search

Keyword search alone can miss useful connections when someone describes a familiar issue differently.

For example, a user might report that an application becomes unresponsive, while an older incident describes it as freezing.

Afterimage combines keyword matching with vector embeddings generated by nomic-embed-text through Ollama. This helps retrieve incidents based on both matching terms and semantic similarity.

The search results are ranked so that more relevant incidents appear first.

3. Local AI analysis

For language-model inference, I use qwen2.5:1.5b through Ollama.

This allows Afterimage to perform AI-assisted analysis without sending incident descriptions to a hosted LLM API.

The application is built with Python and Streamlit, keeping the interface straightforward while allowing me to focus on the retrieval and knowledge-management workflow.

One important design decision was to keep the database and AI inference local. The project does not need a cloud AI subscription to perform its core search and analysis workflow.

Why Does Open Innovation Matter?

Local AI has made this project possible for me as an individual developer.

I can experiment with embeddings, retrieval strategies, prompts, and model behavior without building an expensive inference infrastructure or depending on a paid, proprietary API.

Open-source tools also make the architecture easier to inspect and modify.

I can see how the pieces fit together, test different models, and change the search implementation as I learn more about retrieval systems.

There is also a practical privacy advantage.

IT incidents can contain hostnames, usernames, internal network details, and information about company systems. Keeping data and inference local gives the application a foundation for privacy-conscious use.

That doesn't automatically make every deployment secure. Access controls, data handling, backups, and organizational policies still matter. But local-first architecture gives me more control over where information is stored and processed.

For me, open innovation means being able to build, understand, and improve a tool without needing permission from a closed platform.

The Spirit of It

The inspiration for Afterimage comes from the everyday reality of IT support.

When an issue is resolved, the immediate problem disappears. The user gets back to work, the printer starts printing, and the network connection returns.

But the experience of solving that problem contains useful knowledge.

Why did it happen? Which checks helped identify the cause? What fixed it? What should be checked first if it happens again?

That knowledge is easy to lose when it lives only in someone's memory.

I liked the idea of an afterimage: something that remains visible after the original event has passed.

In this project, the afterimage is the knowledge left behind by an incident.

The aim isn't to replace IT engineers with AI. It's to help engineers remember more, search faster, and avoid repeating work that has already been done.

Prize Categories

Select the applicable partner categories from the official challenge rules before publishing.


Built with Python, Streamlit, SQLite, and local AI.

GitHub: @sumedhx

Project: Afterimage

Top comments (0)