- Application Engineer on the IT manufacturing systems team at Delta Electronics Thailand: CI/CD, Kubernetes, full-stack web, and production line support for MES tooling in an air-gapped network.
- I build and run the shared data platforms other teams plug into: a central Kafka cluster, a NiFi cluster, streaming pipelines out of the MES, and a log analytics platform on OpenSearch.
- I usually own what I build end to end, from scoping and cross-department coordination to presenting it and supporting the people who use it.
- Before corporate work I spent five years founding and operating a multiplayer game-server platform (FiveM and RedM), which is where most of my backend and systems experience started.
More: side projects · work at Delta · architecture diagrams · academic projects
Merged upstream in projects I use.
|
The streamable HTTP client now reports the real HTTP status when a gateway or framework answers with a JSON error body, instead of failing with an unrelated parse error. |
A flaky SSE transport test raced a 1 ns client timeout against a mock server and panicked on a nil error about half the time on Windows. It is deterministic now. |
Tools no longer send an empty |
|
Clients accept a tool result that only has |
Decoding a notification into a reused value no longer keeps |
Each replay callback gets its own copy of a stored event, so a callback that changes a message can no longer corrupt what later replays send. |
|
OAuth with PKCE enabled now refuses an empty code challenge or verifier, instead of quietly finishing the flow without PKCE. |
Requests are no longer parsed several times on the way to the handler. Profiling showed those extra JSON reads took most of the time and memory on large tool calls. |
The client listener keeps the retry interval it was created with instead of reading a package variable, which fixes an intermittent |
|
Tool calls with a custom TLS config or a SOCKS5 proxy share one transport instead of building a new one each time. 300 calls open 1 connection instead of 300, and each call is about 25 times faster. |
Markdown converters are pooled, so crawls keep scaling past 8 workers. The maintainer measured about 905 pages per second at 32 workers, against 559 before. |
Window, pane and session lookups use the configured |
|
Tests for the accessibility package of a Go terminal UI engine: value redaction, screen reader announcements on three platforms, and mode switches. Coverage went from 65% to 91%. |
| Folder | What's inside |
|---|---|
experience/ |
The portfolio: what I built, where, and what came out of it |
brain/ |
The knowledge base: how each skill area works, in detail |
about/ |
How I work and background outside the job title |
Education: B.Sc. Digital Business Technology, Southeast Bangkok University, 2025 (First Class Honors, Gold Medal)
Open to interesting backend, platform and data engineering work. Reach me at ekdanai.kk@gmail.com.