Skip to content
View viplct's full-sized avatar
🟢
Available
🟢
Available

Block or report viplct

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
viplct/README.md

Pham Duc Long

Solution Architect · 13+ years · Germany 🇩🇪 & Vietnam 🇻🇳

I turn ambiguous business problems into pragmatic architectures — clear boundaries, defensible trade-offs, and systems that scale without over-engineering.

Portfolio LinkedIn Email


🧭 About

  • 🏗️ Solution Architect shipping resilient, multi-domain systems — from on-chain analytics to booking engines, marketplaces, logistics and AI automation.
  • 🎯 I optimize for the right trade-off, not the trendy one: I distribute only when a single node genuinely can't cope, and I make every architectural decision defensible with an ADR.
  • 🌐 10+ domains, 20+ projects, 10+ clients across Germany and Vietnam.
  • 📚 Currently deepening data-intensive-systems fundamentals in public — see Labs below.
  • ☁️ AWS-certified · PSM I · comfortable from database internals up to org-wide platform strategy.

🛠️ Architecture Toolbox

Architecture & Data

Event-Driven Microservices Multi--Tenancy OLTP%2FOLAP PostgreSQL Redis Kafka DuckDB

Cloud & DevOps

AWS Docker Kubernetes CI%2FCD Terraform

Languages & Frameworks

TypeScript PHP Laravel Node.js NestJS React Python


🧪 Solution Architect Labs

Small, runnable repos where I work through core data-intensive-systems trade-offs. Each ships with an ADR (the reasoning) and a measured result (not just a claim).

Lab What it demonstrates Status
oltp-to-olap-pipeline Row-store vs column-store, star-schema modelling, and what ETL is really for — with a benchmark you can reproduce ✅ Live
storage-compute-separation Cloud-native storage/compute split, with a cost model showing when it's cheaper than a coupled DB — and when it isn't ✅ Live
scale-up-before-out Load-testing one node's throughput ceiling, and the arithmetic for when distributing is actually justified ✅ Live
privacy-by-design-reference GDPR rights (access, erasure, portability, retention) driven by a declarative PII data map — with verifiable erasure ✅ Live
measure-latency-right Why the mean lies, why percentiles don't average, and coordinated omission — three runnable latency demos ✅ Live
overload-resilience Retry storms & metastable failure vs load shedding + circuit breaker; goodput simulated and compared ✅ Live
chaos-failover Kill a replica mid-traffic: SPOF turns a fault into an outage, failover survives — measured downtime ✅ Live
safe-deploys-canary Big-bang vs canary + auto-rollback: same broken release, 99.5% less blast radius ✅ Live
choosing-a-database Pick the model then the engine (SQLite vs Postgres...): measured trade-offs + a decision engine over 16 DBs ✅ Live
lsm-vs-btree A mini LSM engine built from scratch (Bloom filters, compaction, tombstones) + the measured index trade-off ✅ Live
beyond-the-btree-indexes Inverted (full-text), spatial (geo), and vector (HNSW) indexes vs brute-force — incl. recall-vs-latency for RAG ✅ Live
replication-consistency Quantifying "eventual": quorum staleness (w+r>n), async read anomalies, and failover write loss ✅ Live
replication-conflict-resolution Concurrent writes: LWW data loss vs CRDT convergence, and version vectors for detecting concurrency ✅ Live
partition-key-strategies The partition key you can't take back: hash vs key-range hot spots, virtual-node skew, and splitting a hot key ✅ Live
shard-rebalancing-and-routing Scale-out without moving everything: mod N (moves 95%) vs fixed shards vs consistent hashing, plus local vs global secondary indexes ✅ Live
high-demand-ticketing Selling tickets under a stampede (Laravel): naive oversells 400% vs pessimistic/atomic decrements, TTL holds, idempotent payment, waiting room + AWS on-demand/serverless designs ✅ Live
ecommerce-flash-sale Why a flash sale oversubscribes the cart & decrements at checkout: funnel vs reserve-at-cart, payment-TTL stock reclaim, per-user anti-scalper cap ✅ Live
multi-resource-booking Booking across resources/services: naive partial booking vs saga (0 orphans), saga-vs-2PC blocking, hotel date-range atomicity, deliberate airline overbooking ✅ Live

📖 Companion write-ups live on longpham.tech/blog.


📜 Certifications

AWS Certified PSM I DevOps ServiceNow


📊 GitHub Activity

Top Languages

GitHub Streak


Designing systems that are simple on purpose. → longpham.tech

Pinned Loading

  1. oltp-to-olap-pipeline oltp-to-olap-pipeline Public

    Runnable lab: Postgres (OLTP, row-store) → ETL → DuckDB (OLAP, column-store) star schema, with a benchmark measuring the row-vs-column trade-off. Part of my Solution Architect labs.

    Python

  2. storage-compute-separation storage-compute-separation Public

    Runnable lab: storage/compute separation on MinIO + DuckDB, with a scenario-based cost model showing when cloud-native separation beats a coupled database — and when it doesn't. Part of my Solution…

    Python

  3. privacy-by-design-reference privacy-by-design-reference Public

    Runnable reference: GDPR data-subject rights (access, erasure, portability, retention) driven by a declarative PII data map, with verifiable erasure that respects foreign keys and legal holds. Part…

    Python

  4. scale-up-before-out scale-up-before-out Public

    Runnable lab: load-test one Postgres node to find its throughput ceiling, then compare to real traffic to decide if distributing is justified. Measures ~10k qps on a laptop. Part of my Solution Arc…

    Python