Skip to content
webersheim.de

Portfolio

What I build

Security tools, AI agent systems, web platforms and a complete village portal. All designed and built by me, most of it publicly reachable.

Security & networks

Tools for the SOC, compliance and networks — from a mock server to website monitoring.

6 projects

Screenshot of SiteGuardian
LiveMCPSince 2026

SiteGuardian

Website monitoring for security, accessibility and EU compliance.

A SaaS hosted in Germany that checks websites around the clock: uptime, SSL, domains, e-mail authentication, security headers, cookie consent and WCAG 2.2 AA accessibility. A compliance engine maps controls to NIS2, DORA, CRA, GDPR, ISO 27001 and the EU AI Act.

  • Free instant scan, no account
  • EAA accessibility audits for clients
  • SPF/DKIM/DMARC, SSL and domain monitoring
  • Python
  • FastAPI
  • MongoDB
  • Redis
  • HTMX
Screenshot of mockdr
Open sourceSince 2025

mockdr

One mock server for eight EDR and SIEM platforms.

Reproduces the APIs of SentinelOne, CrowdStrike Falcon, Defender for Endpoint, Elastic Security, Cortex XDR, Splunk, Microsoft Sentinel and Microsoft Graph, with real paths, auth and deterministic seed data. SOAR playbooks and SIEM connectors can be tested without vendor tenants.

  • Eight platforms in one process
  • Fault injection and scenario engine
  • SPL parser, GitHub Action, Docker image
  • Python
  • TypeScript
  • Vue 3
  • Docker
Open sourceSince 2026

Injection Guard

Prompt-injection guard for web content an agent fetches.

A plugin for the open-source Hermes agent framework: fetched web content runs through a DeBERTa classifier, and hits are marked as untrusted data or optionally blocked. Small, CPU-only, lazy-loaded.

  • Covers browser, extract, search and vision tools
  • Live test page with a real injection payload
  • Clean no-op when dependencies are missing
  • Python
  • Transformers
  • DeBERTa v3
Open sourceSince 2026

MCP Decoy

A honeypot MCP server that exposes AI-assisted attackers.

Poses as an enterprise integration hub: 38 plausible tools in 10 categories, each answering with convincing fake data. Every interaction is logged forensically and forwarded to a SIEM via RFC 5424 syslog or to a webhook.

  • Streamable HTTP and SSE
  • SIEM forwarding and webhooks
  • Multi-arch containers, 141 tests
  • Node.js
  • Express
  • JSON-RPC
  • Syslog
Open sourceSince 2026

metta Detection Assurance

“pytest for your SOC” — checks that detections actually fire.

Adds a detection-assurance layer to Uber’s adversary-simulation tool: an ATT&CK technique runs safely, then the SIEM or EDR is queried. PARTIAL means telemetry arrived but no rule fired; FAIL means a sensor gap.

  • Backends: Splunk, Elasticsearch, Sentinel, JSONL
  • JUnit and HTML reports for CI
  • Python
  • MITRE ATT&CK
  • Splunk
  • Elastic
  • Sentinel
Screenshot of NetVerdict
LiveSince 2026

NetVerdict

A deterministic network simulator that runs entirely in the browser.

Build topologies, type real CLI in the style of Cisco IOS, Junos or VyOS and follow packets hop by hop — no VMs, no backend. 15 vendor grammars, a Rust/WASM core and 89 guided labs; the same engine grades configuration changes in CI.

  • Byte-identical, deterministic simulation
  • Wireshark pcap export
  • 89 labs, no telemetry
  • Rust
  • WebAssembly
  • TypeScript
  • Vue

AI & agents

Agents, memory, observability and evaluation — and the platform it all runs on.

9 projects

InternalSince 2026

Self-hosted AI platform

A multi-agent system on own hardware — models, memory, jobs.

