Available from September 2026 · On-site, Hybrid (Nonthaburi) & Remote

Napaporn
Suttinarksombat

AI Engineer Applied LLM systems · 13 years production backend

I ship LLM features into systems that already exist and already carry money — provider × model × key failover, schema-validated model output that degrades to a deterministic engine instead of guessing, PII redaction before the provider call, and a human approval gate on every AI-initiated write — on top of 13+ years of high-concurrency transaction platforms, two-way Oracle ERP integration, and strangler-fig migration of legacy monoliths onto Nuxt 4 / TypeScript.

13+ Years
90+ Branch POS network
6 LLM providers routed with failover

About

My AI work is engineering, not prompting — and I would rather tell you where the seams are than round them off. In the CRM copilot, untrusted inbound text passes a ten-pattern filter and an explicit untrusted-data framing before it reaches the model; it is a denylist, not a classifier, and it has no test coverage yet, so I call it a first layer rather than a solution. Every model response is validated against a Zod contract and degrades to a deterministic engine when it fails — proven by a forced-failure end-to-end test, not by assertion. PII is redacted before the payload leaves the process, and every AI output lands as a draft a human must approve, with approve and discard as the only transitions and a 409 on re-approval.

In the self-hosted assistant the problem is routing and blast radius: provider × model × key failover across six LLM providers with tiered per-key cooldown, free-tier enforcement that stays on unless it is explicitly switched off, two bounded agent loops, a stdio MCP server, and a deny-by-default SQL gate in front of a production database. I also write the governance standards my own AI coding agents run under — including a deploy skill that refuses to ship to production unless a human supplies an exact authorization token, and that rejects being talked into it in plain language.

That sits on 13+ years of systems modernization — a 90+ branch POS platform with money math that has to be exactly right under concurrent writes, two-way Oracle ERP integration, a regulatory calculation rewritten into exact-decimal arithmetic because the number ends up on a government filing, and a strangler-fig migration of a large legacy PHP monolith onto Nuxt 4 one route at a time.

Based in Pak Kret, Nonthaburi, Thailand. Looking for AI Engineer and Senior Full-Stack roles — On-site, Hybrid, or Remote.

Core stack

Eight things I can defend line by line, not a list of everything I have touched. Each one below exists as code I wrote and can walk an interviewer through in the repository.

Deny-by-Default Policy Gate on Agent Tool Calls Agent Capability Gates (token-authorized production actions) Human-in-the-Loop Draft Approval (state machine, 409 on re-approval) Provider × Model × Key LLM Failover Structured Output Validation (Zod) + Deterministic Fallback PII Redaction Before the Provider Call Webhook HMAC Verification & Replay Idempotency Fail-Closed Authorization, Counted Not Asserted

The one I would most like to be asked about. An LLM agent in one of my systems holds a tool that reaches a production database, so the constraint lives at the tool-call boundary rather than in the prompt: a statement-type allowlist plus 39 forbidden patterns, evaluated against text that has had comments and string literals normalised away first, because a regex reads text while the database reads tokens and the two disagree. I ported that guard to Python and put 215 tests behind it — attacks and legitimate queries in comparable numbers, since a gate that rejects everything is not a gate — then deleted each rule one at a time to check the suite went red for every one of them. It did, for all 41. Writing those tests surfaced a live bypass in the original that reading the code had not.

Also in daily use

Full-stack: TypeScript (strict), Node.js, Bun, Nuxt 4 / Nitro / Nuxt UI 4, Vue 3, Vue 2 / Vuetify 2, Pinia, Next.js (App Router), PHP 8.3, CodeIgniter 3, Zod, OAuth2 / JWT / Entra ID SSO, Prisma, PostgreSQL, Tailwind.
Data & integration: MSSQL, MySQL / MariaDB, Oracle ERP REST sync (OAuth2), API contract design, service-to-service auth with JWT lifecycle, transactional integrity and lock-contention prevention, exact-decimal money math (bcmath), idempotent batch and reconciliation pipelines, stored procedures, indexing, server-sent events.
Practice: strangler-fig legacy migration, executable architecture gates in CI, Playwright E2E with visual regression, append-only audit trails, PDPA consent and data minimisation, Docker, GitHub Actions / GitLab CI, Cloudflare, Sentry, Agile / Scrum.

Selected Projects

Six systems, one way of working. Two AI products built end to end with guardrails and audit trails, and four production platforms where the hard part was correctness under load, regulatory arithmetic, or migrating a monolith without a big-bang cutover.

AI CRM Copilot — Next.js + LLM Hermes — 6-provider AI Assistant Regulatory Formulation Engine Strangler-Fig Migration to Nuxt 4 PHP Monolith — Site + CMS + ERP POS & Oracle ERP Integration
View project case studies →

Experience

Remote

Senior PHP Programmer

