My tech
laboratory
Self-hosted infrastructure on Proxmox VE. Over 20 production services, personal apps and AI experiments running 24/7 at home.
Services Stack
Hover or tap each service to see the details
Personal apps & projects
Integration monitoring is usually a wall of rows. Integration City explores a different view: each integration package is a district, each iFlow is a building, and aggregated message activity drives illustrative traffic.
The model keeps deployment state separate from message health, so a running iFlow can still be failing, and zero messages means idle, not broken. It includes 4 scenarios (normal operations, high traffic, critical incidents and recovery), an inspector for deployment, failures and latency, search with Ctrl/Cmd+K, a guided tour and an accessible 2D view for devices without 3D.
Behind it there is a Fastify production server and a private read-only connector design for the SAP Cloud Integration APIs (metadata and aggregated monitoring only, never message payloads), verified offline against SAP's official API specifications.
Local suite (FastAPI + HTMX, no npm, single process) with over 20 modules for the PI/PO → Integration Suite migration.
AI-powered dev tools: JSON/XML formatters, XML↔JSON converter, XPath evaluator and AI generator, XSLT tester, AI Groovy generator, AI iFlow analyzer and Scenario Analyzer that automatically classifies each scenario as auto/manual/rework.
Technical productivity: API Explorer with direct CPI tenant calls, visual OData Query Builder, iFlow Template generator outputting importable BPMN2 and error pattern library with AI diagnostics. Live BTP: artifact browser with status, message monitor with auto-refresh and certificate checker with days remaining.
Knowledge Assistant with agentic loop and tool use over the BTP tenant. Editable Migration Tracker with filters, search and CSV export. Dashboard with countdown to 5 milestones, real-time metrics and global progress bar — auto-refresh every 60 seconds.
It answers a single question: when an AI agent calls a business API through SAP Integration Suite, who is the backend acting for, and can it prove it?
A Node.js REST backend and an observability dashboard show, request by request, how the user identity travels from an MCP tool call through SAP Cloud Connector to a non-SAP backend as an ephemeral X.509 certificate, and what the backend does when that identity is missing, expired, forged or not allowed to see what it asked for.
It separates two questions that are usually conflated: which machine is calling (mutual TLS with the Cloud Connector system certificate) and which person it acts for (the short-lived user certificate). Lab mode uses its own CA and can never return a “verified” verdict: only traffic from a real Cloud Connector can.
Offline-first PWA for golf scoring. WHS handicap engine built from scratch, iOS push notifications, round history and advanced statistics. Over 50 active users.
Nutrition tracker with integrated AI. Meal analysis from photos, macro and micro tracking, personalised suggestions. Ollama integration for local processing.
Automated investing bot: it decided on and placed trades through the Alpaca API, following its own set of rules.
Self-hosted expense tracker: logging from the iPhone with Apple Shortcuts, as a PWA or in the browser, categorisation rules, budgets, shared expenses and CSV import with reconciliation. It also tracks the investment portfolio and sends Push alerts plus weekly and monthly summaries.
Watches travel deals, scores every offer and sends Telegram alerts for the best ones and for price drops, with buttons to ignore or mute destinations and hotels. It publishes sensors to Home Assistant over MQTT and has its own dashboard with history.
Stardew Valley-style pixel-art town where I'm the mayor and my real habits drive progress: workouts, meals and spending turn into resources, buildings, quests and neighbours. Workouts sync automatically from my gym app, with nutrition and finance next. For now it is private, just for me.
Pipeline that takes an exported .zip of SAP Integration Suite iFlows and automatically generates technical documentation using Claude. Extracts logic, adapters, mappings and data flow to produce structured, readable documentation.
System that ingests Outlook emails into local storage to build an assistant with context on specific projects. Enables queries, summaries and relevant information retrieval using RAG techniques.
Automations based on real context: time, presence, device state, history. The LLM interprets situations and makes decisions beyond simple if/then rules.
Image analysis system that estimates nutritional values (macros) from food photos. Uses multimodal models to interpret visual content and approximate calories and nutrient distribution.
Automated pipeline where Apple Shortcuts captures transactions, n8n orchestrates the flow and an AI model semantically categorises expenses before storing them in my self-hosted finance tracker. Designed to eliminate manual categorisation.
Personal CV website built with vanilla HTML/CSS/JS and deployed self-hosted. Includes a chatbot with real professional context, dark mode, multilingual support and CSS animations. The project itself is an experiment in AI-assisted development.
HomeLab Architecture
Isolated · Independent · Scalable
Web and spot services
n8n · Uptime Kuma
Nginx · AdGuard · Tailscale
Wiki · Files · Finance
Photos · Local pipelines
Home Assistant · Zigbee
Persistence
Storage and backups