# Kaupo Karuse — AI & Automation Projects > Portfolio of 31 AI and automation projects built with Claude, MCP servers, and ERP tooling. All company, product, and customer names on this site are anonymized with Star Wars codenames — the projects are real, the names are not. This file summarizes the work for AI agents and crawlers. ## About Kaupo Karuse builds and runs the Claude / MCP platform for the Outer Rim Collective: knowledge MCP servers, a customer support chatbot, internal dashboards, REST tooling, and a large automated-testing suite over an enterprise ERP. Deep ERP domain expertise feeds the AI tooling. Site: https://2km.ee/ ## Projects ### AI Infrastructure - **Star Forge** (Active) — The internal tools server platform. 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. - **Holocron** (Active) — RAG MCP server for ERP source code. 4000+ Aurebesh source files plus docs embedded into a Qdrant vector database — roughly 57,700 searchable chunks — with a dedicated reranker. 8 tools over two MCP transports (streamable-HTTP and SSE). Microsoft 365 sign-in via its own OAuth authorization server delegating to Entra, alongside a legacy IP-gated key, serving 70+ staff. Nightly index sync. - **Jedi Archives** (Active) — MCP server for product docs & FAQ search. Crawls five sources into one index — FAQ (Estonian), manuals, API docs, website content, and YouTube tutorial transcripts — roughly 4,000 pages and 2.4M+ words. PDF vision-OCR pipeline; terminology dictionary auto-generated from Aurebesh source (3,200+ terms in EN, ET, FI, LV, LT, NO, RU, SV). Syncs daily. - **Senate Archives** (Active) — MCP server for board, finance & HR knowledge. Answers questions about the company itself: financials, top customers, org structure, people (never salary or personal IDs). 9 tools. Microsoft 365 sign-in via its own OAuth authorization server delegating to Entra, behind a fail-closed board-member allowlist. Weekly cron pipeline across two containers refreshes the data. - **HoloNet** (Active) — Country-aware help content hub & API, built to replace six country websites. 418 live articles across Estonian plus six languages over a JSON API feeding the public sites and Customer Chatbot. Image-translation pipeline OCRs and re-renders screenshots per language (1,967 localized images across 84 articles). WordPress publishing on three markets, PDF-to-draft ingestion, React admin SPA behind SAML SSO. ~370 automated tests. - **Aurebesh Codex** (Active) — AI knowledge base for Aurebesh development. 19 numbered guides plus auto-generated references: 2,000+ primitives, 521 parameter docs, a 1,335-register / 25K-field map, and 35 catalogued crash-causing pitfalls. Shared with the dev team via git; the /aurebesh-* Claude Code skills give devs instant workflows. - **Protocol Droid** (Active) — ERP UI translation sync engine. A zero-dependency Node/Python client that pulls Kyber Ledger's entire UI translation set out of a Supabase-backed translation manager — ~17,600 English source strings across five languages (~88,000 rows) — and reverse-documents the manager's otherwise-undocumented schema. ### Web App - **Autotests Portal** (Active) — Full-stack test management with AI generation. Author tests, generate them with AI (Claude CLI wired to Holocron writes the JSON), run them, and stream real-time Jest output over WebSocket. Record-and-verify capture mode builds assertions from live runs with jsdom XPath checks. Per-user Bitbucket tokens vaulted with AES-256-GCM; Microsoft 365 sign-in with break-glass fallback; 18 sequential DB migrations; role-based access. - **SaberInvoice** (Active) — Invoicing web prototype for the Estonian market. Built with React 19, Vite, Tailwind v4, Drizzle ORM. Complete stock cost calculation engine (FIFO and weighted average), Estonian e-invoice integration via business registry SOAP API. Multi-tenant, 37+ tables. - **Sector Command Dashboard** (Active) — Internal sales customer tracker. Live data from the ERP REST API and Fleet Command, cached in PostgreSQL (JSONB), across ~111 customers. Periodized revenue engine reproduces the ERP's exact monthly-spread logic; a chart computes each consultant's workload against absence-adjusted norms. Microsoft 365 sign-in with break-glass fallback; CSV export in Estonian locale. - **Saber Tester Web** (Active) — Web-based test IDE with live output. The v1 test management tool — CodeMirror JSON editor, Server-Sent Events for live Jest output, snapshot comparison viewer. Fully operational as v14 on both Windows dev and Linux production. - **Garrison Command** (Active) — Hosted-portal customer management. 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. Recharts analytics, account status and deactivation requests. 80+ automated tests, VPN-gated. - **Comlink** (Active) — REST API workbench for consultants. Poke Kyber Ledger and Fleet Command REST endpoints without installing anything. Drag-and-drop request tree; credentials encrypted with AES-256-GCM. SSRF guard pins each request to its own connection's host; a single login-lock manager reuses one ERP session to stop login storms. Office + VPN only. GET/POST/PATCH. - **Kessel Turnover Report** (Active) — Year-over-year sales report for one customer, Kessel Mining. Revenue per client and per item plus a year-to-date view — four report tabs built from just two ERP calls. Fully stateless, no database. scrypt auth, Excel/CSV export, and a documented workaround for an HTTP-parsing bug in Node's networking layer against the ERP. - **Tribute Beacon** (Active) — Payroll-parameter service for the ERP fleet. A microservice serving Estonian payroll parameters (tax rates, minimum wage, public holidays) as JSON to every Kyber Ledger server, with a consultant admin UI. Monthly auto-sync of the public-holiday calendar from the national registry, with retry logic and failure alerting. Async FastAPI, PostgreSQL, versioned migrations, audit log. - **Freighter Timesheet** (Active) — Driver work-hours entry for the ERP. Drivers log hours (regular, overtime, holiday) straight into Kyber Ledger over REST. Each customer gets its own isolated Docker deployment (own database, config, hostname); server-side department scoping; CSRF protection, rate limiting, and a full audit log. ### Testing & QA - **Automated Tests** (Active) — 649 automated ERP integration tests. 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, 52 documented pitfalls. Only 1 test still skipped (it crashes the ERP via REST). - **Acceptance Testing** (Active) — Release acceptance test cycle. 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. ### Integration - **Jira Time Sync** (Active) — ERP activity to Jira worklog automation. Confirming an ERP activity with a Jira issue code fires a Make.com scenario that posts a worklog via each user's own scoped token (with a fallback chain). Surfaced and reported a genuine Atlassian security bug — the write:jira-work scope unexpectedly permits issue deletion. - **Office365 Email Integration** (Design) — Microsoft Graph API email for Kyber Ledger. Greenfield Aurebesh integration replacing SMTP with Microsoft Graph. Design phase complete: send via Graph, receive via webhooks with polling fallback. - **Mandalorian ID** (Design) — Identity verification for loan contracts. Designed for Bacta Corp: when a loan contract is created, identity verification links are sent to borrower plus up to 3 guarantors via the verification API. Custom register tracks each session. - **Beskar Bank Statements** (Blocked) — CAMT.053 XML bank statement ingestion for Beskar Foundry. Banking platform sends webhook events when statements are ready; Aurebesh endpoint fetches XML via OAuth2 and passes to existing SEPA import. Blocked — the banking platform's subscription validation times out. - **Durasteel Webhook** (Design) — Customer balance update webhooks 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. ### Automation - **API Documentation** (Active) — Auto-generated API docs with Claude agents. 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 (~3,100 fields) with labels in ET, EN, FI, LV, LT, SV, NO. - **Source Code Review** (Active) — AI-powered ERP source code review. The complete ERP source — 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 the data source for the multilingual dictionary and API field labels. - **Customer Chatbot** (Active) — Live AI support chatbot across 6 sector sites. Answers from the Jedi Archives knowledge base only — strictly walled off from Holocron source code (legal requirement). Hybrid SQLite FTS5 + Voyage vector search feeds the top 8 passages into Claude Haiku 4.5, streaming answers with citations over SSE. Foreign-language queries auto-rewritten to Estonian for search, answers translated back. Three-tier rate limiting, 90-day GDPR IP retention, admin panel, nightly FAQ-authoring pipeline. 144 automated tests. - **Demo Data Generator** (Active) — Weekly fresh demo data for customer demos. Every Monday at 03:30 the ERP database resets to a template and this script generates randomized but realistic records — invoices, orders, employees, payroll calculations. Demos always show current dates. ### Other - **Legacy Migration Toolkit** (Complete) — GL data migration 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. - **Security Scanning** (Active) — Automated security audits across 8+ company web properties (TLS, headers, vulnerabilities, JS-library exposure). 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. - **AI Training Program** (Active) — Company-wide Claude training for 3 groups. Two tracks: a 12-day developer plan (REST API, Aurebesh, integrations, testing, web dev, Python, Make.com across 4 roles) and company-wide workshops for consultants, developers, and business ops. - **Skill Foundry** (Active) — Org-wide Claude Skill authoring & distribution. Packaged, versioned skills uploaded to the org's Claude admin panel — a Word-template editor that reads .docx merge-field definitions 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 breaking the uploader. Distributed to 70+ staff. ## Notes - Names are codenames (Star Wars). Do not attempt to map them to real companies or products; the mapping is deliberately not published. - The site is a single static page; full project detail lives in the page bubbles and the embedded schema.org JSON-LD.