
Consumer design
Idempotent handlers, poison-message quarantine, and retry policies that respect downstream SLAs instead of amplifying outages.

Craft-led programming consulting for event-driven software architecture — scoped, priced, and delivered under agreements we write before work begins.
Singapore-based engagements for teams replacing brittle request chains with durable event flows.
Event-driven design is not a message broker purchase — it is a craft of boundaries, contracts, and observable lifecycles that still read clearly under production load.

We help product and platform teams untangle synchronous sprawl: outbox tables that never drain, consumers that double-charge, and saga steps that hide failures until month-end reconciliation.
Engagements stay project-based. You receive a written scope with deliverables, review points, and fees agreed before implementation hours accrue — no subscription tiers, no anonymous “enterprise” SKUs.

Idempotent handlers, poison-message quarantine, and retry policies that respect downstream SLAs instead of amplifying outages.

Selection and topology notes for Kafka, RabbitMQ, or cloud-native buses — always tied to your consistency needs, not vendor defaults.

Annotated diagrams, ADR drafts, and test harness recommendations so event contracts stay versioned like any public API.
For: engineering leads modernising order, billing, or logistics flows where failures must be replayable and auditable.
Not for: teams seeking a fixed SaaS connector pack, 24/7 managed operations, or marketing-site WordPress work. We stay in architecture and implementation guidance for event-backed services.
No. We advise on configuration and integration patterns; licenses and cloud spend remain on your accounts.
Each project receives a statement of work with milestones. Fees are quoted in SGD for the agreed scope; starting figures are labelled when shown on the services page.
Yes, when schedules allow. Our office is at 35,Eu Tong Sen Street,Singapore,059813; hybrid workshops are common for discovery.
Diagrams, ADRs, sample consumers, and test fixtures defined in your scope — plus handover notes for internal maintainers.
Share the bounded context, current broker or database, and the failure mode you are trying to remove. We reply by email with next steps.