Skip to content

Services

How I engage.

Small, deliberate engagements. Mostly payments, queues, and multi-tenant SaaS. I pick one or two at a time so the work is actually good.

BookingQ3 20261 engagement slot open

Process

  1. Intake

    A short chat or a two-line email, then a 30-minute call. I turn down engagements that are not a fit.

  2. Scope

    A written quote and a short plan. Both sides agree before any code moves.

  3. Ship

    One shared channel. Updates during the week, a working demo every Friday.

  4. Handoff

    Written docs, recorded walkthroughs, and a two-week warranty — I fix any bug I shipped for free.

Engagements

  • 011–2 weeksFixed fee

    Feature sprint

    Pick one well-scoped feature — a new integration, a checkout flow, an internal tool. I ship it end to end, tested and live in your product.

    Before we start

    A fixed quote and a short plan — what we are building, why, and how I will know it works.

    You get

    • Shipped feature, live in your product
    • Pull requests your team can read and maintain
    • Short doc on how it works and how to extend it
  • 024–8 weeksWeekly

    Infrastructure build

    Build a working system from scratch. Designed, coded, monitored, and rolled out to your users without drama.

    Before we start

    A quote and a short design doc — how it will work, what could go wrong, how we ship it safely.

    You get

    • Working system in your codebase
    • Playbook for your team when something breaks
    • Dashboards and alerts so you see problems early
    • Handover doc for whoever maintains it next
  • 03monthlyMonthly

    Advisory retainer

    A senior engineer on call, every week. I help with big technical calls, hiring, code review, and talking through outages after they happen.

    Before we start

    A quote and a one-pager — what I cover and how fast I reply.

    You get

    • Notes from every call
    • Write-ups of major technical decisions
    • Code review on your team’s pull requests
    • Post-incident walk-through when something breaks

Contact for rate cards. Invoicing in MYR, USD, or SGD via Wise.

Stack

Payments

  • Stripe
  • Razer
  • iPay88
  • FPX
  • DuitNow
  • webhook signing
  • idempotency
  • reconciliation

Backend

  • Go
  • TypeScript
  • Node
  • Postgres
  • Redis
  • Temporal

Platform

  • AWS (ECS, SQS, RDS, Lambda)
  • Cloudflare
  • Docker
  • Terraform

Observability

  • OpenTelemetry
  • Grafana
  • Sentry
  • Datadog

Proof

  • Ships merged50+

    Pull requests merged across 40+ repos in the last 18 months. Public on GitHub.

  • Fixed-fee warranty0 claims

    Two-week bug warranty, unused on shipped sprints.

  • On-time delivery100%

    Every fixed-fee sprint shipped within the quoted window.

FAQ

Do you sign NDAs?
Yes, before the scope deck.
What does the contract look like?
A standard statement of work, either of us can end it with two weeks’ notice. I can sign yours if you prefer.
Where are you based?
Kuala Lumpur, GMT+8. Happy to sync with Sydney, Singapore, or European hours.
Is this remote?
Yes. On-site kickoffs are possible and billable as travel.
How do you invoice?
Net-14, bank transfer in MYR, USD, or SGD via Wise.
Who owns the code?
You do, from day one. Standalone libraries are MIT-licensed unless you would rather keep them private.

Getting started

Start a project →

Or a two-line email if you'd rather write your own. Reply within two business days, GMT+8.

Contact →