Projects

Public code · system-design studies

Most of what I've built lives in private repositories — client work, freelance projects, modifications I sold over the years. Below: the one project I keep open on GitHub, plus a notebook of distributed-systems designs I'm reasoning through.

// public on github

one open repo · others private by default

public repo

URL Shortener

Solo

View on GitHub

REST API that shortens URLs, tracks click counts, and caches hot redirects in Redis. Submitting the same URL twice returns the same code — no duplicates.

  • Redis cache on the redirect path — cold misses fall back to PostgreSQL and warm the cache
  • Idempotent shortening: same URL in → same code out
  • Atomic click counter via UPDATE ... SET click_count = click_count + 1
  • Unit tests with Mockito covering cache hit, cache miss, and not-found paths
Java 21Spring BootPostgreSQLRedisDocker

public repo

Kafka Order Pipeline

Solo

View on GitHub

Event-driven order processing: REST API publishes order events to Kafka, a consumer reads and persists them to PostgreSQL. Demonstrates producer/consumer, idempotent processing, and KRaft-mode Kafka.

  • POST /api/orders returns 202 immediately — processing is async via Kafka
  • Consumer deduplicates on order ID before persisting — safe for at-least-once delivery
  • Topic created with 3 partitions, keyed by orderId for ordered per-order processing
  • Kafka running in KRaft mode (no Zookeeper) via Docker Compose
Java 21Spring BootApache KafkaPostgreSQLDocker

public repo

Grocery API · take-home assignment

Solo · open source

View on GitHub

Production-shaped NestJS backend: product catalog, cart management, and checkout with real concurrency protection via SELECT FOR UPDATE. Built end-to-end as a take-home assignment.

  • Checkout locks cart + product rows in sorted order to prevent deadlocks and overselling
  • Soft-deleted products stay invisible in catalog but preserve order history snapshots
  • Order cancellation with atomic stock restoration
  • Concurrency stress test: two simultaneous checkouts compete for single-unit stock — exactly one wins
  • One-command boot via Docker Compose; Swagger at /api
NestJSTypeScriptPrismaPostgreSQLDockerSwagger

// system design studies

architectures worked through on paper · not deployed systems

1.2M events/min

Realtime Event Processing Platform

01

Horizontally scalable event pipeline ingesting millions of events per minute with sub-second end-to-end latency.

// architecture

ProducerKafkaConsumerRedisPostgreSQL

// design targets

throughput

1.2M ev/min

p95 latency

180 ms

uptime

99.95%

consumer lag

< 1.5 s

  • Partition-aware consumer groups with cooperative rebalancing
  • At-least-once delivery with idempotent sinks (Redis dedupe keys)
  • Backpressure via reactive streams; lag-based autoscaling
KafkaSpring BootRedisPostgreSQLKubernetes
design study · not deployed
99.97% delivery SLO

Distributed Notification System

02

Multi-channel notification fabric (push, email, SMS) with delivery guarantees, per-tenant routing, and provider failover.

// architecture

APINATSWorkerProviderAudit DB

// design targets

delivery

99.97%

p99 dispatch

240 ms

tenants

1,800+

retry rate

0.4%

  • Tenant-aware fan-out with priority queues
  • Exponential retry + dead-letter policies per channel
  • Active/active provider failover with health-weighted routing
GoNATSPostgresgRPC
design study · not deployed
p99 < 180ms

Payment Gateway Infrastructure

03

PCI-aligned payment orchestration with deterministic settlement, idempotent ingress, and pluggable PSP adapters.

// architecture

ClientAPI GWOrchestratorPSPLedger

// design targets

p99

178 ms

auth success

98.6%

reconciliation

T+0

PCI scope

SAQ-D

  • Idempotency keys with replay protection
  • Encrypted at rest (KMS) and in transit (mTLS)
  • Adapter pattern for PSPs — Stripe, Adyen, in-house
JavaSpring BootKafkaVaultTerraform
design study · not deployed
120k concurrent

WebSocket Messaging Service

04

Low-latency bidirectional messaging with presence, typing indicators, and ordered delivery across regions.

// architecture

ClientEdge LBWS NodeRedis StreamPersistence

// design targets

connections

120k

p50 RTT

38 ms

msg/s peak

44k

regions

4

  • Sticky routing via consistent-hash on session ID
  • Cross-region pub/sub fanout through Redis streams
  • Per-room rate limits and abuse detection at edge
Node.jsRedisWebSocketNginx
design study · not deployed
300+ services

Infrastructure Monitoring Dashboard

05

Unified observability console correlating metrics, logs, and traces across heterogeneous infrastructure.

// architecture

OTel SDKCollectorProm / LokiCorrelatorUI

// design targets

services

312

alerts/day

~140

noise reduction

−68%

MTTA

3.2 min

  • Service-map auto-discovery from OTel resource attributes
  • Alert deduplication and incident-grouping heuristics
  • SLO budgets visible per service and per team
PrometheusGrafanaOpenTelemetryNext.js
design study · not deployed
p95 < 12ms

High-load API Gateway

06

Edge gateway with token-aware routing, fine-grained rate limiting, and policy enforcement via OPA.

// architecture

ClientEnvoyOPAUpstreamCache

// design targets

p95 overhead

11 ms

RPS peak

62k

policy eval

0.6 ms

cache hit

94%

  • JWT/JWS validation with JWKS caching
  • Per-route and per-tenant quotas (token bucket)
  • Canary and shadow traffic via header-based routing
EnvoyGoRedisOPA
design study · not deployed