tty1 — guest@siwakon.dev — 80×24

whoami

Siwakon
Chantakhat

CEO & Fullstack Blockchain DeveloperChiang Mai, ThailandOpen to work

cat /etc/motd

Senior fullstack blockchain developer in Chiang Mai, eight years into shipping production systems.

Most engineers have one of the two: enterprise-grade backend experience, or Web3 products that actually shipped. I have both.

git log --graph --oneline lineage

Lineage graph: Unix, BSD, GNU and Linux lead to enterprise work; cypherpunk, Bitcoin and Ethereum lead to Web3; both branches merge into Siwakon.
Two roots, one shell: Unix discipline on one side, the cypherpunk line on the other.
Currently buildingKA Technologyactive (running)
Startup building an app for farmers
↗ TODO(url)
years shipping
8+
production services
15+
chains shipped
3
primary languages
Go / TS / Kotlin / Solidity

[01] man -k systems

Systems

Each card is a system I built end-to-end — the surfaces, the scale, and what it moves. Client internals stay behind NDA.

Payment Gateway Platform

██████████Solo-built · ~15 services

PromptPay and bank-transfer deposit gateway for the Thai market, running automated reconciliation at production scale.

Solo-built platform of ~15 services behind six operator and merchant portals. The matching and account-routing design is covered by NDA, so what is shown here is the shape of the system and the surfaces around it — not its internals.

System shapeInternals withheld under NDA
PORTALSEDGECOREDATAOPSMerchant & operator portals6 × Next.js 16 — backoffice · merchant · sales · partner · docs · diagramsAWS EKS · ALB ingress · TLS · authCore platform — Go services · ~15 services in totalREST API · WebSocket services · async workers · deposit reconciliationinternals withheld — NDAData layerPostgreSQL · Redis · DynamoDBBanking railsPromptPay · partner bank accountsObservability & resiliencecustom Prometheus dashboard (built to replace Grafana) · k6 load tests · incident runbooks · EKS autoscaling
DESCRIPTIONProblem

PromptPay and bank-transfer deposits for the Thai market had to reconcile without an operator in the loop, across six merchant and operator portals. Targets: over 99% of deposits auto-matched, deposit-to-webhook under 60 s at p95.

CAVEATSConstraints

Solo build: every commit across ~17 repos has one author, on a ~17-week plan from kickoff to GA. A small EKS cluster with about three pods of headroom. Client internals are under NDA, so the matching and account-routing design cannot be shown.

RATIONALEDecisions
  • Chose a self-built Next.js dashboard over Grafana and ArgoCD because those would add six or seven pods to a cluster with about three to spare. It reads Prometheus server-side, never exposes it, and its Release button doubles as the deploy pipeline.
  • Split the single Go worker into separate ingest, webhook and worker binaries built from one image, because one ingest bug used to stall webhooks, payment expiry and snapshots together. The split needed no new repo, CI or secret.
EXIT STATUSResult

Automated deposit reconciliation running at production scale. A 50-VU k6 run exposed lock contention failing 92% of requests; the lock was replaced with an optimistic retry on unique-constraint conflicts. Index work at ~300k rows took the hottest query from 29.8 ms to 0.06 ms.

SEE ALSOStack
GoGinWebSocketNext.js 16TypeScriptPostgreSQLRedisDynamoDBAWS EKSPrometheusk6Docker

Predicto — On-chain Prediction Market

Base · Real-time · Contracts + backend + app

A prediction market where prices move in real time off-chain and settle on-chain.

Two paths run side by side: a WebSocket market-data service pushes order-book and price updates into the app with no polling, while trades and resolution go through Solidity contracts on Base via Thirdweb Engine. A TypeScript market-maker bot keeps early markets liquid enough to be worth trading.

Real-time flow & settlement pathsolid = request · dashed = event stream
APPSERVICESINFRACHAINOPSPredicto app — Next.js 16markets · positions · live pricesBackofficemarket creation · resolution · opsGo REST APIusers · markets · ordersGo market-data WebSocketprice + order-book push, no pollingTS market-maker botquotes · inventory · liquidityPostgreSQL · Redismarket state · cacheChain event indexerlogs → market stateThirdweb Enginetx relaying · nonce managementSolidity contracts — Base / Base Sepoliamarket creation · positions · settlement (Hardhat)OpsAWS EKS · Hardhat test + deploy pipeline · contract upgrade runbook
DESCRIPTIONProblem

A prediction market needed prices that move in real time while trades and resolution settle on-chain on Base.

CAVEATSConstraints

A small team shipping contracts, backend, market-maker bot and two frontends in parallel, from March 2026.