Local open-weight models on an NVIDIA DGX Spark, a LiteLLM gateway with role aliases, long-term memory on Postgres/pgvector, scheduled agent jobs and a kanban loop of PM, worker and reviewer. It runs the editorial and data jobs behind the projects on this page.

  • Local inference: no data leaves the building
  • One API key per workload — load and cost attributable
  • Memory with grants, decay and contradiction checks
  • NVIDIA DGX Spark
  • vLLM
  • LiteLLM
  • Postgres + pgvector
  • MCP
Open sourceSince 2026

kifu

Finds the ideas left behind in coding-agent sessions.

Reads session logs from Claude Code, Codex, Gemini CLI, Cline and Hermes across machines and follows each idea until it shipped, was dropped or went quiet. On the author’s machines: 297 sessions, 1,228 ideas, 506 still open.

  • Web app, CLI and MCP server
  • Plugins for Claude Code and Hermes
  • Python
  • MCP
Open sourceSince 2026

run-lens

See every agent run call by call — and stop the one that loops.

Joins session stores, agent logs, LiteLLM spend logs and cron runs, and flags loops, runaways and silent model fallbacks against each job’s normal runs. Motivated by two runs that looped for three hours while marked “completed”.

  • Dashboard, CLI, per-job caps, live stop
  • Python
  • LiteLLM
Open sourceSince 2026

honcho-lens

See and curate what an agent’s memory stores.

A local web UI and dashboard plugin for browsing, searching and deleting entries in Honcho agent memory. Motivated by a store that had grown to about 9,000 conclusions before anyone looked.

  • Transparency over stored personal data
Open sourceSince 2026

agent-needs

What your agents need, read from what they did.

Reads agent traces locally and read-only and reports improvised code, failing tools, repeatedly read files and unused tool schemas. A watch mode finds tools that silently fail every other call.

  • No dependencies, Python standard library
Open sourceSince 2026

decision-ab

A fair, blind A/B test of LLM decision quality.

Gives two OpenAI-compatible endpoints the same judgment-heavy tasks, shuffles A and B per task and reveals model names only after a human has judged every task. Includes a set of security-shaped tasks.

  • Basis for choosing production models
InternalSince 2026

Model evaluation lab

Benchmarks born from real failures.

A set of internal experiments: an A/B harness for picking the production model, the electricity cost of local inference against API prices, what survives context compaction, whether a weaker model can improve a stronger one, and whether role boundaries survive translation.

  • Compaction: recall raised from 6/22 to 17/22
  • Small model: 6× slower, 12× more electricity
  • Python
  • vLLM
  • NVFP4
InternalSince 2026

netlens

Passive network reconnaissance, explained by a local LLM.

Listens on an interface without sending traffic and builds a model of hosts, roles and services from ARP, DHCP, DNS, mDNS, TLS SNI and more. A local model writes the report; only aggregated observations reach it, and nothing leaves the machine.

  • Explore mode within a budget
  • Python
  • scapy
  • local LLM
Screenshot of saigo
BetaSince 2026

saigo

Go explained move by move — engine in the browser, analysis as a service.

A learning app for the board game Go: analyse games, play the engine at adjustable strength, work through a beginner course. Behind it, a hardened REST and MCP front end for KataGo with signed, replay-proof requests.

  • Learning engine runs offline in the browser
  • OWASP Top 10 documented
  • KataGo
  • SvelteKit
  • TypeScript
  • Rust/WASM

Web platforms & publishing

Own portals with real reach, many with an MCP interface for AI assistants.

6 projects

Screenshot of openwein.de
LiveMCPSince 1998

openwein.de

The open directory of German wineries — online since 1998.

13 wine regions, about 660 wine towns and some 5,900 wineries with addresses, opening hours and visitor comments, plus a calendar of wine festivals across every region. Automated data jobs keep dates and records current.

  • Wine-festival calendar for every region
  • Map of wine vending machines
  • “The sky over …” with sunset and moon days
Screenshot of Morgenhimmel · Sky and Signs
LiveMCPSince 2026

Morgenhimmel · Sky and Signs

Daily horoscope and night sky — the sky is computed, not invented.

