Skip to main content
Private AI · on infrastructure you control

The model is the easy part.
Keeping your data in-house
is where projects break.

Private RAG, AI agents, and document processing that run on infrastructure you control, designed and hardened by a security engineer, not stitched together from opaque cloud APIs. Twenty production systems stand behind the patterns.

Independent security-engineering practice
By the numbers

Twenty production systems. One engineer. Running infrastructure, not mockups.

Self-hosted on European infrastructure. Every number below maps to working systems, case studies, or reusable tooling in the fleet.

20+
AI apps shipped
Built end-to-end on a self-hosted fleet, Pension, CRM, Tax Doc AI, Meeting Copilot, and seventeen more.
100+
Claude skills built
Reusable workflow primitives across the fleet, from blog drafting to fleet audits to lead research.
Enterprise
Security architecture
Enterprise security architecture before the AI work, NIS2, KRITIS, ISO 27001, multi-vendor firewall.
Local-first
Self-hosted by default
Ollama, Qdrant, Postgres, local inference is the default path. Any external API is opt-in per app, never silent, one env var flips it.
Capabilities

Eight patterns already tested in production.

Not a generic service menu. These are the patterns the fleet keeps reusing across private AI, RAG, agents, documents, and automation.

Semantic Document Search

Production RAG over enterprise content, SOPs, manuals, contracts, policies. Hybrid retrieval, reranking, source citations on every answer. Document-aware chunking that respects clause and section boundaries, OCR fallback for scanned PDFs, and schema-validated answers so the model can't make up a clause that isn't in the source.

Built: DORAComply, RAG over regulatory circulars, source-cited

Custom-Trained Models

Domain-specific LoRA adapters trained via LlamaFactory, merged + GGUF-converted, served through local Ollama. Specialised models per app.

Built: Custom models for image generation and content

Multi-Step Workflows

Classify, route, draft, dispatch, agentic workflows built around stateless reducers and event logs. Observable, resumable, idempotent on retry.

Built: 100+ workflows across 20 applications

AI in Business Apps

AI threaded into the apps people already use, semantic search in CRMs, copilot panels in dashboards, automated rollups in reports. Routes through one shared CLI bridge.

Built: AI integrated into 7 business apps

Self-Hosted Fleet

20+ Docker apps in a self-hosted fleet, per-app networks, hardened containers, log rotation, health checks. No vendor lock-in by construction. Each app owns its Postgres 16 schema and least-privilege DB user, capabilities dropped at the container, NextAuth v5 or hardened custom JWT depending on the workload, the same hygiene at app 20 as at app 1.

Built: 20+ self-hosted Docker apps

Security as a First Concern

Security engineering underneath the AI work, secrets in env-only, capability-dropped containers, prompt-injection defence, audit trails. Not bolted on after.

Built: FwChange, live at fwchange.com

Prototype-to-Production

A working Docker prototype in about a week, then hardened into production over the following weeks. Every system in this portfolio started that way.

Built: prototype → production, every system here

Voice & Audio AI

Live transcription, offline dictation, meeting copilots. On-device whisper.cpp + Electron tray, audio never leaves the laptop.

Built: Meeting Copilot + FlowVoice

What I built.
End-to-end.

Production systems designed, deployed, and operated end to end. Clear architecture, observable runtime, and no black-box service hiding in the middle.

See the portfolio →
RAG · self-hostedqdrant · ollama
Contracts collection12,304 chunks · 768-dim
Last reindex2h ago
Top-k retrieved5
Hybrid (BM25 + vector)enabled
query
self-hostedzero egress
Agents · runtime14 active
contract-review-agentrunning · step 4/7
research-spawn-agentpaused · awaiting human
discovery-agentrunning · step 2/3
batch-ingest-agentqueued · 3 jobs
Throughput profile
event-loggedresumable
Document pipelineq2 batch
PDFs ingested8,412
Pages extracted94,308
Schema validationon
In reviewflagged anomalies
Layout-aware OCR
layout-awarevalidated output
Scheduled jobsself-hosted · docker
nightly-rag-indexhealthy · 02:00 UTC
crm-lead-discoverhealthy · every 6h
contract-ingestlast run · 14m ago
snapshot-qdranthealthy · 04:00 UTC
Health checks
auto-restartlog-rotated
Recently shipped