RATIONALEDecisions
  • Chose a dedicated Go WebSocket service over polling the REST API because live prices must not depend on request cadence.
  • Chose Thirdweb Engine over hand-rolled relaying because it handles nonce management under bursty trading.
  • Chose a TypeScript market-maker bot over waiting for organic liquidity because early markets have to be worth trading.
EXIT STATUSResult

Prices tick live in the UI while settlement runs on Base Sepolia testnet: eight contracts deployed (CTF exchange, neg-risk adapter, oracle, treasury, credit token). Mainnet is not launched yet.

SEE ALSOStack
GoWebSocketSolidityHardhatBaseThirdweb EngineTypeScriptNext.js 16PostgreSQLRedisAWS EKS

Orchardo — Agricultural Trade Platform

Product + business model + code

Three very different users — farmers, buyers, hub operators — served by one Go API.

Farmers never install an app: onboarding, transactions, credit score and loan requests all live in a LINE Mini App. Buyers get a marketplace portal, hub staff get an operations backoffice, and all three read and write the same domain model behind a single Go API.

Three surfaces, one API
SURFACESAPIDATAMODELLINE Mini App — farmersonboarding · transactionscredit score · loan requestsMarketplace portalbuyers · listings · ordersHub backofficegrading · inventory · payoutsGo API — shared domainidentity · credit · orders · settlement · payoutsPostgreSQLtrade ledger · credit historyRedissessions · price cacheBusiness modelinvestor-grade model with a defined beachhead market (Or Tor Kor) — take rate, hub economics, credit exposure
DESCRIPTIONProblem

Farmers, buyers and hub operators needed one trade platform, and farmers will not install an app.

CAVEATSConstraints

Three very different user types on one domain model. Product and business model built alongside the code. The board demo was built in 3–4 weeks for mid-June 2026; the full system took about three months.

RATIONALEDecisions
  • Chose a LINE Mini App over a native app for farmers because it is the app they already have open.
  • Chose one shared Go API over per-surface backends because all three surfaces write the same domain model.
  • Chose to feed transaction history into a credit score because trade data can double as underwriting data.
EXIT STATUSResult

Investor-grade business model with a defined beachhead market (Or Tor Kor). Four apps, five roles, 46 migrations; the first real end-to-end trade settled in September 2026.

SEE ALSOStack
GoNext.js 16React 19Tailwind v4shadcn/uiLINE Mini AppPostgreSQLRedis

Mojihouse

Property listing platform

Kotlin Spring Boot 3 backend exposing both REST and GraphQL, with async work pushed onto RabbitMQ. Next.js user app and admin dashboard on top.

  • REST for the admin surface, GraphQL for the listing app — one domain, two query shapes.
  • RabbitMQ for media processing and notifications, Redis for search-result caching.
KotlinSpring Boot 3GraphQLPostgreSQLRedisRabbitMQNext.js

Datawow — Web3

Current role

Blockchain projects for the nanameue team, an NFT market-making bot for liquidity automation, and the Wowable job board.

  • Market-making bot automating NFT liquidity — pricing, inventory limits and unattended execution.
  • nanameue team blockchain projects and the Wowable job board.
SolidityNode.jsNext.jsSubgraphTypeScript

[02] ls -la ~/archive

Selected past work

Shipped systems from eight years across Web3, enterprise, healthcare and finance. Most are legacy or offline — only two are still live.

~/archive
  • ent+web3
    YAY BridgeCross-chain asset bridge on LayerZero, built at Moonshot Consulting.Next.js · Golang · Solidity · Subgraph
  • ent+web3
    YAY Vesting TokenVesting dashboard for YAY token investor plans: create schedules, claim unlocked tokens and track claim history. Next.js on wagmi/viem with a Go API.Solidity · Next.js · wagmi · viem · Go (Echo)
  • ent
    anissa.ai ↗ liveAI content writer with OpenAI integration.Next.js · Python · Spring Boot · Kubernetes
  • ent
    DigiboxCustom packaging configurator with real-time 3D preview.Three.js · Next.js
  • ent
    HONERP system for a printing business, from order intake to production.Spring Boot · Kubernetes
  • web3
    Pet EmpireNFT game platform on WAX.Next.js · Atomic Hub · C++
  • web3
    Firoll ProtocolWeb3 sport game, built at ETHGlobal London.Solidity · viem · Next.js
  • web3
    OmadarNFT portfolio dashboard.Next.js · ethers.js
  • ent
    Green2Get ↗ liveCircular-economy platform for recycling traceability.React · Spring Boot
  • ent
    Emergency Room + MOPH Vaccine RegistrationProduction healthcare systems for Nakornping Hospital.Spring · React · PostgreSQL
  • ent
    TFRS16Financial reporting system for KBank EP.Java · Spring · React
  • ent
    Yuanta WealthInvestment platform for a securities firm..NET Core · React
  • ent
    TestheroOnline learning platform with practice exams.React · Node.js
  • TODO
    Consumer platformsMultiple production Next.js apps, admin portals and a proxy layer — i18n, theming, Docker CI. Client names withheld.Next.js · Node.js · Docker

