🖥️ HomeLab & AI Projects

My tech
laboratory

Self-hosted infrastructure on Proxmox VE. Over 20 production services, personal apps and AI experiments running 24/7 at home.

+20 Services
6 Own apps
5 AI Projects

Services Stack

Hover or tap each service to see the details

🖥️
Proxmox VE
Hypervisor
Proxmox VE
Type 1 hypervisor. VM and LXC container management. The foundation of the entire infrastructure.
🐳
Docker
Runtime
Docker
Services deployed in containers. Docker Compose for management and deployment.
🔁
Nginx Proxy Manager
Reverse Proxy
Nginx Proxy Manager
Reverse proxy with web-based host management, SSL certificates and secure service publishing.
🌐
Cloudflare
Tunnels
Cloudflare Tunnels
Secure service exposure without opening ports. Protected remote access via tunnels.
📡
AdGuard Home
DNS
AdGuard Home
Local DNS with network-level ad and tracking blocking (DoH/DoT).
🔐
Passwords
Security
Passwords
Encrypted, self-hosted password manager.
🗄️
TrueNAS
NAS
TrueNAS
Centralised NAS storage. Data sharing, pools and network services on own hardware.
☁️
Private cloud
Storage
Private cloud
Private self-hosted cloud. File management, calendar and contacts.
💾
PBS
Backups
Proxmox Backup Server
Deduplicated and verified backups for VMs, containers and critical data within the Proxmox ecosystem.
📊
Grafana
Monitoring
Grafana + Prometheus
Metrics visualisation (Prometheus) with real-time dashboards. Automated alerting (Telegram).
📈
Uptime Kuma
Status
Uptime Kuma
Service uptime monitoring. Public status page generation.
🤖
n8n
Automation
n8n Workflows
Workflow automation. Integration with APIs, webhooks and AI-powered flows.
🧠
Ollama
LLM Local
Ollama + Open WebUI
Local execution of LLMs (Llama 3, Mistral, Qwen2.5). No cloud dependency.
🏠
Home Assistant
Smart Home
Home Assistant
Smart home hub. Integration with Zigbee, Matter and Alexa. Automations and Assist.
📶
Zigbee2MQTT
Zigbee
Zigbee2MQTT
MQTT-based Zigbee bridge to integrate devices and centralise control in Home Assistant.
🎬
Jellyfin
Media
Jellyfin
Self-hosted media server. Multi-device streaming on local network.
📸
Photos
Photos
Photos
Self-hosted photo and video management with automatic backup, smart search and private timeline.
💪
Sparky Fitness
Fitness
Sparky Fitness
Nutrition, exercise, hydration and sleep tracking. Charts, goals and family profiles.
🏋️
wger
Workout
wger
Routines, progress, weight and nutrition. Exercise management with its own API.
💸
Finance
Finance
Finance
Self-hosted personal finance. Income, expenses, budgets and reports.

Personal apps & projects

🌆
Integration City — SAP Cloud Integration reimagined as a living 3D city
Live public demo

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.

SAP Integration SuiteReact 18Three.js / R3FTypeScriptFastifyZustandVitest
💻 Best on a laptop or desktop.
Independent personal project, not affiliated with or sponsored by SAP SE. The public demo uses 100% synthetic data and shows no real customer tenant. Traffic and animations are illustrative and based on aggregates. 3D assets by Kenney (CC0).
🧰
SAP BTP AI Toolkit — Custom AI tooling for SAP Integration Suite
Professional tool

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.

SAP Integration SuiteSAP BTPClaude APIPythonFastAPIHTMXOAuth2
🔍
SAP MCP Principal Propagation Inspector — Who the backend acts for when an AI agent calls
Professional tool

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.

SAP Integration SuiteSAP Cloud ConnectorMCPX.509 · mTLSNode.jsFastifyTypeScriptReactSQLite
⛳
RoundCard
Own app

Offline-first PWA for golf scoring. WHS handicap engine built from scratch, iOS push notifications, round history and advanced statistics. Over 50 active users.

Next.js 14TypeScriptPrisma ORMPostgreSQLPWAPush API
🥗
Nutrivista
Own app

Nutrition tracker with integrated AI. Meal analysis from photos, macro and micro tracking, personalised suggestions. Ollama integration for local processing.

ReactNode.jsOllamaVision AISQLite
📊
InvestBot
Own app

Automated investing bot: it decided on and placed trades through the Alpaca API, following its own set of rules.

Alpaca API
💶
Nexo
Own app

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.

Next.jsTypeScriptPostgreSQLDrizzle ORMPWAWeb Push
✈️
Deal Watcher
Own app

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.

PythonFlaskAPSchedulerBeautifulSoupSQLiteMQTTTelegram
🎮
2D habit game
Own app

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.

Phaser 4TypeScriptViteNode.jsSQLiteHevy API
AI Experiments
📄
iFlow documentation with Claude
SAP Integration Suite + AI

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.

Claude APISAP Integration SuiteAutomation
📧
Contextual email assistant
RAG applied to productivity

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.

OutlookLocal storageRAGLLMs
🏠
Contextual AI Smart Home
Home Assistant + LLM

Automations based on real context: time, presence, device state, history. The LLM interprets situations and makes decisions beyond simple if/then rules.

Home AssistantOllamaZigbeeAutomations
📸
Macro estimation with AI
Computer vision applied to nutrition

Image analysis system that estimates nutritional values (macros) from food photos. Uses multimodal models to interpret visual content and approximate calories and nutrient distribution.

OpenRouterWebhooks
💸
Intelligent expense categorisation
Automated personal finance

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.

OpenRouterWebhooksApple ShortcutsSelf-hosted finance
🌐
Online CV with integrated AI
This very site

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.

HTML/CSS/JSNode.jsClaude APISelf-hosted

HomeLab Architecture

External access (secure)
🌐 Internet
→
☁️ Cloudflare
→
🔒 Zero Trust Tunnel

Virtualisation layer — Proxmox VE
🧩 One LXC / VM per service
Isolated · Independent · Scalable
·
🐳 Docker
Web and spot services

Deployed services
⚙️ Automation
n8n · Uptime Kuma
🌐 Networking
Nginx · AdGuard · Tailscale
📚 Apps
Wiki · Files · Finance
📸 Media & AI
Photos · Local pipelines
🏠 IoT
Home Assistant · Zigbee

Data and storage
🗄️ PostgreSQL
Persistence
💾 TrueNAS / PBS
Storage and backups