Skip to content

Projects

What I've built

A small number of projects with real depth, rather than a long list of small ones.

LivePulse

Real-Time Sports Intelligence Platform

An event-driven sports data platform ingesting real live football data, detecting changes, and pushing real-time updates to the browser over WebSockets — backed by Kafka, Redis, and PostgreSQL.

Next.jsTypeScriptFastifyKafkaRedisPostgreSQLWebSocketsOpenTelemetryPlaywright

AgentForge

Governed Autonomous Software Engineering Platform

A LangGraph-orchestrated multi-agent system (Planner, Architect, Researcher, Developer, Reviewer, QA, Security) where no agent's approval is the final word. A deterministic verification gate (real type-checking, linting, test execution, static security scanning) and a risk-based human-approval policy engine decide what actually merges, proven with failure-injection demos where a real failing test overrides a simulated Reviewer approval.

FastAPILangGraphPostgreSQLSQLAlchemyNext.jsTypeScriptDockerOpenTelemetryAnthropic/OpenAI APIs

Deployed with no LLM key configured: the dashboard and deterministic verification/policy logic are real and live, but starting a full agent run honestly reports "Integration unavailable" rather than fake one.

TalentMatch (Jobify)

TalentMatch

Production-oriented job matching backend

A modular-monolith backend for publishing jobs and matching candidates: a synchronous Fastify API plus an asynchronous BullMQ worker, with MongoDB as the source of truth, OpenSearch as a rebuildable read model, deterministic candidate scoring, idempotent applications, and a full AWS ECS/Fargate deployment configuration.

FastifyTypeScriptMongoDBRedisBullMQOpenSearchAWS ECS/FargateDockerOIDC

Extensions of the LivePulse story

Architecture Lab

Interactive exploration of the LivePulse architecture

A companion Next.js app that walks through LivePulse component-by-component: the real event flows, the 8 accepted ADRs, the real production incident, and measured-vs-projected scaling — built to make the reasoning behind LivePulse inspectable, not just the code.

Next.jsTypeScriptTailwind CSS

Scaling Demo

A real load test for one specific architectural claim

A standalone tool that runs two real, unmodified LivePulse backend processes against shared Redis and measures whether the WebSocket gateway's fan-out design actually delivers updates across both instances — closing a gap LivePulse's own engineering review named honestly.

TypeScriptRedisWebSocketsioredis

Elsewhere

More of my work, including production systems built at Sportradar, TSETMC, and earlier roles, is on GitHub and in the Experience section.