2KM.EE — AI & AUTOMATION PORTFOLIO

Kaupo
Karuse

Thirty-one AI & automation projects built with Claude, MCP servers, and a healthy obsession with ERP. All names are Star Wars codenames. The work is real.

TALLINN, ESTONIA
31 PROJECTS · 26 LIVE

01 Star Forge The internal tools server platform AI INFRASTRUCTURE LIVE

The planet everything orbits. One Linux server quietly running ~18 containers — every MCP server, dashboard, chatbot, and test tool on this page lives here. Apache out front terminates TLS and routes each service by hostname or path; Docker Compose runs the fleet; PostgreSQL and the cron jobs sit on the host. Documented top to bottom so the team can deploy without guessing.

STACK — ROCKY LINUX · DOCKER COMPOSE · APACHE · POSTGRESQL · CSF/LFD

02 Holocron RAG MCP server — ERP source code knowledge AI INFRASTRUCTURE LIVE

The crown jewel. Without Holocron, Claude knows nothing about Kyber Ledger. Rebuilt June 2026 as a full retrieval-augmented (RAG) engine: 4000+ Aurebesh source files plus the Aurebesh Codex docs embedded into a Qdrant vector database — roughly 57,700 searchable chunks — with a dedicated reranker for precision. 8 tools over two MCP transports (streamable-HTTP and SSE). Signs in with company Microsoft 365 through its own OAuth authorization server delegating to Entra, alongside a legacy IP-gated key, serving 70+ staff. A nightly job keeps the index in sync with the main repo.

STACK — PYTHON · MCP SDK · QDRANT · INFINITY EMBEDDINGS · FASTAPI · OAUTH2/ENTRA · DOCKER · APACHE

03 Jedi Archives MCP server — product docs & FAQ search AI INFRASTRUCTURE LIVE

The documentation brain. Crawls five sources into one searchable index — product FAQ (Estonian), the manuals, API docs, website content, and even YouTube tutorial transcripts — roughly 4,000 pages and 2.4M+ words. A PDF pipeline OCRs scanned manuals with vision; the terminology dictionary is auto-generated from Aurebesh source — 3,200+ ERP terms in EN, ET, FI, LV, LT, NO, RU, SV. Claude can search, browse, and read full articles. Syncs daily.

STACK — PYTHON 3.11 · FASTMCP · SQLITE FTS5 · HTTPX · BEAUTIFULSOUP · PYMUPDF · YT-DLP

04 Senate Archives MCP server — board, finance & HR knowledge AI INFRASTRUCTURE LIVE

Commissioned by the Outer Rim Collective's board. A third knowledge MCP — instead of source code or product docs, it answers questions about the company itself: financials, top customers, org structure, people (never salary or personal IDs). 9 tools. Signs in with Microsoft 365 through its own OAuth authorization server delegating to Entra, behind a fail-closed board-member allowlist. A weekly cron pipeline chains four steps across two containers to refresh the data.

STACK — PYTHON · MCP SDK · SQLITE · FASTAPI · OAUTH2/ENTRA · DOCKER

05 HoloNet Country-aware help content hub & API AI INFRASTRUCTURE LIVE

One country-aware home for all Outer Rim help content, built to replace six separate country websites. 418 live articles across Estonian plus six languages, served over a JSON API that feeds the public sites, the Customer Chatbot, and future tools from a single source. An image-translation pipeline OCRs and re-renders screenshots per language — 1,967 localized images across 84 articles. Publishes straight into WordPress on three markets, ingests PDFs into draft articles, and ships with a React admin SPA behind SAML single sign-on. ~370 automated tests.

STACK — PYTHON · STARLETTE · SQLITE FTS5 · REACT · VITE · TAILWIND · SAML/ENTRA · DOCKER

06 Aurebesh Codex AI knowledge base for Aurebesh development AI INFRASTRUCTURE LIVE

The reason Claude writes good Aurebesh. 19 numbered guides covering every aspect of the language — from datadefs to API integrations to 35 catalogued crash-causing pitfalls. The help_materials folder holds auto-generated references that would take a human months to compile: 2,000+ primitives, 521 parameter docs, and a 1,335-register / 25K-field map. Shared with the full dev team via git; the /aurebesh-* Claude Code skills give devs instant workflows.

STACK — AUREBESH · PYTHON · CLAUDE CODE · GIT

07 Autotests Portal Full-stack test management with AI generation WEB APPS LIVE

