
XOXONA
Consumer AI product, Thai-first. I built the first version myself, pitched it, and got it greenlit. I own the retrieval and knowledge system and share product direction. Agent-directed development, on purpose.
The short version.
I'm a software engineer in Bangkok. Specialize in: backend, AI, agent workflow orchestration, and the layer where a product's promises meet its data.
The through-line of my career is the same skill applied further up each time. I built a quest engine by hand, then owned architecture and incident triage across a 70+ module codebase, and now I direct agents to ship a live consumer AI product — specifying and reviewing far more than I type. Each step needed the same thing: knowing what good looks like before it exists.
I've also watched two markets disappear underneath a product I was building, and rebuilt through both. That's taught me more about engineering judgment than any green-field project has.
I like simple things that hold up. I'd rather delete a system than defend it.
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
— Antoine de Saint-Exupéry
Grouped by what it's for, not by logo count. Everything here is something I've shipped with.
Grouped by company, newest first. Three companies, four roles, 2019 to now.
2021 — now
Cryptomind Group · Bangkok
CurrentA live consumer AI product. I'm the lead engineer, which means I shape features with product rather than receiving them. I built the knowledge system that decides which long-form lore a character needs for the current turn, against an unbounded history and a fixed context budget. It's also the one codebase I've built agent-directed on purpose — I specify, architect and review far more than I type, and every decision in it is one I can defend.
xoxona.ai ↗Four and a half years in one large, long-lived, multi-team codebase — 70+ backend modules, five apps, a platform that served 100k+ players. I was sole owner of the quest engine from its first line through a full rebuild onto durable workflows: partial progress, streak repair, rerolls, buff modifiers. I drove the technical pivot from a Web3 scholarship platform to a real-time PC gaming product when the market for the first one collapsed, normalised event streams from five game titles into one engine, and spent a lot of nights debugging systems I hadn't written.
News search and indexing, and the retrieval layer a deep-research agent queried through. Second-largest contributor on a small team.
2020 — 2021
Core banking · Bangkok
Core banking — savings, lending, and certificates of deposit — for enterprise bank clients. The team was small enough that you gathered the requirements, analysed them, built the thing and tested it yourself, which is where I learned to write a spec I'd be willing to implement. I led three engineers delivering a regulation-driven interest and billing system in two months, and mentored two juniors through it. Regulation is a good teacher: the requirements aren't negotiable and the arithmetic has to be right.
React and React Native work on client projects while finishing my degree. How I got in the door.
2019 — 2020
Asset management · Bangkok
ETL and automation in the research department, supporting the investment team. Scraping and transforming market and alternative data into databases and Tableau — including a pipeline tracking Thai dam water levels, which is a genuinely useful signal if you trade agriculture. My first job, and where I learned that real data arrives broken.
Three private codebases, kept short on purpose — the detail is interview material, not website copy.

Consumer AI product, Thai-first. I built the first version myself, pitched it, and got it greenlit. I own the retrieval and knowledge system and share product direction. Agent-directed development, on purpose.

Real-time PC gaming engagement platform, 100k+ players. Sole owner of the quest engine through a full rebuild onto durable workflows.

News search, indexing, and the retrieval layer behind a deep-research agent.
Freelance and client work, shown as a row rather than cards — they’re breadth, not depth.
Public, solo, hand-built. Every employer codebase above is private, so this is the only place you can read the actual code.
Plant, water and harvest 405 tree species across three rarity tiers, on a water-drop economy with daily missions, streaks and combos. Bilingual Thai and English down to the per-species lore, and installable as a PWA. The species art is not hand-drawn — a generation pipeline in the monorepo produces it.
I'm learning Chinese and wanted flashcards and stroke-order lookup that worked the way I study, so I made my own and kept using it. Bilingual Thai and English throughout: Astro static output on Cloudflare Pages, strict TypeScript, and a CI check that fails the build when the two locales fall out of parity.
Models Thai tax filing, SSF/RMF/Thai ESG allowances, and social security tiers, then runs a seven-round interview and emits an HTML dashboard. Bilingual, MIT licensed.
My mother's bakery. Menu and story pages with the copy authored in MDX rather than hard-coded, so the words are data and the components stay dumb. Next.js App Router on Cloudflare, sitemap and robots generated at build.
A draggable anime companion you chat with across tabs, on OpenAI, Anthropic, or Gemini. Manifest V3, Shadow DOM isolation so no page can style it, emotional sprite states, and a social-detox nudge.
Four things I do that aren't engineering.
Practitioner. Close-range, economy of motion, and a strong opinion about doing less.
On the wall most weeks. Reading a problem before touching it is the same skill as reading a system.
Film emulation is a hobby that turned into a codebase — see philm.
This site is mine, top to bottom.