// architecture reference

Architecture Reference

Interactive system diagrams behind each case study — hand-coded in HTML/CSS, no images

// system architecture · 01

WhatsApp Greeter System

Enterprise Client · asia-southeast1 · Cloud Run + Firestore

Read the full case study ↗
drag or scroll horizontally to explore the full diagram
// key design decisions
Date-based state (no reset job) Store greeted_{waba}: "YYYY-MM-DD" per contact. No daily reset needed — date comparison handles deduplication automatically.
Independent WABA tracking Each contact × WABA pair is tracked separately. Messaging WABA A doesn't affect WABA B greeting state.
Firestore named database Isolated from other projects in the same GCP account. Schema-free — adding new WABAs requires zero migration.
Monthly PDPA cleanup Contacts inactive for 30+ days are purged. Keeps storage lean and compliant with data minimisation principles.
// infrastructure blueprint · 02

AWS Cloud Resume Architecture

DevSecOps pipeline · S3 + CloudFront + Lambda + DynamoDB · ap-southeast-2

See it on the portfolio ↗
drag or scroll horizontally to explore the full diagram
// key design decisions
S3 blocks all public access Content served exclusively via CloudFront with OAC. Eliminates direct bucket exposure — no public S3 URL is possible.
Lambda Function URL (no API Gateway) Reduces cost and latency for a single-function visitor counter. No API Gateway overhead needed at this scale.
DevSecOps pipeline as the gate Every commit triggers Snyk SCA/SAST and Selenium smoke tests. Deployment only proceeds on full pass.
Cost governance built-in AWS Budgets sends proactive alerts before thresholds are breached — keeping this workload predictably lean.
// case study architecture · 03

GenAI Lead Qualification + Human Handoff

Education · GenAI Agent · Rubric-based scoring · Human in the loop

Read the full case study ↗
Human agent connects with qualified hot lead — completing the feedback loop back to the user
drag or scroll horizontally to explore the full diagram
// key design decisions
Rubric-based scoring (not black-box AI) Lead score + confidence signal + rules engine. Qualification decisions are auditable and reduce LLM misclassification risk.
Confidence-gated human review Low-confidence cases queue for sales ops review. Review outcomes feed back into rubric refinement, improving accuracy over time.
Consent-first handoff Agent captures consent and packages a summarised conversation + intent before escalating — improving consultant efficiency and user trust.
Idempotent integration Webhook validated via IP allowlist and idempotency check on session ID + phone number. Retry-safe by design.
// case study architecture · 04

Event-Driven POS Integration

F&B · Serverless · Event-driven · Real-time order lifecycle notifications

Read the full case study ↗
drag or scroll horizontally to explore the full diagram
// key design decisions
Retry-safe webhook ingestion 4xx for invalid payloads (no retry). 5xx for transient failures (retry with backoff). Idempotency key on primary order ID prevents double-processing.
Explicit order event semantics Order type (received/ready) classified at validation. One pipeline handles both — simplifying extension to future order states.
Async notifications as side effects Notifications don't block the ingestion response to POS. Messaging failures can't cascade into order processing failures.
SMS fallback for degraded scenarios KDS → SMS path ensures customer communication continues during provider outages. Clear operational fallback path.