← Portfolio Case Study

Company AI knowledge base for a security firm

Klient: Security / monitoring industry (demo) Czas: 1 day
Next.jsTypeScriptClaude AIRAGOpenAIGeminiVercel

Before

  • Knowledge scattered — every employee on their own private ChatGPT account
  • Procedures for ~150 sites lived in people heads; someone leaves → the knowledge leaves too
  • A new operator does not know how to act on a given site after hours
  • Fear of being locked into a single AI vendor and of data leaking outside

After

  • Single source of truth — the operator gets step-by-step guidance from the company base, with the source shown
  • A non-technical employee drafts a procedure with AI (one-sentence description → ready draft)
  • Model swappable in one click (Claude / ChatGPT / Gemini), while the knowledge stays in the company base
  • Runs on the company server (Linux), no expensive GPU — a deployed demo in 1 day

A client from the security industry was looking for someone to implement AI in their company. Instead of sending an offer and waiting, I built a working slice of the solution and deployed it the same day — so they could touch it, not just read about it. See the live demo → (procedure data in the demo is synthetic).

Starting point

A security company running a 24/7 alarm monitoring station (CMA) serving roughly 150 sites. Each site has its own response procedure. The problem was not technical but organizational: the entire company knowledge lived in people's heads and in private, scattered ChatGPT accounts. Every employee had their own login, their own chat and their own knowledge. Nothing shared, nothing centralized.

Problem

  • No continuity: an employee leaves and takes the knowledge with them — zero trace.
  • New people: an operator on shift does not know how to act on a specific site at 10 PM.
  • Fragmentation: a dozen private AI chats instead of one company base.
  • Two blocking fears: „we do not want to expose data outside" and „we do not want to depend on a single vendor — in six months something better will appear".

Approach — RAG, not „training" a model

The client said „let's teach the model". But training a custom model would be expensive, hard to update and opaque. I chose RAG (retrieval-augmented generation): the knowledge sits in a separate company base, and the model only retrieves from it and answers. As a result:

  • the base is updated continuously, without re-training the model,
  • every answer points to its source (a specific procedure) — which solves the „trace after each employee" need and auditability,
  • the model on top of the base is swappable — directly disarming the fear of vendor lock-in.

Solution

A working app (Next.js) with two parts, deployed on Vercel.

1. Operator chat

The operator asks in natural language — e.g. „Site 157 — partition in the wrong state, 10 PM. What should I do?" (an authentic sentence from the client call). The system answers step by step based on the company base and shows which procedure it used (📄 Source). It does not make things up — it answers from the company's knowledge.

2. Knowledge base — full client control

This was the key correction: the client did not want a „black box", they wanted to see and control their knowledge. In the second tab the client sees every procedure, adds, edits and deletes them, and also creates a procedure with AI — describes a site in one sentence („Site 300 — 24h pharmacy, response to an alarm after 10 PM"), AI drafts a complete procedure, the client refines it and saves. The chat answers from the live base — a newly added procedure works immediately.

3. Swappable model = no vendor lock-in

Over the same base you switch the model in one click: Claude, ChatGPT, Gemini. The knowledge stays in the company base — only the „engine" on top changes. This is a direct answer to the client's biggest fear: when a better model appears in six months, you plug it in without rebuilding everything.

Architecture

Deliberately simple and under the client's control:

  • Hosting: the company server (Ubuntu Linux) or secure cloud — no expensive GPU.
  • Models: via API (Claude / OpenAI / Gemini) with a data processing agreement — data is not used to train the models.
  • Knowledge: in a separate company base; the model only reads from it.

One sentence that closes the topic for the client: „This runs at your place, on Linux, without expensive hardware — the model works via API, and the knowledge stays in your base, under your control."

Result

From a discovery call to a working, deployed demo — in a single day. The client got no slides and no promises, just a link they can open on their phone and test on a scenario from their own work. The demo shows everything they needed: a single source of truth, control over the base, procedure creation (manual and with AI), and independence from the vendor.

Takeaways

The fastest way to sell a complex AI project is not an offer — it is a working slice the client can touch. „I'll show you it works" beats „I'll describe how I'd do it".

And underneath lies a simple but underrated truth: in company AI the most valuable part is not the artificial intelligence itself, but the organized company knowledge. The model is a swappable add-on on top — the value stays in the base.

Have a similar problem?

Describe it in your own words — a short conversation gathers context, Artur delivers a quote in 48h.

Describe the problem