My Projects

Real repositories I own and ship: distributed systems, data platforms, ML infrastructure, and low-level software. Each card links to the code behind it.

MatchSense

Active Development

Distributed Systems: Real-time football (soccer) analytics: simulated match events flow through Kafka into a stats aggregator, an ML prediction service, and a live Grafana dashboard. The interesting part isn't the sport, it's making the event pipeline survive retries, duplicates, and partial failures.

GoPython / FastAPIKafkaRedisOpenTelemetryKubernetes / ArgoCDKyverno
Design highlight: idempotent event ingestion via client-supplied or generated event IDs, so retried publishes are deduplicated instead of double-counted, with an OpenTelemetry trace context propagated through Kafka headers end to end.

Match events and ML training data are simulator-generated, not live sports data.

Market Pulse

Active Development

Data Engineering: A local stock-market analytics lakehouse. Daily OHLCV price bars land raw in an Iceberg bronze table, get cleaned into silver, and roll up into a gold analytics layer (returns, moving averages, volatility, volume-anomaly detection) via dbt-on-Trino, orchestrated by Airflow.

Apache IcebergMinIOTrinodbtAirflowTerraformSuperset
Design highlight: incremental ingestion with an idempotent delete-and-replace-partition write pattern, dbt data-quality tests on every layer, and a manual/weekly end-to-end workflow that runs the real stack against Trino rather than trusting fixtures alone.

Linux Kernel Lab

Completed

Systems Programming: Built Linux 6.10 from source and booted it in QEMU with a custom BusyBox initramfs, wrote a character-device driver, and attached GDB to a paused kernel at start_kernel to step through early boot.

Linux 6.10CQEMUGDBBusyBoxGCC / LLVM
Design highlight: the debugging trail, not the driver itself: a GCC 15/C23 keyword collision breaking the boot decompressor, a GCC-vs-Clang/LTO module mismatch, and an "Attempted to kill init" panic that turned out to be QEMU's default CPU model, not a kernel bug.

Personal Cognitive Load Monitor

Active Development

MLOps: An educational MLOps platform around a FastAPI cognitive-load classifier: experiment tracking, data versioning, containerized serving, and drift monitoring, built to exercise the full path from notebook to (would-be) production.

FastAPIMLflowDVCDocker / HelmKServePrometheus / GrafanaEvidently
Design highlight: KServe scale-to-zero serving behind an HPA, with Evidently drift reports, Tempo tracing, and Loki logging wired into the same coverage-gated CI/CD pipeline as the model code.

Uses synthetic data for an educational MLOps demonstration, not a medical or clinically validated system.

Company Research

Completed

Applied AI / Full Stack: A full-stack platform for researching companies against a resume: a Retrieval-Augmented Generation pipeline matches resumes to job postings using LangChain retrieval and LangGraph orchestration over a pgvector store, streamed back to the client over Server-Sent Events.

ReactNode.jsFastAPIMongoDBPostgreSQL / pgvectorLangChainLangGraph
Design highlight: a three-node LangGraph pipeline (retrieve → rate → advise) streaming results incrementally via SSE instead of blocking on a single long response.

DevSecOps Lab

In Progress

Infrastructure / DevSecOps: A personal, from-scratch DevSecOps pipeline across multiple VMs: GitHub triggers Jenkins, which runs Gitleaks, Semgrep, and a SonarQube quality gate as build-blocking stages before pushing images to a private Harbor registry and deploying via Helm to Kubernetes.

JenkinsKubernetesHelmHarborNexusSonarQubeGitleaks / Semgrep / Trivy
Design highlight: multi-stage Dockerfiles pin every build to the app's original toolchain era, so the shared build agent's own JDK/Node versions never have to match it.

A personal home lab, separate from any employer's infrastructure; no production system is represented here.

Additional Work

Smaller tools and labs I've built along the way.

LearnOps Tracker

Completed

Full-stack DevOps learning tracker: skills, certifications, roadmap items, and analytics, with GitHub repo linking and import/export.

Next.jsTypeScriptPrismaPostgreSQL

NoteKeeper Platform

Completed

GitOps microservices platform: three Go services, CI security gates (Gitleaks, Trivy, Cosign), and Kyverno admission policies enforced through ArgoCD.

GoArgoCDKyvernoCosign

Lay-Off-Link

Active Development

End-to-end MLOps and data platform: model training/serving, data pipelines, and Kubernetes deployment behind a multi-stage CI/CD pipeline.

KubernetesHelmTerraformMLflow

DevOps SSH Lab

Completed

Secure remote Linux administration over a private Tailscale network: SSH hardening, key-based access, and connectivity troubleshooting.

LinuxSSHTailscale