Tanhab Sarker

Tanhab Sarker

Software & Backend Engineer · MSc Computer Science (UBC)

I like building software and backend services that scale. Most of what I work on sits behind the product rather than in front of it: event-driven architecture, distributed systems, and thinking hard about edge cases and how things behave once the load goes up.

Kelowna, BC·Open to work · will relocate anywhere in Canada
Tanhab Sarker

What I Do

Backend Systems

Java, Spring Boot, Node, Postgres, REST APIs.

Distributed Systems

Microservices, Kafka sagas, idempotent consumers.

Cloud & DevOps

Docker, Terraform, AWS, and CI/CD pipelines.

Problem Solving

Codeforces Expert. 1000+ problems solved.

Selected Projects

What I've Built

Argus

Distributed multi-region service monitor: three checkers on three continents vote on whether your service is actually down before anything pages you.

  • Required 2 of 3 regions to agree over a sliding 90-second window, so one checker on a bad network path cannot page anyone: a checker losing a third of its requests raised 0 false alarms.
  • Serialized per-monitor evaluation with Postgres advisory locks inside a single transaction, chosen non-blocking so contention skips rather than queues, and the lock releases on commit rather than needing cleanup.
  • Inserted a four-state model (up / degraded / down / recovering) with configurable time thresholds between raw verdicts and notifications, absorbing 199 brief status flips into 0 pages while still catching every real outage.
  • Detected latency anomalies online with per-checker EWMA baselines and z-scores, distinguishing a service-wide slowdown (two of three paths) from one slow region, so a bad transit route is recorded rather than paged.
  • Reconstructed uptime from an append-only transition log with half-open interval arithmetic, excluding scheduled maintenance and gaps where monitoring itself was down.
  • Made alert delivery crash-safe with a transactional outbox and a pg-boss retry queue, keeping network I/O out of the locked transaction entirely.
  • Load-tested the write path at 506 req/s with 0 errors and 81 ms p99, behind ~210 tests including integration tests against real Postgres via Testcontainers.
TypeScriptNode.jsFastifyPostgreSQLDockerGitHub Actions

HoldTheSeat

Event-driven ticket-booking backend: three Spring Boot services coordinating a booking over Kafka, with no shared database and no distributed transaction.

  • Split booking, seat, and payment into three independently deployable services that talk only through Kafka events, each owning its own Postgres database with no shared tables.
  • Proved no double-booking under concurrency: 50 threads race for one seat and exactly 1 wins, with holds taken atomically in Redis by a server-side Lua script.
  • Made the saga crash-safe with a transactional outbox and idempotent consumers, turning Kafka's at-least-once delivery into exactly-once effect.
  • Handled failed payments with compensating events: a declined card cancels the booking and frees the seat, returning the map to its precise opening state.
  • Measured the full booking journey with k6: accepted in 20 ms at p95, settled within 1.1 s across three Kafka hops.
  • Verified both invariants under Testcontainers against real Kafka, Postgres, and Redis rather than mocks.
  • Deployed to AWS with Terraform — ECS Fargate, RDS, and ElastiCache in private subnets behind an ALB — alongside a live demo running on a Hetzner VPS.
Java 25Spring Boot 4Apache KafkaPostgreSQLRedisTerraformAWS

Beaverworld Project Management

Internal issue tracker and Kanban tool built for the 15-20 person game team I run, and used by them every day since.

  • Built it after bug reports started getting lost in Discord chat: the team's version control has no web issue UI, leaving the non-programmers with no way to file or track one.
  • Shipped the full surface solo — issue tracking, drag-and-drop Kanban boards, threaded comments, per-issue audit trail — replacing an Asana plan the team had outgrown at its 10-user free cap.
  • Fanned notifications out in-app, by email, and to Discord across 18 event types, behind a rate limiter that queues bursts rather than dropping them.
  • Hardened the live app after shipping: moved a Discord webhook server-side once the URL turned up in the client bundle, and sanitized error messages that were leaking database internals.
Next.jsReactTypeScriptSupabaseTailwind CSSVercel
Work Experience

Where I've Worked

Lead Developer & Project Manager

Beaverworld · UBC Okanagan

Sep 2024 – Present
  • Developed the core systems of a 3D open-world game in Unity, using an event-driven observer model that keeps gameplay logic decoupled from the UI.
  • Led a 15-20 person team of programmers and artists, and onboarded 6 new software developers onto the codebase.
  • Built the team's developer tooling: an in-game console and a Unity MCP integration for daily agent-assisted development.
  • Wrote the agent guidelines and repo rules that significantly reduced binary-asset merge conflicts on a large shared codebase.
  • Migrated the team's Unity project from Plastic SCM to GitHub, rebuilding branching and review so first-time git users could ship without breaking the build.
  • Ran a multi-school user study with BC School District 23: designed the protocol, ran the sessions, and analysed the surveys and interviews.

Software Engineer I

Samsung R&D Institute Bangladesh

Feb 2024 – Jul 2024
  • Built the on-device lesion detection pipeline for a live assist feature on Samsung ultrasound systems.
  • Nearly doubled live inference from 30 to 55 FPS with TensorRT and INT8/FP16 quantisation, inside the 6 GB of VRAM shared with the scanner's imaging software.
  • Chose the detection architecture by benchmarking accuracy against latency across the 2024 state-of-the-art detectors: YOLO variants, RT-DETR, and EfficientDet.
  • Improved detection mAP@0.5:0.95 by 10% through hyperparameter tuning across detector and backbone variants.
Education & Research

Academic Focus

MSc Computer Science

University of British Columbia, Okanagan

Sep 2024 – Expected Nov 2026
  • 90% GPA, with a thesis on designing and evaluating XR and 3D games for education in classroom settings.
  • The thesis is the classroom research behind Beaverworld: protocol design, sessions run with BC School District 23, analysis, and the product changes that came out of it.

BSc Computer Science

Shahjalal University of Science & Technology, Bangladesh

Jan 2019 – Jan 2024
  • Graduated with a 97% GPA.
Leadership & Community

Leadership

SUST ACM Student Chapter

Executive Member

2021 – 2022
  • Helped organize 10+ webinars on software engineering with engineers from Google, Facebook, and Microsoft, covering technical interview prep, CV writing, graduate applications, and design patterns.
  • Ran a Mobile Game Development training seminar in partnership with the ICT Division of the Bangladesh Government, MARS Solutions, and SHADOWHITE.