[03] ./verify --onchain

Don't trust, verify

Claims about shipped contracts, with an explorer link for each. Live numbers appear only where a contract view function or subgraph counter exists — never a transaction count.

content/onchain.ts · revalidate 3600s · fallback "as of"
contractchainaddressmetric
YAY Bridge · yaystone adapter
LayerZero OFT adapter, Ethereum side
ethereum
0x4b18…8d59
— verify link onlyverify ↗
YAY Bridge · yaystone adapter
LayerZero OFT adapter, Soneium side
soneium
0x54e8…f25A
— verify link onlyverify ↗
YAY Vesting Token
Vesting contract + investor dashboard for YAY token plans
ethereumnot on mainnet yet— pre-launch
Firoll Protocol
Web3 sport game, ETH London 16 Mar 2023
TODO
TODO(content)
— verify link onlyverify ↗
Pet Empire
NFT game: pets, loot boxes, armor and weapons
basenot on mainnet yet— pre-launch

Addresses come from the deployment records in each project's repo. Rows still marked TODO have no recorded deployment yet; nothing is invented. TODO(content): addresses · ABI fragments

[04] git log --graph --all

Experience, two lanes

Enterprise and Web3 ran in parallel for years. They meet at Moonshot Consulting and Datawow. Newest first.

enterprise2017 → Feb 2025web3Pet Empire → today
  1. May 2026 – presentHEADenterpriselane: TODO
    Payment Gateway PlatformTODO(content)
    Payment Gateway Platform
  2. Nov 2025 – presentHEADenterpriseweb3
    DatawowBlockchain Developer
    nanameue team blockchain projects, NFT MM Bot, Wowable job board
  3. Mar 2025 – presentHEADenterpriseweb3
    KA TechnologyCEO
    Startup building an app for farmers
  4. Mar 2025 – Oct 2025enterpriseweb3
    Moonshot ConsultingFullstack Blockchain Developer
    YAY Bridge (LayerZero), YAY Vesting Token
  5. Apr 2022 – Feb 2025enterprise
    HON / Digibox / anissa.aiLead Developer
    ERP printing system, 3D packaging configurator, AI content writer
  6. 16 Mar 2023web3
    ETH London hackathonBuilder
    Firoll Protocol (Web3 sport game)
  7. Mar 2021 – Apr 2022web3
    OmadarLead Developer
    Omadar NFT Dashboard
  8. Apr 2020 – Feb 2021enterprise
    FreelanceSoftware Engineer
    Green2Get, Nakornping Hospital ER + MOPH vaccine registration, Lamdee Orders, taught CS grade 7–12
  9. Aug 2024 – May 2025web3
    FreelanceBlockchain Developer
    Pet Empire (WAX)
  10. Dec 2018 – Mar 2020enterprise
    Ascend Commerce B2BSoftware Engineer
    TFRS16 financial reporting
  11. Jul 2018 – Oct 2018enterprise
    Yuanta Securities ThailandSoftware Developer
    Yuanta Wealth
  12. Nov 2017 – Jul 2018enterprise
    9Pi Co., Ltd.Software Developer (first 4 months internship)
    Testhero, Timetable
  13. 2014–2018root
    Maejo University, Chiang MaiB.Sc. Information Technology · 2014–2018

[05] env | grep STACK

Skills

What I reach for in production.

# Languages
Go · TypeScript · Kotlin · Solidity · Java · Python · C++
# Frameworks
Gin · Next.js · React · Spring Boot · Node.js · .NET Core · Tailwind · shadcn/ui · Three.js
# Blockchain
Hardhat · ethers.js · viem · Subgraph · Thirdweb Engine · LayerZero · Base · Ethereum · WAX
# Cloud & infra
AWS EKS · Kubernetes · Docker · Prometheus · k6 · CI/CD
# Databases & messaging
PostgreSQL · Redis · DynamoDB · RabbitMQ

[06] ls -l ~/writing

Writing

Two or three long-form pieces. No tags, no feed.

What building a cross-chain bridge taught me

Empty scaffold — title is the prompt's example and needs confirming. TODO(content)

[07] curl -s siwakon.dev

Résumé from the terminal

A CLI user-agent without text/html in Accept gets this plain-text version at the site root; browsers still get HTML. Also at /resume.txt. Generated from the same data as the cards. 80 columns, English only.

