Skip to content
Komsan Nipharat

FIG.02 / Projects

Technical case studies. Featured work is given more room.

FIG.5Logistics

05

Logistics

Founder of the repo; sole frontend and infrastructure developer (81% of commits)

TMS Light

Lightweight transport billing product: work order → invoice → receipt, plus aging and revenue reports.

pnpm + Turborepo monorepo. Angular 22 (zoneless, signals) back office, NestJS 11 + Mongoose API, a shared-types package as the contract, Playwright E2E, GitLab CI to Huawei SWR.

AngularNestJSMongoDBTurborepoPlaywright
FIG.6Workers

06

Workers

Sole author

EDI Go service (COPARN / CODECO)

Go microservice that receives and sends shipping-line EDI messages over FTP and email.

Go (Cobra, Viper, sqlx) on PostgreSQL. RabbitMQ consumers and publishers, scheduled senders, Jaeger/OpenTelemetry tracing, FTP and Gmail OAuth transports.

GoRabbitMQPostgreSQLJaegerOpenTelemetry
FIG.7AI

07

AI

Sole architect and developer

Smart Survey — container damage detection

AI-assisted container survey: detects damage from photos for yard inspectors.

Worker running GenAI vision (OpenAI/Gemini) with an Angular front end. Simplified from Keycloak, MinIO, Neo4j, and RabbitMQ down to PostgreSQL with REST and WebSocket.

PythonGeminiOpenAIAngularPostgreSQL
FIG.8Payment

08

Payment

Sole developer

Bank QR payment gateway

Payment service connecting yard and transport billing to two Thai bank QR payment rails.

Node.js/Fastify service with schema-validated callbacks, transaction IDs, and timezone-correct timestamps, packaged as a Windows service for on-prem installs.

Node.jsFastifySCB APIKBank API
FIG.9ERP

09

ERP

Outsourced developer and agent-team lead

Frozen-food manufacturing ERP

Sales, production, warehouse, and loading-bay ERP for a frozen-food producer, built with a PR-gated AI agent team.

TypeScript monorepo: Node API on PostgreSQL with Redis, React 19 + antd web, and a mobile warehouse app. AI agents in developer, QA, and PM roles each work in their own git worktree and ship through reviewed PRs and CI.

TypeScriptReactNode.jsPostgreSQLRedis
FIG.10Payment

10

Payment

Software developer — payment and MVAS services

Payment gateway and MVAS

Payment and mobile value-added services that complete against telecom networks, not only an internal checkout screen.

Request path through application APIs into payment/MVAS services, with telecom adapters for SMS, USSD, and IVR. Background work is not assumed to finish inside the HTTP request.

GoNode.jsMongoDBNSQSMS
FIG.11Workers

11

Workers

Main author — 597 of 657 commits (2022–2023)

Go workers and NSQ schedulers

The New MVAS scheduler: a Go + NSQ queue processor that sends subscription content, charges, and warnings across three Thai mobile operators.

Go + Echo service; schedulers enqueue work on NSQ independently of the HTTP cycle and workers consume it. Per-operator retry paths, delivery-report handling, and MongoDB aggregations for blocklist and subscription checks.

GoEchoNSQMongoDB
FIG.12APIs

12

APIs

Main author — 348 of 423 commits (2023)

Campaign platform service

NestJS service for a telecom campaign and subscription platform: services, redeem codes, USSD and partner callbacks, permissions, and Kibana reports.

NestJS over MongoDB with Elasticsearch for transaction search and Kibana dashboards embedded per partner. Cron jobs for recurring-charge warnings and traffic. Deployed on AWS.

NestJSMongoDBElasticsearchKibanaAWS
FIG.13Surfaces

13

Surfaces

Software developer — application surfaces

Angular operations surfaces

Carrier-billing portal, partner report dashboard, and MVAS back office in Angular — the human side of the same production systems.

Angular front ends against REST APIs. Reports and landing pages are product surfaces, not a separate marketing stack.

AngularTypeScriptChart.jsREST
FIG.14Research

14

Research

Sole developer for NECTEC (2021–2022) — ~118 commits across 4 repos

Z-Face Rigging

