I build tools that decide what an AI agent is allowed to do. I also work on Kafka, event streaming and API platforms, and I play music with machines.
// log_Before an agent runs a tool, something decides whether it may. flux7 does that in four steps: a rules engine in under a millisecond, past decisions kept in memory, an arbitration when the rules don't settle it, and a human when it matters.
The same problem, for data instead of agents. Making sure the messages that travel between systems keep the shape everyone agreed on. Schema registries, Kafka, API platforms, and the consulting that goes with them.
Universal governance layer for Schema Registries. Tags, ownership, diff viewer, AsyncAPI, references graph and AI agent — provider-agnostic.

Staffing, capacity and margin platform for consulting firms. Connects skills, assignments, timesheets and financials — with an AI copilot. Multi-tenant · RLS · Edge.

Kafka wire-protocol proxy enforcing event7 governance verdicts at produce time. Schema ID extraction, verdict cache, non-compliant records rejected before the broker — decisions in event7, enforcement in a pure proxy.
producer ──► kafka7 ──► broker
│
└──► event7
PASS · WARN · FAILSchema governance, event-driven architecture and API platform design — from Kafka and Confluent ecosystems to provider-agnostic tooling.
Small tools I use every day. MCP servers that let an AI agent draw a diagram, run a local model or cast to a TV, plus three workshops I built for my own image, music and document work.
Turns nodes + connections into Excalidraw. Auto-styling for 80+ components (GCP, Kong, Confluent).
Generate, chat, embed — any MCP client to local Ollama models. Single binary, zero deps.
Control Google Chromecast from any MCP client. YouTube, local files, URLs.
Horoscopes from Skyfield calculations, sky charts, voice synthesis, automated video.
Three workshops, built the same way. Image, music, documents. Each keeps one source file and produces every format from it. The AI part is a Claude Code session watching a folder, so there is no API key anywhere. Private tools, not products, but write if you want to know how they work.
Composes stills and clips on local diffusion models: keyframes, transitions between them, one image brought to life. Prompt in, gallery out.
Where score7, xrns7 and keys7 meet: one canonical fragment holds key, chords and notes, and every view — sheet music, MIDI, tracker pattern — is a projection of it.
Write once in markdown, print six ways: PDF, Word, slides, wiki markup. Structure, house style and format stay independent, and diagrams live inside the text.
Playing piano with an AI. It listens to what I play, names the chords and the key, and answers on the instrument. It also reads finished tracks, from the audio file or straight from the Renoise project. The three tools below meet in flux7-audio, the music workshop.
Reads chords, key and cadences live from any MIDI piano. Double-tap the lowest key and the AI answers through the instrument — multi-voice, turn by turn.
Key, chord grid, melody and timbre from any mp3/flac/wav. CLI + MCP, stem separation.
Exact notes from .xrns files, no Renoise running — song map, JSON notes in beats, playable sequences (one voice per tracker column).