Website, podcast and social formats about the sky: every planetary position is computed with ephem, the interpretations come from hand-written text blocks. Plus an interactive star map and skyandsigns.com as the localised English and Spanish edition.

  • Star map with compass, ISS, comets and eclipses
  • Weekly, monthly and yearly horoscopes to 2030
  • WordPress plugin for the daily horoscope
Screenshot of xwords.de
LiveMCPSince 2022

xwords.de

Crossword solver, puzzle builder and daily puzzles.

Type the clue, pick the length, done: over 500,000 solutions sorted by letter count. A local language model continuously grades the clue–answer pairs. Plus a curated puzzle collection and three new crosswords every day at three difficulty levels.

  • Dense grid builder with solvability check
  • Public MCP server (solve_clue, build_crossword …)
  • Laravel
  • MariaDB
  • Meilisearch
  • local LLM
Screenshot of alcometer.de
LiveMCPSince 2026

alcometer.de

Blood-alcohol calculator with an honest range — and an MCP endpoint.

Calculates with the Widmark and Watson formulas and shows a range instead of false precision, plus the time when you are back under 0.5 or 0.0 per mille. One PHP core serves the page, the no-JS fallback and the MCP; tests check that JS and PHP agree.

  • Listed in the official MCP registry
  • PHP 8.4
  • MCP
Screenshot of bundeswehr-dienstgrade.de
LiveSince 2013

bundeswehr-dienstgrade.de

Every German armed-forces rank at a glance.

Army, air force and navy side by side by NATO rank code, each rank with its own page, insignia, abbreviation and pay. Plus a comparison tool, branch colours and an explainer of the new military service — every fact backed by a primary source.

  • Rebuilt in 2026 with a rank-ladder design
Screenshot of Campo Silencio · Scroll Mala
LiveSince 2026

Campo Silencio · Scroll Mala

The vision of a place of stillness — with free practice tools.

A trilingual website for a planned retreat on Gran Canaria for neurodivergent adults in burnout. Plus Scroll Mala: an offline PWA counter for repetitions (one scroll = one bead), no account and no tracking, in 35 languages and as a Telegram Mini App.

  • Scroll Mala: offline-first, 35 languages, 6 themes
  • Telegram bot with timer and breathing helper
  • Static site
  • PWA
  • Telegram Mini App

Local & civic

Digital infrastructure for Mainz and the village I live in.

4 projects

Screenshot of ebersheim.de
LiveSince 2026

ebersheim.de

The village portal for Mainz-Ebersheim — new every morning, with a podcast.

A non-commercial village portal: daily overview, Ortsfunk podcast, event calendar, plain-language council summaries, live bus departures, business directory, property listings and more. 35 sources are read every morning; a 17-step chain stops completely if one step fails.

  • About 60 podcast episodes since August 2026
  • More than 20 automatic jobs, publicly visible
  • Fact check before every publication
  • WordPress
  • PHP
  • Python
  • local LLM
  • TTS
LiveSince 2026

Abfahrtstafel

Live departures of one stop as a WordPress widget.

Shows departures of one bus or tram stop with real-time delays and service alerts from an EFA journey planner. Visitors never reach the planner directly: the site fetches and caches. In use on ebersheim.de as “Bus ab Neugasse”.

  • Widget and [abfahrtstafel] shortcode
  • Download on this site
  • WordPress
  • PHP 8.1
  • EFA
LiveMCPSince 2026

Estatequay

Open-source real-estate plugin for WordPress, free to download.

Imports listings from agents’ software via OpenImmo over per-agent SFTP inboxes and Spanish feeds via Kyero v3, takes private offers and forwards enquiries through a relay form that stores nothing. Legal requirements such as the energy certificate are enforced.

  • German, English, Spanish
  • Read-only MCP for listings
  • Reviewed against the OWASP Top 10
  • WordPress
  • PHP 8.1
  • OpenImmo
  • Kyero
In developmentSince 2026

Ratsfaden

The common thread through Mainz’s 15 district councils.

Harvests every district-council meeting from the city’s public council information system — 230 meetings and almost 4,000 agenda items in the current term — classifies topics and shows which questions were answered and which were not.

  • In development
  • Python
  • local LLM