Tungthanasin Co., Ltd. (Easy Money)

  • POS platform — core maintainer: the custom-MVC PHP point-of-sale and inventory system behind a 90+ branch retail network — 20 controllers, 31 models, 151 views, 418 routable actions. Roughly 3,500 of the repository’s 5,700 commits are mine.
  • Oracle ERP integration, both directions: built the AR Invoice / AR Cash Receipt / Credit Note push out of the POS, and the inventory delta-pull workers that reconcile ERP lot data back into branch stock — a 48-state mapping over (lot status × warehouse locator), pulled on a deliberate overlap window rather than an exact high-water mark so clock skew and mid-transaction commits cannot drop rows.
  • Financial correctness under concurrency (MSSQL): single-transaction repricing that also updates carts already holding the item, so nobody checks out at a stale price; daily branch revenue aggregation made idempotent by rolling back an order’s prior contribution before re-accumulating, using exact-decimal addition instead of float math.
  • Thai full tax invoice (ใบกำกับภาษี): a 2,200-line renderer covering head-office versus branch designation and separate per-company VAT / non-VAT layouts, plus credit-note reporting.
  • Operations tooling: a centralized alert gateway that normalizes failures from several internal systems into severity-routed Microsoft Teams cards, and PDPA consent gating at the point of sale.
  • Partner sales-channel integration — API contract owner: designed the API surface a new sales channel used to transact against both the POS and the consumer gateway, wrote the module-level API specification, and built the service-to-service auth client (token acquire → cache → JWT-expiry decode → pre-emptive refresh). Introduced the channel as a first-class dimension across order routing, product publish state, payment-callback routing and employee purchase quotas. When the programme was cancelled I decommissioned it cleanly — ~2,750 lines across 19 files removed from one gateway alone, with both live systems staying up.
  • Consumer API gateway (scoped): cart/checkout, catalog, customer, e-receipt and LINE LIFF modules inside a team-owned, no-framework PHP gateway serving the mobile app and e-commerce front ends.

Information Systems Officer

Premacare International Co., Ltd.

  • Sole technical lead: architected the internal IT ecosystem end to end — requirements, stack selection, schema design, build and operation — replacing paper processes with digital systems.
  • R&D formulation & regulatory system: built the in-house system that catalogues raw materials with their INCI composition and derives a finished product’s regulatory ingredient declaration, then rewrote it into a controlled-document engine producing ISO-style PDF and Excel dossiers in domestic, full and export-filing variants across three legal manufacturing entities — turning a hand-assembled dossier into a generated one.
  • Public platform & CMS: built the multilingual marketing site on a database-driven SEO layer (per-page, per-language metadata, JSON-LD, generated sitemaps, Thai-language URL routing) behind a custom CMS — sustaining strong organic search rankings.
  • Vue-based admin & ERP screens: built the internal screens as Vue 2 / Vuetify 2 applications mounted inside server-rendered PHP views — no bundler, no build artifact, deployed by copying a file — including permission-driven forms whose per-field editable state is derived from the server-computed capability set rather than trusted from the client.
  • Manufacturing ERP: QC lab testing, stability studies, raw-material lifecycle and production planning modules inside the same platform, with authorization recomputed from the database on every request rather than trusted from the session.
Independent

AI Engineering & Applied R&D

Personal projects

  • Built Hermes, a self-hosted assistant (Bun + TypeScript, ~19.3k lines across 129 modules): provider × model × key failover across six LLM providers with tiered per-key cooldown, reused as one primitive across nine external API surfaces; free-tier enforcement that stays on unless explicitly disabled; two bounded agent loops (ReAct and native function-calling) with separate tool registries; an MCP stdio tool server; and a deny-by-default SQL gate in front of a production database.
  • Delivered an AI CRM copilot (Next.js 14, Prisma / PostgreSQL): prompt-injection filtering, PII redaction before any model call, Zod-validated output degrading to a constant-output deterministic fallback, and every AI action written as a draft a human must approve. Shipped with a written eval spec naming five evaluation cases, 15 Playwright E2E tests including six adversarial RBAC cases, and HMAC-verified webhook ingestion with replay idempotency.
  • Authored the agentic engineering standards my AI coding agents run under — strict typing, fail-closed authorization, audit-logged mutations, pre-ship security checklists — plus five committed agent-capability skills in the repository they govern, including one that refuses to deploy to production unless a human supplies an exact authorization token and that rejects being talked into it in plain language.

Education

M.Sc. Information Technology

King Mongkut’s University of Technology North Bangkok (KMUTNB)

B.B.A. Information Technology

Rajamangala University of Technology Phra Nakhon (RMUTP) · Bangkok

Certifications

Data Protection & PDPA

ICDL Data Protection · DEPA PDPA for SMEs

IT Project Management

Thailand Professional Qualification Institute (TPQI)

Network & Infrastructure

MikroTik Certified Network Associate (MTCNA) · MTA

Data Mining

RapidMiner Studio Data Cube

LINE API & Chatbot Development

3 Digits Academy · LINE API (Chatbot) Workshop

Contact

Available from September 2026 — On-site, Hybrid, or Remote engineering roles.

Download full CV (PDF)