// JUNXIONG.DEV / SINGAPORE
Ong Jun Xiong
Software engineer at TikTok in Singapore. My day job is AI infrastructure for global e-commerce: I built the agent platform my team ships its AI features on, and I spend most of my time making sure the model can't say something the data doesn't support.
Before that I wrote Go services for the seller platform, and on the side I ran a one-person AI company until a client bought it. The rest of this site is small tools that exist because something annoyed me enough to write code about it.

JX / 2026
SINGAPORE
// PROJECTS
Stuff I built
Open source · 2026
Python
A deterministic boundary for agent output. Tool results become typed facts, and any ranking, total or relationship those facts do not support gets blocked before it reaches the user.
groundplane / boundary.py
169 tests
reg.record_ranking("campaign_ctr", rows, key="ctr", ...)
with boundary(reg, facts=[...], checks=[superlative(...)]) as b:
b.submit({"winner": "north"})
UnsupportedClaim: registered facts support 'harbour'
Argmax
Order
Aggregate
Entity
Row
Comparison
Personal tool · 2026
Data + agents
Scores Singapore property listings against official transactions, cost models and agent research. I built it because comparing units by hand in a spreadsheet was miserable.
Sample report
Comparable unit
relative value
78%
liquidity
64%
hold fit
86%
Company · 2025
Sold to a client
A one-person AI studio I ran alongside TikTok. I did the selling and the pricing, built the document-grounded assistants, shipped them, and then sat with clients until they could use the thing without me.
knowledge
LlamaIndex
service
FastAPI
interface
Next.js
Open source · 2026
Claude Code plugin
Coding-interview drills that grade the plan you say out loud, not the code you submit. Résumé, targets and real interview debriefs in one local markdown corpus, and a hook that can only ever talk about today's rep.
skills / drill / SKILL.md
35 tests
/jobforge:drill
> Before you write anything: what are you going to do, and why that?
iteration-order missing “then I fill in the table”
verdict: failed · due +3 days · written into the bank row
Plan grading
16 patterns
SessionStart hook
No telemetry
2020 – 2023
Older projects

Two-day hackathon. Chrome extension that pauses and seeks YouTube with hand signs.

2023
Interview practice with a collaborative editor, built as a distributed system.

2021
Gamified, accessible learning platform. Our NUS Orbital project.
// NOW
as of 2026-09
At work
Shared AI infrastructure at TikTok in Singapore. Most of this year has gone into making agent output trustworthy enough that an operations team will act on it without checking. Groundplane is that idea, taken home.
Work history →Away from work
This month: Groundplane, a Python library that fails an agent's output when its prose asserts a fact its tools never produced, at v0.1.0 and installable from GitHub; and Jobforge, a Claude Code plugin that keeps a résumé, target roles and interview drills in one corpus. Around that, tennis and a trading journal I actually keep up.
Hobbies →