Web app that tracks your face from a webcam and drives a rigged 3D face in real time, then exports the model and blendshapes.

TensorFlow.js FaceMesh drives a three.js face (blendshapes, iris-controlled eyes) in a Parcel app. React landing and account site; Express + TypeScript API with MongoDB, Redis, and Passport (local, JWT, Google, Facebook). Docker Compose behind nginx with auth-gated routes.

TensorFlow.jsthree.jsReactExpressTypeScript
FIG.15Research

15

Research

Developer for NECTEC (2021–2023)

Z-BodyX — merging body scans

NECTEC tool for merging body parts captured by several 3D scanners: landmark picking, thin-plate-spline fitting, symmetry, and motion retargeting.

FastAPI backend serving a three.js front end where users click landmarks on scanned bodies with guidelines. A TPS API fits parts, Python modules handle body and head/face symmetry, and glTF/BVH retargeting animates the result. Auto-rigging was evaluated and packaged in Docker.

PythonFastAPIthree.jsJupyterDocker
FIG.16Research

16

Research

Main developer (2020) — 17 of 18 commits

AutoKnee — knee X-ray processing

NECTEC web tool that crops knee X-rays in AP and LP views, finds femur and tibia contours, and runs a U-Net segmentation model.

Flask API (JWT, SQLAlchemy) running OpenCV contouring and a TensorFlow/Keras U-Net, with DICOM input. React + Redux client with a Konva canvas viewer.

PythonFlaskTensorFlowKerasOpenCV
FIG.17Side project

17

Side project

Solo builder

Khuen Jor — photos to the venue TV

Guests pay and send a photo; it plays on the venue's TV in queue order. Moderation, paid boost, reactions, and a leaderboard.

pnpm monorepo with three Next.js apps (customer, shop dashboard, TV) and background workers. Outbox/sequence core pushes to the TV over SSE. Moderation with a Thai keyword blocklist and image screening.

Next.jsTypeScriptSSEPostgreSQLDocker
FIG.18Side project

18

Side project

Solo builder

Rental Agent Hub

LINE-first workspace that turns rental listing posts into matched leads for co-agents.

Next.js + MongoDB, LINE LIFF and Messaging API, scheduled collection, image pipeline to S3, and AI-assisted matching and dedupe. Written up as PRD, architecture, and ADRs before code.

Next.jsMongoDBLINE LIFFS3LLM
FIG.19Freelance

19

Freelance

Freelance full-stack developer

Client web platforms

Booking, CMS, and production platforms for small businesses: a wellness brand, an animation studio, a sports platform pilot, and a loyalty backend.

Next.js monorepos with Payload or Sanity CMS, PostgreSQL with Drizzle, self-hosted on one VPS with Docker Compose and Caddy, or on Vercel.

Next.jsPayload CMSSanityPostgreSQLDrizzle
FIG.20Freelance

20

Freelance

Freelance frontend developer for NECTEC (2024) — 16 of 18 commits

Text and image search UI

Search UI for a NECTEC image-retrieval model: query by text, by uploaded images, or both, and see ranked results with correlation scores.

React + Vite + Tailwind client calling the model API through a proxy, with a health indicator, error handling for uploads, and Docker builds.

ReactViteTailwind CSSDocker
FIG.21Freelance

21

Freelance

Freelance web developer (2021–2023) — 51 of 79 commits

Virtual estate experience site

Virtual and on-site guide for a residential estate: hotspots, guided video, and per-area pages for visitors.

Static HTML/JS site with hotspot scenes per area, device-orientation handling, and video autoplay workarounds for mobile browsers.

JavaScriptHTMLCSS
FIG.22Open source

22

Open source

Contributor

Open-source contributions

Fixes sent upstream to tools I use at work, merged by their maintainers — including herdr (~50K★), collie, and node-pg-migrate.

Small, focused PRs with a reproduction and a test where the project has one.

TypeScriptRustDartAngularShell
FIG.23Side project

23

Side project

Author

Small public tools

Tools I built for myself and published: Jira tree viewer, MIDI flashcards, ISO 6346 container numbers, and a project opener CLI.

Small single-purpose apps, deployed on Vercel or run locally.

Next.jsSvelteWeb MIDINode.js