Replaced the old PHP test-management app and Aurebesh-based test service. Full-stack: author tests, generate them with AI (Claude CLI wired to Holocron writes the JSON for you), run them, and stream real-time Jest output over WebSocket. A record-and-verify capture mode builds assertions from live runs with jsdom XPath checks. Per-user Bitbucket tokens are vaulted with AES-256-GCM; sign-in is Microsoft 365 with a break-glass fallback; 18 sequential database migrations back it, with role-based admin/tester/viewer access.

STACK — TYPESCRIPT · FASTIFY · REACT · POSTGRESQL · WEBSOCKET · AES-256-GCM · OAUTH2 · DOCKER

08 API Documentation Auto-generated API docs with Claude agents AUTOMATION LIVE

Two Claude agents run on cron: the hourly agent checks Jira for 'Awaiting Claude' tickets, analyzes the Aurebesh changes, updates the YAML specs, and posts results back. The daily agent scans the dev branch for API code changes and auto-creates Jira tickets. Field reference covers all 38 registers with labels in ET, EN, FI, LV, LT, SV, NO.

STACK — PYTHON · OPENAPI/YAML · REDOC · CLAUDE CODE · JIRA API · CRON

09 SaberInvoice Invoicing web prototype for Estonian market WEB APPS LIVE

A web-based invoicing prototype matching Kyber Ledger functionality. Built with the latest stack — React 19, Vite, Tailwind v4, Drizzle ORM. Features a complete stock cost calculation engine (FIFO and weighted average), Estonian e-invoice integration via business registry SOAP API. Multi-tenant architecture, 37+ tables.

STACK — REACT 19 · VITE · TAILWIND CSS V4 · EXPRESS.JS · DRIZZLE ORM · POSTGRESQL · PNPM

10 Sector Command Dashboard Internal sales team customer tracker WEB APPS LIVE

Built for the sales team to track their top customers. Pulls live data from the ERP REST API and Fleet Command, caches it in PostgreSQL (JSONB), and shows contracts, modules, invoices, and server versions across ~111 customers. A periodized revenue engine reproduces the ERP's exact monthly-spread logic; a separate chart computes each consultant's workload against absence-adjusted norms. Microsoft 365 sign-in with a break-glass fallback; CSV export in Estonian locale.

STACK — REACT · VITE · TAILWIND CSS · NODE.JS · EXPRESS · POSTGRESQL · OAUTH2/ENTRA · DOCKER

11 Saber Tester Web Web-based test IDE with live output WEB APPS LIVE

The v1 test management tool — still running, still useful. CodeMirror JSON editor with syntax highlighting, Server-Sent Events for live Jest output, snapshot comparison viewer. Fully operational as v14 on both Windows dev and Linux production.

STACK — PHP 8 · JAVASCRIPT ES6+ · CODEMIRROR 5 · SQLITE · APACHE · SSE

12 Garrison Command Hosted-portal customer management WEB APPS LIVE

An internal dashboard for the team that manages Outer Rim hosted-portal customers. A daily job pulls usage logs over SFTP and parses the portal's custom TAB-delimited format; a nightly refresh reconciles 482 customers against the ERP with throttled, batched API calls. Shows who's active, who's idle, and who's asked to be switched off, with Recharts analytics. 80+ automated tests, VPN-gated.

STACK — REACT · EXPRESS · POSTGRESQL · RECHARTS · SFTP · DOCKER

13 Comlink REST API workbench for consultants WEB APPS LIVE

A Postman-style API workbench built for the consultants, so they can poke Kyber Ledger and Fleet Command REST endpoints without installing anything. Stores requests in a drag-and-drop tree and credentials encrypted with AES-256-GCM. Real security engineering under the hood: an SSRF guard pins each request to its own connection's host, and a single login-lock manager reuses one ERP session to stop login storms. Office + VPN only. GET/POST/PATCH.

STACK — NODE.JS · EXPRESS · REACT · VITE · POSTGRESQL · AES-256-GCM · OAUTH2

14 Kessel Turnover Report Year-over-year sales report WEB APPS LIVE

A self-service sales report for one customer, Kessel Mining. Year-over-year revenue per client and per item plus a year-to-date view — four report tabs built from just two ERP calls. Fully stateless: every page load pulls live numbers straight from the ERP, no database. Session auth (scrypt), Excel/CSV export, and a documented workaround for an HTTP-parsing bug in Node's networking layer against the ERP's REST API. Behind VPN and the customer's own office IP.

