Skip to content

Vienna, Austria

Mehdi Bayat

Senior Full-Stack Engineer · Distributed Systems · Cloud & AI

I build real-time, scalable software and use AI to accelerate engineering without outsourcing engineering judgment.

Featured Engineering

LivePulse

Real-Time Sports Intelligence Platform

A continuously running, event-driven sports data platform built on real football/soccer data — not a simulator. LivePulse ingests live match data from a real external provider (API-Football), detects meaningful changes, publishes internal domain events, and pushes real-time updates to the browser over WebSockets, backed by PostgreSQL for durable history, Redis for live state, and Kafka as the internal event backbone.

KafkaRedisPostgreSQLWebSocketsNext.jsFastifyDockerOpenTelemetry

Status

Live and running against real data, not a local-only demo: ingestion, change detection, Kafka, WebSockets, observability, and automated testing are all built and verified against real API-Football and football-data.org data. An AI-features phase is deliberately deferred and kept separate from the core pipeline.

One Engineering Story

Build → Understand → Validate

BUILD

LivePulse

The real distributed system: event-driven ingestion, Kafka, Redis, PostgreSQL, and a WebSocket gateway pushing live updates to the browser.

Next.jsFastifyKafkaRedisPostgreSQL

UNDERSTAND

Architecture Lab

An interactive companion exploring the system component-by-component: real event flows, 8 accepted ADRs, and the actual production incident, not a marketing diagram.

Next.jsTypeScript

VALIDATE

Scaling Demo

A real load test against two unmodified LivePulse backend processes, measuring whether the WebSocket fan-out design actually holds up across instances.

TypeScriptRedisWebSockets

One coherent engineering case study — build the system, explain the architecture, and measure the claims.

Recruiter View

Engineering Evidence

Instead of a skills list, here is what each capability is actually backed by.

CapabilityEvidence
Distributed systemsLivePulse's event-driven ingestion → change detection → Kafka pipeline
Real-time systemsWebSocket gateway architecture, validated by the Scaling Demo's real fan-out measurements
MessagingKafka topics and consumer groups (LivePulse), RabbitMQ event bus (Sportradar)
Distributed stateRedis cache-aside and pub/sub design with documented failure modes (ADR-004)
ReliabilityA real production incident investigated and fixed — the WebSocket subscribe race
Architecture8 accepted ADRs plus the interactive Architecture Lab exploring them
TestingUnit, integration, and Playwright E2E tests across LivePulse and TalentMatch, wired into CI
ScalabilityScaling Demo — measured, not assumed, fan-out results across two real instances
CloudAWS ECS/Fargate, DynamoDB, SQS/SNS, Cognito, CDK/Terraform used in production at Sportradar and in TalentMatch's deployment config
AI EngineeringProduction RAG pipeline on AWS Bedrock (Sportradar); AI-assisted implementation workflow across personal projects

Also Built

Other Projects

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

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

Technology

Working Stack

Languages

TypeScriptJavaScript (ES6+)C#GoC++Java

Frontend

ReactNext.js (SSR/SSG/ISR)ZustandReduxAngularTanStack QueryTailwind CSSSCSSStyled ComponentsStorybook

Backend

Node.jsNestJSFastify.NET CoreGraphQLRESTgRPCMicroservicesCQRSEvent-driven architectureWebSocketsSignalR

Distributed Systems

KafkaRedis (cache, pub/sub, streams)RabbitMQWebSockets at scaleEvent sourcing patterns

Cloud & Infrastructure

AWS (EC2, S3, Lambda, ECS/Fargate, Bedrock, Cognito, DynamoDB, SQS, SNS, CloudWatch, API Gateway)DockerKubernetesTerraformAWS CDKCloudFormationGitLab CI/CDGitHub Actions

Data

PostgreSQLMongoDBSQL ServerMySQLRedisDynamoDBOpenSearch

AI Engineering

AWS BedrockRAG pipelinesVector databasesSemantic searchPrompt engineeringAI-assisted implementation & review workflow

Testing & Quality

JestVitestCypressPlaywrightTDDContract testingESLintPrettierSonarQubeArchitecture Decision Records

Observability

GrafanaNew RelicSentryDatadogCloudWatchOpenTelemetryDistributed tracingStructured logging

How I Engineer

Engineering Philosophy

AI-Augmented Engineering

Where AI fits in how I build

AI tools are part of my day-to-day workflow — implementation acceleration, test generation, refactoring support, code review assistance, debugging, and documentation. LivePulse and its Architecture Lab were built with heavy AI-assisted implementation, which is exactly why both projects document their engineering process, ADRs, and real incidents so openly: the reasoning has to survive scrutiny independent of who typed the code.

AI accelerates implementation; engineering judgment — what to build, which trade-offs to accept, how to verify a claim — remains human-owned.

Get in Touch

Contact