What landed this quarter.

Production work moves carefully. This is what changed in the last few weeks.

May 2026
DORAComply (DORA RegTech)
DORA Register of Information → EBA XBRL-CSV export, ICT incident reporting, regulator-circular tracker. Spec-validated end-to-end.
May 2026
Containerised CLI Bridge
Moved the host bridge into a container (shared/bridge/), restart-safe, named volume. Every app can route to Claude Max or stay on local Ollama, one env var per app picks the provider.
April 2026
FwChange NetBox integration
IPAM connector + change-review sidebar live in production. NetBox Labs directory listing pending.
April 2026
Pension AI rebuild
9-phase rebuild, pgvector retrieval over user holdings, Monte Carlo simulation core in TypeScript.
April 2026
rogueai.de portfolio rebuild
6 subdomain case studies, unified Person schema, fwchange/rogueai entity cleanup.
How it's wired

Shared infrastructure across the fleet.

Twenty apps do not run in isolation. They share reusable infrastructure built once and improved across the fleet.

CLI Bridge

Claude Max or local Ollama, per app.

A single Node HTTP server on the host (127.0.0.1:7777) shells out to claude -p so any of the 17 wired apps can route LLM calls through my Claude Max plan, or fall back to local Ollama. One env var flips the provider per app.

app ───▶ bridge ───▶ <claude / ollama> LLM_PROVIDER=claude X-App-Name: crm
Shared RAG

One knowledge service, many collections.

Qdrant on 127.0.0.1:6333 with nomic-embed-text (768-dim) reached through the bridge, auto-chunker, dedup-by-hash, reranker, per-app collection naming. CRM, pension, tax, cyreg, and the doc-AI trio all use it.

POST /rag/upsert {contracts} POST /rag/search {contracts, rerank:true} GET /rag/collections
LoRA Swarm

Specialised models per domain.

Custom-trained LoRA adapters built with LlamaFactory, merged + GGUF-converted, and pushed to local Ollama via a Modelfile generator. Each app picks the model that fits, security-tuned for fwchange, doc-tuned for the legal/maritime/construction trio.

alpaca/jsonl ─▶ QLoRA ─▶ merge └─▶ GGUF ─▶ ollama
Two portfolios
Network & security · fwchange.com

The other half of the practice.

rogueai.de is the AI portfolio; the enterprise network-security work lives on its own site: firewall change management, NIS2 readiness, multi-vendor migrations, and KRITIS programmes.

Visit fwchange.com →
33+
Firewall vendors
280+
Migrations
NIS2 · KRITIS
Compliance programmes

Frequently asked.

Direct answers to the things people ask first.

Rogue AI is an independent AI systems portfolio, and Vaultic, an early self-hostable private-AI product built from it. A one-person practice: hands-on engineering, no VC, no sales team. The portfolio documents systems built outside any employer scope; Vaultic is the product that work ladders up to.
Twelve case studies in detail: an LLM fine-tuning pipeline, Pension AI (Monte Carlo retirement planning), Tax Document AI (OCR + LLM for SME bookkeeping), an AI-integrated CRM, Meeting Copilot (live-transcribed desktop assistant), FlowVoice (offline dictation), a Quant Research Terminal, Document AI for maritime, legal, and construction workflows, DORAComply (DORA compliance tooling), and a fleet monitoring dashboard. Each has its own case study page.
Next.js, React, TypeScript, PostgreSQL with pgvector, Prisma 7, Redis, Ollama for local LLM inference, whisper.cpp, Electron for desktop apps, Docker, and Caddy as reverse proxy.
All AI processing runs on a self-hosted Docker fleet using locally-deployed models via Ollama or whisper.cpp. Nothing is sent to OpenAI, AWS, or other US cloud APIs unless explicitly stated for a specific project.
Yes — every system in the portfolio was designed and built hands-on as independent engineering work, outside any employer scope, each documented as a case study covering architecture, stack, and limitations.
Some repositories are public on GitHub, others remain private. Ask via the contact form if you want to see the internals of a specific project.
There's a contact form on the site. It lands directly in my inbox, no autoresponder, no inbox routing. I read it.

Notes from the work.

The blog tracks what is getting built and what gets in the way: RAG, agent design, LoRA training, AI-search visibility, and the EU AI Act in practice. Written from production work.