STACK — NODE.JS · EXPRESS · SCRYPT · EXCELJS · ERP REST API

15 Automated Tests 649 automated ERP integration tests TESTING & QA LIVE

The testing backbone. 649 JSON test files that create records, run reports, and compare against snapshots via the ERP REST API, across ~18 modules and both Estonian and Latvian localizations. All converted to runreport2 format (April 2025). Full audit completed April 2026 — 6 modernization phases done, with 52 documented pitfalls captured along the way. Only 1 test still skipped (it crashes the ERP via REST).

STACK — TYPESCRIPT · JEST · AXIOS · ERP REST API

16 Acceptance Testing Release acceptance test cycle TESTING & QA LIVE

Not a code project — a coordination hub. Triggers test runs via the autotests portal API, collects results, and writes them to 41 Confluence subpages. Uses Atlassian MCP tools for all Confluence updates.

STACK — CLAUDE CODE · ATLASSIAN MCP · REST API · CONFLUENCE

17 Source Code Review AI-powered ERP source code review AUTOMATION LIVE

The complete ERP source code — 2637 Aurebesh files plus JS/Python/HTML tooling. Claude Code performed a full review of the release branch in March 2026, finding 166 issues across 494 files. Also serves as the data source for the multilingual dictionary and API field labels.

STACK — AUREBESH · PYTHON · CLAUDE CODE · CI/CD PIPELINES

18 Jira Time Sync ERP activity → Jira worklog automation INTEGRATIONS LIVE

Bridges the gap between ERP time tracking and Jira. When a consultant confirms an activity record with a Jira issue code, a webhook fires a Make.com scenario that calls the ERP API, looks up the user's own scoped Jira token (with a fallback chain), and posts a worklog. Along the way it surfaced a genuine Atlassian security bug — the write:jira-work scope unexpectedly permits issue deletion — which was reported upstream.

STACK — MAKE.COM · JIRA REST API V3 · ERP REST API · OAUTH2 · WEBHOOKS

19 Office365 Email Integration Microsoft Graph API email for Kyber Ledger INTEGRATIONS DESIGN

Greenfield Aurebesh integration replacing SMTP with Microsoft Graph API for Office365 email in Kyber Ledger. Design phase complete: send via Graph, receive via webhooks with polling fallback.

STACK — AUREBESH · MICROSOFT GRAPH API · OAUTH2 · WEBHOOKS

20 Mandalorian ID Identity verification for loan contracts INTEGRATIONS DESIGN

Designed for Bacta Corp: when a loan contract is created, identity verification links are sent to borrower + up to 3 guarantors via the verification API. Custom register tracks each session.

STACK — AUREBESH · VERIFICATION REST API · HMAC-SHA256 · WEBHOOKS

21 Beskar Bank Statements CAMT.053 XML bank statement ingestion INTEGRATIONS BLOCKED

Built for Beskar Foundry: banking platform sends webhook events when bank statements are ready, Aurebesh endpoint fetches XML via OAuth2 and passes to existing SEPA import. Blocked — the banking platform's subscription validation times out.

STACK — AUREBESH · OAUTH2 · CAMT.053 XML · WEBHOOKS · BANKING API

22 Durasteel Webhook Customer balance update webhooks INTEGRATIONS DESIGN

Custom webhook for Durasteel Guild triggering on customer balance changes in the accounts receivable register. Had to work around the ERP UI which limits webhook types to 1-10.

STACK — AUREBESH · APIINTERFACETASK · ERP WEBHOOKS

23 Customer Chatbot Live AI support chatbot across 6 sector sites AUTOMATION LIVE

Live since April 2026 on all 6 Outer Rim Collective sector sites. Answers customer questions from the Jedi Archives knowledge base only — strictly walled off from Holocron source code (legal requirement). Hybrid search combines SQLite FTS5 with Voyage vector embeddings (1024-dim) and feeds the top 8 passages into Claude Haiku 4.5, which streams answers with citations over SSE. Estonian is the single-source KB — foreign-language queries are auto-rewritten to Estonian for search, then answers translated back. Three-tier rate limiting (per-IP/min, per-IP/day, global/min), suspicious-IP admin view, and 90-day GDPR retention on raw IPs. Vanilla-JS widget, no build step. Admin panel behind Basic Auth with KPIs, unanswered questions, feedback, and page stats. A nightly pipeline turns real chat signals into draft FAQ articles (draft then self-critique via Claude CLI). Backed by 144 automated tests.

