Skip to content
bawonsak.p

Bawonsak Petchbunjerdkul · Senior Software Developer

I build backend systems that handle real production complexity.

Messaging platforms, order consolidators, reporting pipelines, and internal tools — designed and built with NestJS, MongoDB, PostgreSQL, Docker, and Kubernetes. And I stay around after the deploy to keep them running.

Bangkok · UTC+7 · open to consulting & freelance

System architecture schematic: a dashboard, webhooks, and external platforms feed an API; jobs flow through a queue into a worker pool and database; reporting loops back to the dashboard; everything is deployed on Kubernetes. enqueue consume bulk write REST · OAuth 2.0 aggregate DASHBOARD Angular · React API NestJS · REST WEBHOOK inbound events EXTERNAL APIS Shopee · Lazada · TH Post QUEUE / JOBS agenda · batches WORKER POOL concurrency ×8 DATABASE MongoDB · PostgreSQL REPORTING aggregation pipeline DEPLOYMENT Docker · GitHub Actions · Kubernetes sync async flow

01 What I build

The systems I get asked to build, again and again

Systems that other people operate, that move real data, and that someone has to maintain after I'm done.

02 Core strengths

Where I'm strongest

01

Backend Architecture

Service boundaries drawn from the business workflow. NestJS services, clear API contracts, and background jobs designed around failure and retry from day one.

03

System Integration

Shopee, Lazada, Thailand Post, internal services. Defensive handling for inconsistent APIs, incomplete sandboxes, and access tokens that expire at the worst possible moment.

05

Kubernetes Deployment

Docker images, GitHub Actions pipelines, ConfigMaps, Secrets, TLS, NGINX ingress. Releases planned around the data they touch, so a bad deploy is a rollback — not an incident.

02

Large-scale Data Processing

Campaign inputs of up to 1,000,000 records. Batching, worker pools, and memory control decided at design time, long before the first OOM kill can force the issue.

04

MongoDB & PostgreSQL Performance

Compound indexes designed from real access patterns. Aggregation pipelines that respect memory limits. Pagination that holds up when collections stop being small.

06

Enterprise Product Engineering

Software that other people have to operate and extend. Maintainability, observability, and technical decisions that can still be explained six months later.

03 Selected case studies

Three production systems

Messaging at scale, reporting performance, and multi-platform integration — with the constraints and trade-offs that shaped each one.

CS·01

Smart Messaging Platform

An enterprise campaign messaging platform — validation, scheduling, delivery, and reporting workflows that had to hold up in production.

An enterprise platform for campaign creation, recipient validation, scheduling, delivery, and reporting — supporting manual input, file input, contact selection, validation rules, and background processing at scale.

Read the case study

Key challenge

Processing campaign inputs of up to 1,000,000 records without memory spikes, while keeping scheduling, delivery, and reporting reliable.

Tech stack

NestJS Angular MongoDB Mongoose Agenda Node.js +3

CS·02

MongoDB Reporting Optimization

Improving aggregation, indexing, and reporting performance for high-volume campaign data.

A reporting system for campaign messaging and operational dashboards that had to query and aggregate large volumes of campaign-related data — without slow queries, memory-heavy operations, or pagination that collapses at scale.

Read the case study

Key challenge

Aggregation pipelines over large collections — avoiding slow queries, oversized intermediate arrays, $lookup and $facet pitfalls, and inefficient pagination.

Tech stack

MongoDB Mongoose NestJS Aggregation Pipeline Node.js

CS·03

E-commerce Order Consolidator

An order management system that consolidates multiple e-commerce platforms into a single operational workflow.

A system that centralized orders from Shopee, Lazada, and related seller platforms into one place — order lists, order detail, order status, shipment status, and Thailand Post logistics workflows.

Read the case study

Key challenge

Integrating multiple platform APIs with different order formats, OAuth 2.0 token lifecycles, webhook behaviors, and incomplete sandbox environments into one reliable workflow.

Tech stack

React / Next.js Node.js Express.js SQL database REST API OAuth 2.0 +4
View all case studies →

04 Technical stack

Tools I reach for

Picked per problem; the case studies show how they fit together.

Backend

NestJS Node.js Express.js REST API design OAuth 2.0 JWT Background jobs Webhooks

Frontend

Angular React Next.js TypeScript Enterprise dashboards

Data

MongoDB Mongoose PostgreSQL MySQL Aggregation pipelines Index design Bulk writes

Infrastructure

Docker Kubernetes NGINX Ingress GitHub Actions CI/CD TLS / Secrets

05 System thinking

How I approach a system

The same sequence every time — because skipping a step is how systems fail later.

  1. 01

    Understand the business workflow

    What actually happens, who does it, and where it breaks today.

  2. 02

    Draw the system boundary

    What's inside the system, what's an integration, what stays manual.

  3. 03

    Design the data model & API contracts

    Schemas and contracts before code — they outlive both.

  4. 04

    Build processing pipelines that scale

    Batches, queues, worker pools, idempotency.

  5. 05

    Optimize for real access patterns

    Indexes and queries tuned to how data is actually read.

  6. 06

    Deploy and operate safely

    Small releases, observable systems, planned rollbacks.

  7. 07

    Keep it maintainable

    A system is good if the next engineer can change it without fear.

Have a system that needs to survive production?

I'm open to backend engineering, enterprise system development, internal tools, integration platforms, architecture review, and technical consulting.