Portfolio
Working code behind the positioning, across three areas: AI & automation; integration, data & modernization; and applied ML & data science. Every card carries an honest maturity label — nothing is dressed up as more than it is.
Build proof, honestly labelled
AI & automation
- 1Govern & route the models
sovereign-llm-gateway
Working — runs end-to-endWhat it proves
A working LLM gateway: per-agent cost and budget enforcement, vendor abstraction (LiteLLM), a local-model fallback (Ollama) for sovereignty, and Prometheus observability. Every model call passes one choke point, so governance is enforced in code rather than circulated as a policy document. Runs end-to-end with `docker compose up`.
- 2Build a trustworthy agentic product
sovereign-copilot
Reference architectureWhat it proves
A reference architecture for a trustworthy copilot: deterministic tool contracts (MCP), retrieval grounded in your own data (BGE-M3 + reranker), L1–L4 evaluation gates with goldens, and answers that trace back to a recorded call chain. Readable end to end — a reference architecture, not a running system, and the card says so.
- 3Keep the model outside the runtime
skills-coach
Working — runs end-to-endMITWhat it proves
A working, pack-driven training platform that ships no model client at all: the runtime owns the packs, deterministic grading, spaced-repetition gating and a durable model of what a learner keeps getting wrong. Generation and correction sit behind a versioned coach API, so the caller can be a person with an LLM CLI today and a model API later. Runs end-to-end with `make up`.
View repository
Integration, data & modernization
- 1Stream & integrate events at platform scale
event-integration-platform
Working — runs end-to-endMITWhat it proves
A Kafka-native, multi-tenant event-streaming and integration platform: REST→Kafka ingest, managed JSONata transforms with DLQ and replay, Kafka Connect HTTP/S3 sinks, a control-plane API and a drag-and-drop pipeline UI, all under workspace-scoped observability. The self-service spine an integration team actually operates. Runs locally with `docker compose up`.
View repository - 2Modernize legacy live, wave by wave
oracle-to-spring-strangler
Working — runs end-to-endMITWhat it proves
A working legacy-modernization lab: an Oracle PL/SQL + ORDS system migrated live to Spring Boot + PostgreSQL by the strangler fig pattern. AI-assisted assessment artifacts, per-endpoint cutover waves in an nginx router — a wave is a PR, rollback is a git revert — and golden-master parity gates as wave exit criteria. Runs end-to-end with `docker compose up`.
View repository - 3Own identity across products
identity-service
Working — runs end-to-endMITWhat it proves
A working self-hosted identity provider: OAuth 2.0 + OIDC token issuance (RS256, published JWKS), a headless TypeScript SDK and a drop-in React `<Login/>`. Its audited management plane speaks both HTTP `/admin/v1` and MCP, so agents operate it under the same contract as people. Authentication only — products keep their own authorization. Runs end-to-end with `docker compose up`.
View repository - 4Decide what crosses the SAP↔cloud seam
sap-bdc-snowflake-blueprint
Working — runs end-to-endMITWhat it proves
A one-page SAP → Business Data Cloud/Datasphere → Snowflake reference architecture with the decision attached: nine ordered rules assign each of 24 objects a mode — share zero-copy, replicate, federate, split, or keep it in SAP — where residency and SLOs eliminate and cost only chooses among what survives. A transparent cost model gives the crossover frequency at which replication overtakes federation, and a local DuckDB simulation runs all three modes so the claim is measured. Runs end-to-end with `make demo`; the diagram is the artifact, the engine is what makes it arguable.
View repository
Applied ML & data science
- 1Detect contrails in sky-camera images
contrail-segmentation-demo
Working — runs end-to-endWhat it proves
A neural-network image-segmentation app — React front end → Node.js (Express) BFF → Python FastAPI service → a hand-written PyTorch U-Net — that detects contrails in sky-camera images and reports coverage and count. Three services, `docker compose up`, CI on GitHub Actions. Trained on a synthetic sky generator so it runs on a laptop in minutes; the README writes down the path to real GVCCS imagery.
View repository - 2Decide which flights to reroute — and at what cost
contrail-avoidance-pipeline
Working — runs end-to-endWhat it proves
A Polars/Pandas pipeline plus a Databricks-style notebook that flag which flights form persistent, climate-warming contrails — via the Schmidt–Appleman Criterion and ice-supersaturated regions — and propose altitude changes, weighing avoided climate forcing (CO₂e) against extra fuel burn. Lakehouse-shaped and laptop-runnable, with a documented path to ERA5 and OpenSky data.
View repository - 3Price retail at scale — elasticity to optimization
retail-dynamic-pricing
Working — runs end-to-endMITWhat it proves
A retail dynamic-pricing platform on a Databricks lakehouse: one elasticity-to-optimization engine serving two verticals — grocery (markdown) and consumer electronics (MAP-compliant lifecycle). Log-log demand estimation checked against a known ground truth, plus a solver-agnostic revenue optimizer. Two notebooks run end-to-end on a laptop on synthetic data — +6.4% revenue at flat margin.
View repository - 4Rank a marketplace — feature store to eval gate
marketplace-intel-platform
Working — runs end-to-endMITWhat it proves
A reference AI application platform for marketplace ranking: a LightGBM learning-to-rank model and a GenAI explanation overlay behind one typed capability contract, fed by a Feast feature store with point-in-time-correct training and serving. An eval harness — ranking quality and explanation faithfulness — is wired as a CI deploy gate that blocks a regression. `make demo` runs it end-to-end: +12.7% NDCG@10.
View repository
Everything here is public and links out except the two sovereign-* repos — they are being aligned under one name, neutralized and licensed before they carry my name on a public surface; their descriptions are honest now, links follow.
Ten of these run end-to-end today — the LLM gateway, the training runtime, the event-integration platform, the Oracle→Spring strangler lab, the identity service, the SAP↔Snowflake seam blueprint, the marketplace ranking platform, the retail dynamic-pricing demo and the two contrail demos. The blueprint is the one to read carefully: its architecture is a document, and what runs is the decision engine, the cost model and the simulation behind it. The remaining one, the copilot, is a reference architecture, and each card says which it is. No production-system claim I can’t back.