Agents and pipelines that keep running without me.

I'm a data scientist in public transit, doing a part-time master's in data science on the side. This page shows what's running in production at my place: autonomous Claude agents, a train-weather pipeline with over a million observed stops, a dbt stack with self-built field-level lineage.

Punctuality, last 30 days

from my pipeline · as of 2026-06-19
50%60%70%23.05.30.05.06.06.13.06.

Line: share of stops with under 6 minutes of delay per day. Bars: observed stops — the jump in late May is the expansion from 11 to 73 stations. Source: my RailCast pipeline (DB IRIS-TTS every minute, DWD weather hourly), no external dashboard. More at railcast.de.

1,054,632observed train stops
11.3Mweather samples along routes
57dbt tests, all green
14valid bug-bounty findings
20merged feature branches (agent)
01

Lab

expand a row for details
RailCast German train delays plus weather, collected every minute since March. Over a million stops, 73 stations, its own DWH. +
  • Python
  • SQLite WAL
  • DWD ICON-D2
  • dbt

Collector daemon on a small VPS, polling DB IRIS-TTS every minute. Weather comes in twice: Open-Meteo live, plus a DWD pipeline that parses ICON-D2 GRIB2 files and interpolates station weather onto 5,888 route sample points — 11.3 million rows of route weather.

First solid finding from the marts: during heavy rain 27% of stops are on time, during normal rain 71%.

railcast.de · writeup 384,000 trains, one SQLite

Recon Autonomous bug-bounty audits. 14 valid findings, including one Critical RCE (CVSS 9.6) in an F500 OSS platform. +
  • Claude Code
  • Bash queue
  • HackerOne

Audits run as a queue: a fresh CLI process per target with sentinel recovery, refusal detection and usage-limit handling. Every promising hypothesis goes to a separate sub-agent briefed to falsify it. Runs on Claude Code these days, replacing the first self-built pipeline.

Reports in H1 format with source refs and CVSS rationale; disclosure coordinated with the vendor.

→ writeups CVSS 9.6 and Catching refusals

Pixel LLM co-maintainer of puzzlekreis.de (FastAPI + Next.js + React Native). 20 merged feature branches with tests. +
  • claude-opus-4-8
  • production
  • since April

Pixel pushes feature branches straight into the repo — the result of a run is a feat/… branch with tests, not a diff in a chat reply. Contributions include an FTS migration with a Postgres IMMUTABLE wrapper, photo lightbox, Sentry CSP, analytics hooks, pre-launch bugfixes.

The site has been live since the soft launch: puzzlekreis.de.

→ writeup Pixel — an LLM co-maintainer in production

Nova Ops agent for the home network. Maintains infrastructure docs, backups, and this site. +
  • claude-opus-4-8
  • Telegram
  • 24/7

Everything between "keep the home network running" and "write up X for me". Maintains a living ops wiki (hosts, services, domains, risks), monitors three hosts, and speaks up on its own when something tips over.

This site was first-drafted by Nova, with an editorial pass from me.

03

Setup

three hosts, no Kubernetes
paradecentralmini-PC, living room
MSI Cubi 5 · i3-1215U · 32 GB · Ubuntu 24.04 · ~10 W idle. Four Claude agents, git forge, photo and document pipelines, monitoring for all three hosts, 7.3 TB of storage. Backups 3-2-1: local, offsite, cold disk. Not a single open port — access via Tailscale only.
zoopaAWS t3.small, us-east-1
2 vCPU · 2 GB · nginx + systemd units. Eight Python services under api.zoopa.org, a Discord agent for VPS maintenance, the RailCast collector — and this site.
puzzlekreis prodHetzner CX33, Helsinki
4 vCPU · 8 GB. FastAPI + Postgres 16 + Redis + Next.js PWA + React Native app. Co-maintained by Pixel, nightly dumps offsite.
04

Contact

isufi.petrit@protonmail.com

Email is best. Replies may take a moment.