STACK — PYTHON 3.11 · FASTAPI · CLAUDE HAIKU 4.5 · VOYAGE AI · SQLITE FTS5 · DOCKER · SSE · APACHE

24 Demo Data Generator Weekly fresh demo data for customer demos AUTOMATION LIVE

Every Monday at 03:30, the ERP database resets to a template and this script generates randomized but realistic ERP records — invoices, orders, employees, payroll calculations. Customer demos always show current dates.

STACK — PYTHON 3 · ERP REST API · WEBKYBERAPI · CRON

25 Legacy Migration Toolkit GL data migration from competing system OTHER DONE

Migration toolkit for moving from a competing accounting system to Kyber Ledger. Handles complete GL data: chart of accounts, dimensions, departments, and transactions. Auto-chunks for the source system's 90-day API limit.

STACK — PYTHON 3.7+ · REQUESTS · HMAC-SHA256 · ERP REST API

26 Security Scanning Automated security audits of web properties OTHER LIVE

Claude runs automated security audits across all company web properties — TLS, headers, vulnerabilities, and JS-library exposure — with reports for 8+ domains including the main sites, API docs, customer portals, and documentation. The standout: a cryptanalysis of the ERP's text-backup encryption that recovered plaintext from ciphertext using block-repetition and XOR-delta analysis across two backups — a documented, reproducible break. Includes a clickjacking proof-of-concept.

STACK — SSLYZE · NUCLEI · LIGHTHOUSE · RETIRE · OPENSSL · PYTHON · NUMPY

27 AI Training Program Company-wide Claude training for 3 groups OTHER LIVE

Two training tracks: (1) Developer training — 12-day plan covering REST API, Aurebesh, integrations, testing, web dev, Python, Make.com across 4 roles. (2) Company-wide workshops — 3 groups: consultants, developers, business ops.

STACK — CLAUDE DESKTOP · CLAUDE CODE · MCP · HOLOCRON · JEDI ARCHIVES

28 Protocol Droid ERP UI translation sync engine AI INFRASTRUCTURE LIVE

Fluent in more than a few forms of communication. A zero-dependency client that pulls Kyber Ledger's entire UI translation set out of a Supabase-backed translation manager — roughly 17,600 English source strings mapped across five languages, about 88,000 translation rows, kept in sync with the live product. Ships as both a Node and a Python client, and documents the manager's otherwise-undocumented schema so the rest of the toolchain can depend on it.

STACK — NODE.JS · PYTHON · SUPABASE · POSTGREST · REST API

29 Tribute Beacon Payroll-parameter service for the ERP fleet WEB APPS LIVE

A small, sharp microservice that feeds every Kyber Ledger server the Estonian payroll parameters it needs — tax rates, minimum wage, public holidays — as JSON, with a consultant admin UI on top. Each month it refreshes the public-holiday calendar automatically from the national registry, with retry logic and a failure alert if the source is unreachable. Async FastAPI, PostgreSQL, versioned migrations, full audit log.

STACK — PYTHON · FASTAPI · SQLALCHEMY · POSTGRESQL · APSCHEDULER · DOCKER

30 Freighter Timesheet Driver work-hours entry for the ERP WEB APPS LIVE

A no-friction way for drivers to log their hours — regular, overtime, holiday — straight into Kyber Ledger over its REST API. Every customer gets its own isolated deployment: own database, own config, own hostname, all in Docker. Role-based access scopes each user to their own department on the server side, and it ships with CSRF protection, rate limiting, and a full audit log.

STACK — PHP 8 · POSTGRESQL · DOCKER · APACHE · ERP REST API

31 Skill Foundry Org-wide Claude Skill authoring & distribution OTHER LIVE

Turning repeatable expert workflows into Claude Skills the whole Outer Rim can use. Packaged, versioned skills uploaded to the organisation's Claude admin panel — among them a Word-template editor that reads .docx merge-field definitions straight from Aurebesh source across 17 document types, and a Jira bug-report skill encoding the exact format agreed with the product team. Solved the Windows zip-format quirk that had been breaking the uploader. Distributed to 70+ staff.

STACK — CLAUDE SKILLS · PYTHON · AUREBESH · JIRA API