$ curl -s siwakon.devContent-Type: text/plain · Vary: User-Agent, Accept
SIWAKON CHANTAKHAT
CEO & Fullstack Blockchain Developer · Chiang Mai, Thailand
[email protected] · github.com/siwakon-cha

EXPERIENCE ─────────────────────────────────────────────────────────────────────
  May 2026 – present    Payment Gateway Platform · TODO(content)
                        Payment Gateway Platform
  Nov 2025 – present    Datawow · Blockchain Developer
                        nanameue team blockchain projects, NFT MM Bot, Wowable
                        job board
  Mar 2025 – present    KA Technology · CEO
                        Startup building an app for farmers
  Mar 2025 – Oct 2025   Moonshot Consulting · Fullstack Blockchain Developer
                        YAY Bridge (LayerZero), YAY Vesting Token
  Apr 2022 – Feb 2025   HON / Digibox / anissa.ai · Lead Developer
                        ERP printing system, 3D packaging configurator, AI
                        content writer
  16 Mar 2023           ETH London hackathon · Builder
                        Firoll Protocol (Web3 sport game)
  Mar 2021 – Apr 2022   Omadar · Lead Developer
                        Omadar NFT Dashboard
  Apr 2020 – Feb 2021   Freelance · Software Engineer
                        Green2Get, Nakornping Hospital ER + MOPH vaccine
                        registration, Lamdee Orders, taught CS grade 7–12
  Aug 2024 – May 2025   Freelance · Blockchain Developer
                        Pet Empire (WAX)
  Dec 2018 – Mar 2020   Ascend Commerce B2B · Software Engineer
                        TFRS16 financial reporting
  Jul 2018 – Oct 2018   Yuanta Securities Thailand · Software Developer
                        Yuanta Wealth
  Nov 2017 – Jul 2018   9Pi Co., Ltd. · Software Developer (first 4 months inte…
                        Testhero, Timetable

SELECTED WORK ────────────────────────────────────────────────────── 18 projects
  systems/
  ├─ Payment Gateway Platform                                        [NDA] [ent]
  │    Go · Next.js 16 · PostgreSQL · Redis · DynamoDB · AWS EKS · Prometheus
  │    k6
  ├─ Predicto — On-chain Prediction Market                                [web3]
  │    Go · Solidity · Hardhat · Base · Thirdweb Engine · TypeScript
  │    Next.js 16
  ├─ Orchardo — Agricultural Trade Platform                                [ent]
  │    Go · Next.js 16 · React 19 · LINE Mini App · PostgreSQL · Redis
  ├─ Mojihouse                                                             [ent]
  │    Kotlin · Spring Boot 3 · GraphQL · RabbitMQ · PostgreSQL · Redis
  └─ Datawow — Web3                                                       [web3]
       Solidity · Node.js · Next.js · Subgraph · TypeScript

  archive/
  ├─ YAY Bridge                                                       [ent+web3]
  │    Next.js · Golang · Solidity · Subgraph
  ├─ YAY Vesting Token                                                [ent+web3]
  │    Solidity · Next.js · wagmi · viem · Go
  ├─ anissa.ai                                                 ↗ anissa.ai [ent]
  │    Next.js · Python · Spring Boot · Kubernetes
  ├─ Digibox                                                               [ent]
  │    Three.js · Next.js
  ├─ HON                                                                   [ent]
  │    Spring Boot · Kubernetes
  ├─ Pet Empire                                                           [web3]
  │    Next.js · Atomic Hub · C++
  ├─ Firoll Protocol                                                      [web3]
  │    Solidity · viem · Next.js
  ├─ Omadar                                                               [web3]
  │    Next.js · ethers.js
  ├─ Green2Get                                             ↗ green2get.com [ent]
  │    React · Spring Boot
  ├─ Emergency Room + MOPH Vaccine Registration                            [ent]
  │    Spring · React · PostgreSQL
  ├─ TFRS16                                                                [ent]
  │    Java · Spring · React
  ├─ Yuanta Wealth                                                         [ent]
  │    .NET Core · React
  └─ Testhero                                                              [ent]
       React · Node.js

EDUCATION ──────────────────────────────────────────────────────────────────────
  2014–2018             Maejo University · B.Sc. Information Technology

Site hint: $ curl siwakon.dev

[08] finger siwakon-cha

Contact

finger(1)
Login
siwakon-cha
Name
Siwakon Chantakhat
Location
Chiang Mai, Thailand
Email
[email protected]
GitHub
github.com/siwakon-cha
LinkedIn
TODO(linkedin)

Plan:

Open to roles and contract work where the whole system is on the table — contracts, backend, infra and the portals around them.