Designs by Duhart

J. Michael Duhart · available, fully remote

I build distributed systems and I can show you the code.

Go, Kafka, Cassandra, Redis, Kubernetes. Twenty-eight projects, ranked by what a systems-design loop actually tests — with the measured numbers, the repository paths, and the production bugs I found, fixed, and wrote down.

Three claims, three proofs

3independent Kafka consumer groups off one activity log, fed by a transactional outbox The activity graph →
952orphaned messages in a Redis consumer group's pending-entries list — found, explained, reclaimed The war stories →
26,176lines of Go carrying chat, presence, push and call signaling in production The realtime service →

If you're hiring, start here

Four pages each. Pick the column that matches your stack — it will take about ten minutes and you will know whether to call.

Financial institution

Auditability, enforceable contracts, fail-closed behaviour.

  1. Contracts tested in CI
  2. RS256 identity and authorization
  3. Release gates that can block
  4. A pipeline that refuses to guess

Tier S — the three that carry an interview

1 · Billboard Activity Graph

A Cloudflare Worker cannot open a TCP socket, so Kafka and CQL are permanently unreachable from the edge. The event is therefore written into a Postgres outbox inside the same transaction as the post, and a host-resident Go relay moves it onto a six-partition topic keyed by actor. Three independent consumer groups read it — feed materializer to Cassandra, notification worker to Postgres, fanout to realtime — each absorbing at-least-once delivery with its own named idempotency mechanism. There is no exactly-once claim anywhere in it, and there should not be.

2 · GlobalChat Realtime Messaging

26,176 lines of Go on Cassandra, Redis and Kafka: 1:1 and group chat, presence, typing, receipts, reactions, view-once media, voice transcription, push, and WebRTC call signaling. Twenty-nine test files including WebSocket benchmarks and dedicated race tests — plus an AsyncAPI coverage test that fails the build when the implementation and the contract drift apart.

3 · Match Service

A geo-partitioned Cassandra ranking pipeline, and the two best stories in the portfolio. Ranking loops wrote score updates using the region they were iterating rather than the region the user's card lived in; because Cassandra UPDATE is an upsert, that silently created a phantom partition per user per region and leaked nameless cards into real users' decks. Separately, a Redis consumer group's pending-entries list had grown to 952 unacknowledged messages with no reclaim path. Both found, both fixed, both written up in-source.

All twenty-eight, ranked

Scored on an eight-signal rubric weighted toward what these loops test. Differences under about five points are ties, not an ordering.

1Billboard Activity GraphGo · outbox → Kafka → three consumer groups103 2GlobalChat Realtime MessagingGo · Cassandra, Redis, Kafka, WebSocket106 3Match Service — Distributed RankingGo · geo-partitioned Cassandra, Redis Streams101 4Solomon — Serving, Kubernetes & AutoscalingPython · k3s, Helm, HPA, continuous batching90 5Solomon — LLM Platform (umbrella)The whole pipeline, end to end89 6Billboard Production HardeningTypeScript · RS256, 9 tables, CI contract gates84 7WebRTC Calling PlaneGo · ICE/STUN/TURN, a fatal map race located83 8Media & Upload InfrastructureGo + TS · R2 multipart, IngestDO, TUS80 9Push & Notification PipelineGo · Kafka → APNs + PushKit VoIP79 10Solomon — Retrieval & Agent TierGo · index, agent loop, grounding guard75 11Platform Operations & CI/CDsystemd, Compose, two CI systems, six gates73 12Auth & Identity PlatformGo · gRPC/Connect, RS256, 24 protobufs70 13GlobalChat Messaging UISwift + React · transport/store/runtime split70 14Realtime Gateway TrioGo · 48,582 lines over Kafka + Cassandra69 15Cloudflare Edge PlatformTypeScript · 10 Workers, D1/R2/KV/DO68 16Solomon — Evaluation Gates & PromotionNine release-blocking gates65 17Solomon — Training & Experiment TrackingMLflow, SHA256 manifests, val PPL 40.063 18Dating Swipe Deck & Discovery UISwift · 90,161 lines; 49 audited findings62 19BoxOffice & the Moderator ConsoleSwift + Next.js · statutory-deadline operator UI61 20OpenHouse GlobalTypeScript · 7 forward-only CQL migrations57 21Billboard Player — Audio UI & EngineSwift · actor-isolated AVPlayer, vDSP FFT56 22Palantir J8 — Exhibit FactoryPython + React · fail-closed financial ingest55 23Multiplatform Clients (umbrella)611K lines Swift, 19-module Compose port54 24Solomon — The TransformerPyTorch from the paper; KV cache proven equal53 25Web Platform UINext.js · every mode, generated protobuf clients51 26Solomon — Corpus, Tokenizer & Data Governance130M tokens, 0 UNK, contamination checks46 27Technical Documentation CorpusThree 17–20 chapter manuals with gap registers39 28Portfolio & Marketing InfrastructureCloudflare Pages; a DNS plan that saves your email17

Infographics

Portfolio rankingAll 28 scored against an eight-signal rubric, in four tiers. The activity graphOutbox → Kafka → three consumer groups, drawn. Platform mapClients, edge, origin, data — and the socket wall. Scale dashboardMeasured lines, services, datastores, tests. Skills matrixEvidence per skill — including the two honest gaps. Solomon pipelineCorpus → nine blocking gates → Kubernetes.

Also worth your time

Résumé bulletsEvery project reduced to lines, pre-sorted by employer, with a table of quotable numbers. Interview storiesEight stories in situation/action/result form, each with the follow-up questions it invites. The full inventoryAll 28 case studies with the scoring rubric and per-employer reading paths.