Skip to CV
Technical CV
Founder · AI systems builder · Product · Growth · Revenue

Josh Gier

Founder / Product / AI Systems / Growth
Aier Studios. Founded an AI-native generative marketing company built around proprietary automation: multi-million-dollar revenue, >50% gross margin, 25 full-time staff, work across 30+ markets and US$9M+ in managed client campaign budgets; completed a US$3M acqui-hire by Coliseum.

Coliseum. Post-acquisition, led product, growth, revenue and operations across a 4M-member gaming ecosystem; reached 200K active users in eight months. During that operating period the company raised US$15M led by The Chernin Group, with Kevin Durant's 35V, Barstool and others.

CBRE Asia Pacific. Built and ran the regional enterprise SaaS/data/analytics business from 2 people to 50+ direct / 250+ delivery across seven markets and US$100M annual revenue; originated and closed the US$1B NTT relationship.

Sera Protocol. Built APAC commercial and product motion around onchain FX: 30 signed agreements from 70+ relationships, >60% pilot-to-commercial conversion, a median cycle under 90 days, 15 market makers / institutional LPs and close to US$6M in committed launch liquidity.
Current R&D: persistent agents · memory systems · spatial computing · programmable finance · developer infrastructure. Operating record: founder P&L · product · growth · community · enterprise sales · partnerships · capital formation.
MODEL / INFERENCErouting · TTFT · KV · evals · COGS
MEMORY / IDENTITYepisodic · semantic · reconsolidation
RUNTIME / STATEFSM · replay · tools · side effects
WORLD / MARKET3D · finance · users · revenue
US$1BNTT relationship originated / closed
US$100Mannual APAC SaaS / data / analytics revenue
US$3MAier → Coliseum acqui-hire
4M → 200Kcommunity → active users in 8 months
US$9M+client campaign budgets managed
US$15MColiseum raise led by The Chernin Group
Career

CBRE 2013–21: APAC enterprise SaaS, data and analytics. Aier 2021–25: founder/CEO of an AI-native generative marketing company. Coliseum, post-acquisition: product, growth, revenue and operations. Sera 2025–26: APAC commercial + product systems for onchain FX.

Current R&D
persistent agents · temporal memory · model routing · evals · distributed state · realtime voice · 3D/spatial computing · fintech/onchain · developer tooling · data/ML/RPA · GPU/inference economics

Technical work

AI / LLM systems

BUILT / HANDS-ON
model routing · structured outputs · RAG/retrieval · reranking · eval harnesses · grounding/claim checks · provider abstraction · prompt/prefix caching · canary/shadow model migration · cost per accepted output
ARCHITECTURE / R&D
synthetic data · SFT · LoRA/QLoRA · preference tuning · distillation · calibration
eval axes: factuality · NER/entity resolution · schema pass · calibration · judge disagreement · task success · regression gates · cost/quality frontier

Inference / accelerators

ARCHITECTURE / DECISION FLUENCY
TTFT · prefill/decode · tok/s · p50/p95/p99 · KV residency · PagedAttention · continuous batching · prefix cache · speculative decoding · FP8/INT8/4-bit · tensor/pipeline parallelism · vLLM · TensorRT-LLM · Triton
working set = weights + KV + activations; prefill is compute-heavy, decode becomes memory-bandwidth/KV sensitive; batching raises throughput while queueing raises latency. Capacity planning follows useful tok/s at target p95, not peak benchmark throughput.

Agent runtimes

BUILT / HANDS-ON
FSMs · checkpoint/replay · idempotency · transactional outbox · leases · schedulers · heartbeats · long-running jobs · MCP · capability boundaries · side-effect control · multi-agent coordination
action journal · replay cursor · lease expiry · dead-letter/retry paths · read/write tool separation · human approval for irreversible side effects · bounded autonomy budgets · concurrency quotas · tool timeouts · cancellation/compensation semantics · per-agent budgets

State / memory / data

BUILT / HANDS-ON
Postgres · PostGIS · pgvector/HNSW · SQLite · MySQL · append-only event logs · JSONB provenance · temporal state · episodic/semantic/relationship memory · reconsolidation · decay · migrations · PITR · version lineage · snapshot/rebuild paths

Systems / realtime / network

BUILT / HANDS-ON
Rust · TypeScript/Node · Python/FastAPI · WebRTC · RTP/Opus · WebSockets · VAD · endpointing · barge-in · queues · backpressure · circuit breakers · edge/stateful workers · Docker · reconnect/session identity · liveness/heartbeat

Hardware / infrastructure

ARCHITECTURE / PROCUREMENT FLUENCY
Apple Silicon/NPU · L40S/RTX · H100/H200/B200 · VRAM/HBM · PCIe/SXM · NVLink/NVSwitch · NCCL/RDMA · NVMe · NIC bandwidth · GPU utilisation · API/on-demand/reserved/spot/colo/owned · $/useful-GPU-hour · power/thermal · rack density

Security / reliability

BUILT / RELEASE DISCIPLINE
IAM · RBAC/RLS · KMS · secrets · external signing · sandboxing · prompt-injection boundaries · fuzzing · chaos · race/restart tests · SBOM · SAST/DAST · rollback · audit trails · tenancy isolation · kill switches · recovery drills

Spatial / world systems

BUILT + R&D
PostGIS · Cesium/3D Tiles · scene graphs · canonical geometry/evidence · ray/frustum logic · solar/shadow analysis · procedural geometry · digital-twin architecture · Unreal/C++ / Unity/C# R&D · embodied agents · IFC/glTF conversion · LOD/tile streaming

Commercial systems

OPERATED AT SCALE
CAC · LTV:CAC · ROAS · cohort retention · attribution · pricing · entitlements · model COGS · capacity procurement · P&L · NRR · enterprise GTM · community loops · product telemetry · forecast/pipeline · experimentation · margin by workload · capital efficiency
Personal R&D · systems I build because I want them to exist

Independent R&D · agents, memory, spatial systems, programmable money

GOKU · persistent personal-agent runtime on OpenClaw

Goku is my long-lived personal agent: model choice is transient; identity, memory, tools, permissions and relationship state are durable. OpenClaw provides the runtime. Specialist agents, MCP tools, heartbeats, Memento and a DBZ-inspired scheduler let cognition scale up or down without resetting the person-like state around it.

DBZ temperament: cheerful, permanently hungry, always looking for a harder fight. The forms are compute states.
OpenClawMCPmodel routerheartbeatspecialist agentsMemento
  • Base · Opus 5 — routine cognition, tool use and synthesis.
  • Super Saiyan · Fable 5 — deeper multi-step planning and review.
  • Ultra Instinct · Astra 6 — high-entropy escalation when quality gain justifies latency and cost.
m* = argmaxm(Qm − λLm − μCm − ρRm)
task → entropy / uncertainty / modality / tool-risk
     → latency SLO + quality floor + cost ceiling
     → deterministic | cache | Base | SSJ | Ultra Instinct
     → verifier / outcome telemetry → routing update

Context allocator / scheduler

Bctx = Bidentity + Bworking + Bretrieval + Btools + Bdecode-reserve
immutable identity prefix → prefix/provider cache · active task → working set · Memento recall → ranked evidence packet · tool output → TTL/dedupe/compaction · reserve → completion + recovery budget
  • Admission control: interactive work outranks heartbeats/background jobs; deadline, expected quality gain, risk and budget decide run-now vs cheaper form vs async batch.
  • Route regret: sampled shadow/challenger runs compare the chosen form with a stronger model; verifier disagreement, retries and outcome quality become routing evidence.
  • Agent SLOs: p95 TTFT · tool success · context-overflow rate · fallback rate · recall precision · $/completed task · background compute/day.

Inference / hardware crossover

API burst → local Apple Silicon/private reflex work → open-weight serving with vLLM/PagedAttention → continuous batching + KV/prefix reuse → speculative decoding → FP8/INT8/4-bit only when sustained throughput and cache reuse beat provider margin after idle-time cost.

Sleep / dream cycle

idle window → episode/session flush → salience + dedupe
→ contradiction scan → Memento consolidate/reconsolidate
→ dormancy/reactivation → next-session context compile

Authority / persona state

capability registry → read/tool/write class → policy + budget + current-state precondition → optional approval → idempotency key → side effect → receipt. Stronger cognition never silently widens authority.
durable traits + relationship state + goals compile separately from transient mood/task context; behavioural regression probes catch provider/model drift without freezing personality inside one checkpoint.

Proactive autonomy / checkpointing

heartbeat tick → observe inbox/world/tool state
→ classify {ignore | remind | plan | act-within-capability}
→ reserve cost/risk budget → specialist fanout if needed
→ checkpoint plan + tool receipts → side effect
→ verify outcome → update working state / memory candidate
  • Autonomy budget: background work is bounded by daily token/$ ceilings, tool-risk class and interruption policy; idle cognition cannot silently consume unlimited compute or authority.
  • Checkpoint/replay: long tasks persist plan step, tool inputs/outputs, idempotency identity and outstanding commitments so process death resumes from durable work rather than repeating side effects.
  • Specialist isolation: research/build/review agents receive scoped context and capabilities; results merge through typed artifacts/evidence instead of sharing one unbounded conversational memory.

Cache / token economics

stable identity + policy → long-lived prefix cache · task/tool schemas → reusable prompt blocks · retrieved evidence → short-lived semantic cache · tool results → TTL keyed by source/version · context compaction preserves commitments + causal tool history before prose.
telemetry joins model route → fresh/cache tokens → TTFT/decode → tool fanout → verifier/retry → human correction → task outcome, so optimization targets cost per successful task rather than nominal $/token.

Multi-agent concurrency / merge

parent task → spawn specialist(task_id, capability_set, context_slice, budget) → parallel tool/reasoning work → typed artifact/evidence result → verifier/conflict check → merge into parent state. Specialists do not share one mutable scratchpad; causal IDs make fanout/retry/review attributable.
  • Conflict policy: deterministic state wins over prose; contradictory specialist claims remain separate evidence until a resolver can compare source, freshness and confidence.
  • Failure isolation: one specialist timeout degrades that branch, not the identity/runtime; bounded retries and fallback tiers preserve the parent task's checkpoint and budget.
identity_state ∉ provider_session_state · memory, permissions, tools, relationships and behavioural continuity remain app-owned across provider/model swaps.

MEMENTO · temporal memory compiler

Memento treats memory as a lifecycle, not a vector lookup. Immutable episodes accumulate evidence; salience, corroboration, novelty, confidence and future utility decide what becomes durable semantic/self state, what weakens, what becomes contested and what is reconsolidated after new evidence arrives.

The design borrows from cognitive-neuroscience ideas: episodic vs semantic memory, consolidation, reconsolidation, salience, forgetting, retrieval strengthening and spaced repetition — implemented as inspectable software state rather than a literal brain simulation.
append-only evidencesalienceconsolidationreconsolidationdecayMCPeval harness
episode / observation (immutable)
→ encode + source/provenance
→ salience / novelty / confidence / recurrence
→ candidate memory
→ corroboration / promotion threshold
→ compiled semantic / autobiographical / relationship state
→ decay / dormancy / contradiction
→ reconsolidation → retrieval → behaviour
P(m)=wsS+wrR+wnN+wcC+wuU
strength(t)=strength₀·e−λΔt   |   Score(m,q)=αcos(em,eq)+βS+γR+δrelationship+εgoal

Biological analogy → software architecture

hippocampal-style episodic indexing ≈ append-only event store + retrieval pointers · systems consolidation ≈ promotion into compiled semantic/self state · reconsolidation ≈ versioned rewrite after contradictory evidence · forgetting ≈ strength decay/dormancy, not evidence deletion · rehearsal/spaced repetition ≈ scheduled refresh before retrieval probability collapses.

Memory model comparison

archive memory = append → exact replay
vector memory  = embed → ANN top-k
graph memory   = entity/relation → traversal
Memento        = episode → evidence → promote/decay/contest
                 → reconsolidate → compiled behavioural state

Runtime / data plane

Postgres/SQLite canonical state · append-only event log · JSONB provenance/version lineage · pgvector/HNSW derived recall index · background lifecycle workers · MCP remember/recall/forget/inspect/consolidate/explain surface · embedding-version migrations.
  • Zero-LLM lifecycle path: timestamps, recurrence, access frequency, promotion thresholds, corroboration, decay, dormancy and versioning stay deterministic where possible.
  • Write amplification: most episodes remain episodes; durable semantic/self state is compiled only after evidence crosses policy thresholds.
  • Index migration: embedding version is metadata, not identity; dual-index rebuild + shadow recall permits HNSW/model migration without rewriting canonical memories.
  • Memory safety: source trust, contradiction edges and status gates expose poisoning/stale belief; contested memories can be withheld from high-consequence context until reconciled.

Reconsolidation / working-set economics

semantic_conflict(new_event,memory) > τ
→ contested + contradiction edge
→ load lineage + counter-evidence
→ deterministic reconcile if possible
→ LLM only for unresolved semantic ambiguity
→ memory_state vN+1; retain vN + provenance
context compiler pins identity + active commitments first; evicts redundant/low-salience material; summaries retain source pointers; token budget is optimized for useful recalled evidence, not maximum injected context.

Evals

precision(write) · recall@k · contradiction F1 · false-memory rate · stale-memory rate · correction rate · context-compression ratio · write→promotion ratio · reconsolidation queue depth · $/1K events · behavioural continuity after provider/model swap.

Complementary learning / interference control

fast episodic capture and slower semantic consolidation follow a complementary-learning pattern: new experiences are written immediately, but durable abstractions require repeated/corroborated evidence so one surprising event cannot catastrophically rewrite identity or long-lived beliefs.
retrieval_strength ≠ storage_strength   |   promote when evidence_gain − contradiction_risk − rewrite_cost > τ
  • Interference: semantically similar episodes are clustered/deduped but retain separate provenance; consolidation merges evidence, not source identity.
  • Prediction error: large mismatch between expected and observed state raises salience and can trigger reconsolidation rather than blindly reinforcing the prior memory.
  • Retrieval-induced strengthening: successful, consequence-bearing recall can increase accessibility while low-value repetition alone does not automatically increase truth confidence.
  • Sleep analogy: off-critical-path lifecycle workers replay high-salience/contradictory episodes, refresh decaying memories and compile a smaller next-session state without spending frontier inference on every event.
salience acts like a write gate rather than a truth score: emotionally/operationally consequential events may be easier to retrieve, but confidence still comes from provenance and corroboration. Accessibility and belief confidence are intentionally different variables.
the eval harness therefore tests memory as behaviour over time, not only retrieval relevance on one query.
authority(memory_state)=event_lineage + promotion_policy + versioned_reconciliation · ANN/HNSW is a derived index, never canonical belief state.

SPOTNOOK · AI-native property exploration + spatial decision system

SPOTNOOK is an AI-native property exploration platform that makes search spatial, conversational and executable. Natural-language intent, live property evidence and agentic tools resolve into a persistent 3D world of Singapore buildings, floors and spaces. NOOK is the persistent spatial agent across text, voice, map and 3D: it maintains the brief, selected objects, evidence, scenarios and actions while the user moves between discovery, inspection, comparison and decision.

Describe → Spot → Inspect → Compare → Decide. Input modality changes; canonical property identity and decision state do not.
Postgres/PostGIScanonical property graphCesium / 3D TilesReact/TSWebRTCNOOK agent meshprediction ledgerUnreal R&D

Intent compiler / active search

text | voice | map click | selected geometry | direct edit
→ context resolver + entity extraction
→ hard / soft / open typed constraint graph
→ canonical subject resolution
→ feasible-set query + deterministic feature compute
→ ranking / Pareto frontier / uncertainty
→ explanation packet + provenance
→ user mutation → invalidate dependent state → recompute
F={x | ∀hj(x)=true}   |   rank(x)=Σwifi(x)−λ·uncertainty(x)−μ·constraint_risk(x)
q* = argmaxq E[ΔH(shortlist | answer(q))] − κ·interaction_friction(q)
  • Constraint preservation: explicit headcount, budget, move date, access, fit, growth and operating needs become typed state; the model may parse ambiguity but cannot silently drop a requirement.
  • Active clarification: NOOK asks only when the expected information gain can materially change the feasible set or ranking.
  • Shared semantic context: “these three”, “same landlord”, “this floor”, a voice command, a map selection and a comparison edit point at the same canonical subjects/scenario.
  • Specialist-agent mesh: coordinator + geometry/fit + market/history + finance + commute + evidence + decision-brief specialists; capabilities are tool-scoped and outputs mutate typed application state, not chat-only memory.

Canonical world model / evidence graph

Place → Parcel → Development → Building/Tower → Floor → Space. Listings, availability episodes, occupiers, leases, transactions, geometry assets, source observations and predictions are separate temporal objects. One provider observation is evidence; identity is resolved across sources before state attaches to the world.
source observation → raw snapshot → normalized observation
→ identity / relationship resolution → assertion + provenance
→ canonical property graph → temporal events / market state
→ deterministic analytics → agent/tool/UI projection

Spatial kernel / renderer

source CRS → canonical geographic frame → building-local ENU
→ floor-local XY / unit polygon
→ PostGIS GiST/R-tree + spatial joins
→ mesh / glTF-GLB / 3D Tiles hierarchy
→ frustum + screen-space-error selection
→ GPU tile cache / picking / camera state
MultiPolygon parts/holes · geometry versioning · ST_Contains/ST_Intersects/ST_DWithin-class queries · shared physical scale · floor slicing · adjacency · building hit targets · ray/frustum logic · solar/shadow inputs only when geometry capability allows it.

God's-eye / digital-twin R&D

OSM / Overture / URA / OneMap
+ rights-cleared CAD / IFC / GLB / floorplans
+ imagery / photos / future licensed capture
→ identity reconciliation + CRS / datum normalization
→ geometry capability + provenance envelope
→ footprint / parts / massing / floorplate
→ SfM / photogrammetry / NeRF / 3DGS candidates
→ LOD / 3D Tiles / Cesium streamed Singapore
→ Unreal-class scene / ECS / navmesh / embodied-agent path

Typed brief / dependency graph

Constraint {
  subject_id?; predicate; op; value; unit;
  priority: HARD | SOFT | OPEN;
  confidence; provenance; status;
  depends_on[]; invalidates[];
}
Brief = DAG<Constraint, Scenario, Evidence>
an edit is not “new chat”: mutate one node, walk invalidation edges, recompute only affected candidate features/ranks/visuals, retain unaffected evidence and preserve the originating camera/selection/scenario.

Query execution / cache topology

brief hash + scenario version
→ canonical candidate IDs
→ PostGIS spatial filters / joins
→ temporal market snapshot
→ deterministic feature vector
→ model/ranker only where learned judgment adds value
→ explanation/evidence packet
→ cache by {subject,scenario,method,version}
  • Incremental recompute: moving a budget threshold should not rerun geometry conversion or rebuild the world; changing a floor/unit invalidates fit/adjacency/cost descendants but not unrelated market history.
  • Temporal engine: availability episode, asking update, occupier/lease event, transaction and source observation keep effective time + observed time + provenance; “current” is a projection over versioned facts, not a mutable row.
  • Prediction ledger: every learned estimate stores feature/version/method/time alongside later actual outcome so calibration, drift and cohort error can be measured by district/building/size band rather than only globally.

Scene graph / agent embodiment

entity = canonical property subject · components = transform/geometry/floor/space/evidence/availability/selection/analysis · systems = render/picking/LOD/navigation/sun/fit/annotation. NOOK references entity IDs and capabilities, so “this building” or a voice interruption resolves to the same scene object the renderer and evidence graph use.
camera_state + selected_entity + scenario_version + time_cursor = spatial_context

NOOK planner / tool contract

Intent {utterance, selection, scenario, time_cursor}
→ resolve references to canonical subject_ids
→ planner emits PlanStep[]
   {tool, subjects, preconditions, cost, reversible, output_schema}
→ capability registry checks evidence + authority
→ deterministic tool / specialist agent executes
→ typed Artifact {data, method, provenance, confidence}
→ compositor chooses map | plan | table | chart | 3D | brief
→ state patch + explanation + next-action candidates
  • Model boundary: LLMs parse intent, choose/sequence tools and explain trade-offs; PostGIS, route engines, financial calculators, geometry kernels and evidence stores own numerical/physical truth.
  • Reversible planning: inspect/filter/compare actions are cheap and replayable; enquiry, save/share or external mutation is capability-gated with explicit preconditions and receipts.
  • Context compaction: NOOK persists canonical IDs, constraints, scenario version, pinned evidence and unresolved checks; prose history can compact without losing the decision state needed to resume.

Spatial relation graph / physical computation

unit adjacency · floor-above/below · same-stack · same-landlord · walkable entrance/MRT graph · frontage/orientation · floor/core/column obstacles become typed relations over the canonical subject graph. Fit and navigation can therefore be computed from geometry/topology instead of inferred from listing prose.
fit(space,brief)=usable_polygon − core − circulation − exclusions → seat/room/adjacency constraints
external sun/view work, when inputs qualify, becomes geometry math: solar vector(time,lat,lon) + facade/opening orientation + obstruction mesh + ray/frustum/occlusion. Capability gates distinguish approximate massing from measured floor/opening geometry so a photoreal scene never masquerades as measurement.

Decision vector / sensitivity engine

x = [occupancy_cost, cash_required, commute_p50/p95,
     fit_score, growth_headroom, move_risk, market_pressure,
     landlord/history signals, evidence_confidence]
feasible(x) = all HARD constraints
frontier = non_dominated(feasible_set)
scenario Δ = rank(vN+1) − rank(vN)
recommendation stability is measured, not asserted: perturb rent, fit-out, attendance, headcount, weighting or move date and record which candidates stay on the Pareto frontier. Explanations cite the feature/evidence deltas that moved an option.

Prediction / decision science

hard constraints define feasibility; preferences rank inside the feasible set; sensitivity/Pareto checks expose unstable recommendations. Market models can score asking-vs-achieved, availability pressure, expiry risk, time-on-market and likely-clearing bands; every prediction is versioned against later actual outcomes for calibration/drift.

Realtime / compute / cost

CPU/server: intent graph + PostGIS + finance/route/scenario math · client GPU: Cesium/WebGL scene, LOD, picking, camera · offline/batch: geometry conversion, tiles, embeddings, historical aggregates · frontier LLM: ambiguity, planning and explanation only · WebRTC/VAD/barge-in dispatch into the same state graph.
  • Render SLOs: time-to-first-useful-world · p95 action/camera latency · tile-cache hit · GPU memory · draw calls · long-task budget · geometry-upgrade success.
  • Decision evals: constraint-preservation · entity-resolution accuracy · provenance coverage · ranking stability under perturbation · geometry-capability coverage · tool success · cost/decision session.

World-cache / invalidation economics

immutable geometry/source artifacts cache by content/version; property packets cache by canonical subject + evidence revision; scenario outputs cache by brief/scenario hash. A changed asking term invalidates cost/rank descendants, not the 3D mesh; a geometry revision invalidates spatial analyses, not historical transaction evidence.
  • Compute placement: expensive reconstruction/tiling runs offline once and streams many times; per-session work stays incremental so richer worlds do not imply frontier-model or GPU recomputation on every question.
  • Failure semantics: if a renderer/provider/agent fails, canonical selection, brief and evidence state survive; the product can fall back in representation without losing the decision graph.
state restoration key = {brief_id, scenario_version, selected_subject_ids, camera, lens, time_cursor}; deep links and reloads can resume the same analytical object instead of reconstructing context from prose.
cache eviction follows evidence/version invalidation before LRU so stale property truth never survives merely because it is hot.
canonical(subject_id) > provider/listing IDs · analysis = inputs + method/version + capability + provenance · NOOK can interpret and plan, but cannot manufacture geometry, rent, route or evidence state.

BLUEBALLS · virtualised JIT liquidity + open financial OS

Blueballs is an open-source banking and FX operating system for institutions that want to own the financial control plane. Banking APIs, exact accounting, policy, pricing, provider orchestration, multi-source liquidity, reservations and settlement live behind one developer surface. The unusual layer is a just-in-time virtual market: heterogeneous balance sheets remain independent until executable capacity is policy-authorised and reserved.

181 banking ops12-package monorepoBigInt route mathJIT reservationsDurable ObjectsSolidity / FoundryOpenAPI
PRIVATE_MARKET ┐
ISSUER         │
INSTITUTIONAL_LP├→ policy-authorised slices
NEOBANK        │   {price, capacity, expiry, auth, source}
BANK_TREASURY  │
BANK_PRINCIPAL ┘
                 ↓
BigInt rational price ordering → exact-output split
→ reservePlan(routeId) → reservationHandle[]
→ firm executable route → execute → finality / reconciliation

Implemented route planner

validateSlice() enforces source type, asset pair, policyAuthorizationId, positive BigInt capacity/price terms and expiry. comparePrice() cross-multiplies integer rationals, avoiding floating-point FX ordering error. Eligible slices sort O(n log n); exact-output allocation is O(n).
  • Virtual liquidity: private orders, issuers, institutional LPs, neobanks, treasury and principal inventory become one policy-normalised executable surface without pretending the underlying capital is one pool.
  • Firmness is a state transition: route construction is provisional; a firm route exists only after every selected leg returns a reservation handle.
  • Compensating rollback: a later reservation failure releases already-reserved legs in reverse order; release failures are retained as structured recovery evidence.
  • Finality: command commit, provider submission, provider acceptance, chain/fiat settlement and reconciliation are separate states with stable idempotency identity.

Routing R&D / next optimizer

min Σpᵢxᵢ + λ·fragmentation + μ·settlementRisk + ν·reserveTime   s.t. Σxᵢ=D, 0≤xᵢ≤capacityᵢ
shadow scoring can add source reliability, historical fill probability, settlement latency and expected reconciliation cost before any learned policy receives authority over live capacity reservation.

Distributed runtime / release proof

API command → tenant principal / auth → domain transition
→ ledger + event/outbox → provider intent → adapter/side effect
→ evidence / finality / reconciliation → projection / webhook
Node/SQLite ↔ Cloudflare Workers/Durable Objects · provider-neutral adapters · OpenAPI/SDK contracts · Solidity AtomicRouter · Foundry fuzz/invariants · restart/eviction · migrations/recovery · load/chaos · SBOM · dependency/container scanning · source-SHA parity.
  • Single writer where money requires it: authoritative account/market shards serialize the irreversible mutation; read projections and analytics fan out separately.
  • Backpressure: quote fanout/provider jobs are bounded per tenant/source; replayable work scales independently from irreversible writes.
  • Race objective: minimise snapshot→completed-reservation time; measure stale-slice rejection, reservation conflict, quote→firm latency and released-capacity recovery.
  • Failure containment: one provider/source failure shrinks the eligible set or fails the route; it must not silently downgrade a firm quote or corrupt unrelated balances.
metrics: quote p50/p95 · eligible-source fanout · fill ratio · route fragmentation · price improvement · reservation latency · locked-capital ms · compensating-release failure · reconciliation age · $/successful settlement.

Financial command kernel

request → authenticated tenant/human principal
→ lifecycle + contract preflight
→ domain transition
→ exact ledger postings (integer minor/atomic units)
→ durable event + outbox + idempotency result
→ audit/correlation evidence
→ COMMIT
external provider work starts only from durable intent
  • Accounting invariants: every transaction balances exactly; balances derive from postings; customer accounts cannot cross below zero at the posting layer; decimal API values are parsed into integer authoritative units before arithmetic.
  • Exactly-once financial effect over retrying infrastructure: idempotency identity survives HTTP retries, worker restarts and provider ambiguity; reconciliation closes the gap between transport evidence and business finality.

Money primitives / programmable institution

reserve-backed instruments · settlement receipts · coverage accounting · custody/wallet/account primitives · cards/payments · approvals · treasury/principal capacity · stablecoin FX · optional AtomicRouter settlement all share the same ledger/policy/finality contracts.
  • Coverage model: issued liabilities, backing reserves and settlement receipts can be reconciled as typed positions rather than product-specific counters; new monetary products reuse the accounting kernel instead of inventing a parallel truth system.
  • Atomic token path: signed taker intent + maker liquidity + cancellation + segregated vault accounting + atomic token settlement sit inside the onchain transaction; fiat/provider edges retain independent evidence/finality state.

Provider conformance / product compiler

brief {markets,currencies,capabilities,rails} → explicit requirements graph → provider capability/market/rail evidence → explainable match → isolated sandbox → implementation contract. Provider adapters keep bank/card/KYC/custody/liquidity behavior behind conformance boundaries, so a market-specific provider swap does not rewrite ledger or lifecycle semantics.
AI may propose architecture/configuration; credentials, quotas, approvals, kill switches and protected financial commands remain deterministic authority. Release proof binds lifecycle, FX, Worker eviction/restart, migrations, chaos, Foundry invariants, SBOM and container scans to the exact source tree.

Reservation / contention semantics

market snapshot vN → eligible slices
→ deterministic exact-output plan
→ reserve legs in plan order
→ conflict/stale slice? fail + compensate prior handles
→ all handles live? quote becomes FIRM
→ execution consumes reserved capacity
→ unused/failed capacity releases with evidence
price math remains integer/rational end-to-end; ceilDiv() prevents underfunding exact-output legs. Reservation is the synchronization boundary between embarrassingly parallel discovery and scarce executable capacity, so read fanout can scale aggressively while contention stays explicit.

Settlement / reconciliation automaton

PROPOSED → RESERVED → SIGNED → SUBMITTED
→ PROVIDER_ACCEPTED | ONCHAIN_PENDING | FIAT_PENDING
→ PARTIAL | SETTLED
→ RECONCILE {missing_receipt, amount_mismatch, timeout, duplicate}
→ CLOSED with final evidence
  • Evidence before belief: HTTP 200, tx broadcast or provider acknowledgement are transport states; canonical money state changes only when the required settlement/coverage evidence closes the lifecycle.
  • Recovery: restart/eviction reloads durable command, reservation/provider intent, idempotency key and last accepted evidence; workers resume reconciliation rather than resubmitting blind.
  • Operational SLOs: reservation conflict rate · stale-quote rejection · provider acceptance latency · settlement tail p95/p99 · reconciliation age · orphaned reservation count · ledger/evidence divergence = 0.

Scale-out / consistency model

partition authoritative writes by tenant/account/market shard · serialize ledger-critical transitions · transactional outbox for provider/webhook work · replayable read projections for balances/market views/analytics · bounded queues + circuit breakers per external source · PITR/migration proof before shard movement.
the trusted core therefore stays small: exact accounting, policy, authority, reservation/finality and evidence. Product UI, provider selection, analytics, read models and generated blueprints can scale or change independently around those invariants.

Monetary coverage engine

instrument liability → reserve asset position → coverage ratio / eligibility policy → mint/burn or transfer lifecycle → settlement receipt → reconciliation. The same typed coverage state can support reserve-backed money products without hiding reserve sufficiency inside an issuer-specific API.

Provider orchestration / durable side effects

domain command committed
→ provider_job PENDING {idempotency_key, encrypted_payload}
→ SUBMITTING → SUBMITTED(provider_ref)
→ ACCEPTED | PENDING_FINALITY | FAILED_RETRYABLE
→ evidence poll/webhook/reconcile
→ FINAL | RECONCILE | DEAD_LETTER
  • Outbox-before-I/O: external work becomes durable before network submission, so a process crash between commit and provider call cannot erase intent.
  • Retry discipline: stable provider/idempotency identity distinguishes safe replay from a new money movement; retry policy is specific to lifecycle state rather than generic exponential backoff around an opaque request.
  • Provider ambiguity: timeout after submission is not “failed”; the job moves to evidence/reconciliation until remote state proves whether value moved.
  • Adapter conformance: providers implement the same lifecycle/evidence contract even when upstream APIs expose different status vocabularies, webhook models or settlement rails.

IAM / attribution contract

tenant principal → machine credential / human session → scope + resource authority → optional human approval → signed attribution bound to credential + method + path + query + body → audit correlation. A machine can operate only inside delegated capability; approval identity is preserved through async provider work.
authority(command)=tenant ∩ credential_scope ∩ resource_policy ∩ lifecycle_precondition ∩ approval

Treasury / capacity risk

available liquidity is not merely balance: executable capacity is balance × policy × tenor/expiry × venue/provider availability × settlement path × concentration limits. Reservations therefore consume risk-adjusted capacity, not just quoted notional.
  • Exposure controls: source/asset/counterparty ceilings, minimum residual inventory and route concentration can reject a mathematically cheap route before execution.
  • Rebalancing signal: reserved/settled flows update treasury exposure and can trigger replenish/rebalance jobs without coupling the trading request to one hard-coded venue.
firm(route):=∀legᵢ[policyᵢ=authorized ∧ reservationHandleᵢ≠∅ ∧ expiryᵢ>now] · transport success and business finality remain separate states.

Pocket-T · process-resilient agent control plane

Pocket-T is a persistent remote control plane for local terminals and coding agents. A Rust PTY shim, private tmux process owner and TypeScript daemon keep the real shell alive while browsers/phones reconnect, project agent state and approve destructive actions.

Rust · libc · forkpty() · raw tty/signals · private tmux server · Unix sockets · TypeScript registry/daemon · ws-v3 · @xterm/headless · Svelte PWA · Web Push
Terminal.app → Rust forkpty shim → private tmux process owner
                               ↘ Unix socket → registry/daemon
browser/PWA ⇄ WSS / tunnel ⇄ relay ⇄ daemon ⇄ SAME live PTY
  • ~1,080 LOC native Rust PTY proxy + ~4,100 LOC TypeScript daemon/control plane.
  • Process resurrection: shim dies, tmux survives; daemon re-pipes through a headless shim so the original shell/agent remains browser-drivable with scrollback rather than restarting.
  • Two renders, one byte stream: raw VT terminal is authoritative; agent chat/thought/tool/result/approval/cost events are a non-blocking projection.
  • Backpressure/reconnect: browser backgrounding, transient WSS failure and daemon restart rehydrate session catalogue/state without inbound ports, VPN or SSH.
  • Terminal correctness: raw bytes, PTY resize/signal propagation and scrollback stay below the agent renderer; structured projections can fail without corrupting the terminal.
  • Operator safety: destructive PreToolUse approvals surface to mobile/Web Push and fail closed when exposed; browser auth uses bearer token + Origin allowlist.
  • Cost telemetry: exact transcript token counts, cache reads/writes and model pricing; streamed partials dedupe before the live USD meter.

Transport / ownership semantics

daemon owns session catalogue + process attachment; browser is disposable subscriber. One authoritative PTY may have multiple ephemeral observers; approval binds to action ID so reconnect cannot duplicate an irreversible decision.
SLOs: reconnect p50/p95 · daemon-restart recovery · buffered-byte backlog · WSS liveness · approval round-trip · parser overhead · duplicate/drop rate.
replay cursor + session generation + monotonic event/action IDs let a reconnect distinguish historical scrollback, live terminal bytes and already-decided approvals without duplicating user-visible or destructive state.
control-plane health can degrade independently from the terminal data plane: losing push, parser or agent metadata must not interrupt raw PTY I/O or tmux process ownership.
lifetime(PTY/process) ⟂ lifetime(transport) ⟂ lifetime(UI) · reconnecting a client must never imply restarting the authoritative shell.

Buzz / Preview Studio · signed multi-agent work

My fork of Block's Buzz adds signed artifact review and multi-agent collaboration to a local-first human/agent workspace. Preview Studio introduces immutable revisions, comments and approve/request-changes; Institution Studio extends the event model toward named specialist agent teams.

31 Rust crates · Tauri 2 · React · Nostr signed events · capability manifest · renderer registry · local artifact library · sandboxed preview · additive-only fork
agent identity / human identity → signed workspace event
→ artifact pointer → revisionₙ → renderer capability
→ comment / time-region anchor
→ APPROVED | CHANGES_REQUESTED | PENDING
→ next agent / human action
  • Artifact state machine: immutable revision lineage + explicit review decisions replace mutation of one opaque generated file.
  • Renderer boundary: image/video/PDF capability is registry-selected; PDF preview is sandboxed and restricted to local data:/blob: surfaces.
  • Agent topology: named specialists have role/ownership boundaries instead of inheriting orchestrator authority.
  • Fork engineering: additive-only authored directories, upstream-owned edits recorded in FORK_PATCHES, pinned upstream SHA and tested merge lane.
  • Isolation: sandbox runner uses separate bundle identity, app-data directory and keyring so experimental review state cannot contaminate production Buzz state.

Relay convergence / artifact ABI

signed event id + author + kind + timestamp + parent/revision pointer form sync identity; duplicate/out-of-order relay delivery converges locally without trusting arrival order. Capability manifests let older clients retain unknown signed events without executing unsupported behaviour.
artifact type/version + content pointer + renderer capability + review anchor are the portable contract; comments bind to revision/time/region so a later render cannot silently move what a human approved.

Permission topology

human/agent capabilities remain explicit per workspace/action. A specialist can author/propose without inheriting approve, publish, secret-bearing or destructive capabilities from the orchestrator that invoked it.
offline/local edits retain signed parentage; relay reconnect merges by event identity and lineage rather than last-arrival-wins, so review history survives duplicated delivery and disconnected work.
review state can be rebuilt from signed events alone; local cache loss changes latency, not authorship or approval history.
revisionₙ is immutable once signed/published · revisionₙ₊₁=new event+parent pointer · review decision is explicit state, not overwritten file metadata.
Professional experience

Operating record · product, distribution, capital

Sera Protocol · Head of Growth

Singapore / Kuala Lumpur · APAC revenue · partnerships · liquidity · pricing · product systems · agentic FX
AUG 2025 — AUG 2026
Head of Growth mandate: build APAC revenue, partnerships, liquidity and market adoption for onchain FX. Closed 30 partnership/integration agreements from 70+ relationships, >60% pilot-to-commercial conversion and a median cycle under 90 days; assembled 15 market makers / institutional LPs with close to US$6M committed as launch liquidity. Alongside the commercial motion, built Sera for Agents, 4Sight, Telegram P2P FX and NextCurrency around the integration, execution and market-intelligence problems counterparties were actually encountering.

Sera for Agents · agentic FX execution kernel

A developer and AI-agent control plane over Sera's onchain FX settlement protocol. It converts market/treasury intent into typed, inspectable tools while keeping signing, notional policy and settlement state outside the language model.

TypeScript · MCP/CLI · Zod · stdio/HTTP · EIP-712 · x402 · external signer · SQLite history · multi-host MCP
LLM / host intent
→ typed MCP tool + Zod contract
→ read / analyse / quote / prepare boundary
→ quote UUID + TTL + route evidence
→ policy / notional ceiling
→ external EIP-712 signature
→ execute
→ settlement FSM / history / reconciliation
  • 32 tools across discovery, multi-source FX, liquidity probing, route/depth inference, maker ladders, quote/execute, treasury, settlement and history.
  • Parallel market computation: corridor scans, external-mid comparison, triangular drift, synthetic depth and round-trip-cost paths fan out read-only work before a route reaches a signing boundary.
  • Historical reconstruction: served rates/quotes persist locally when the upstream protocol has no OHLC primitive, enabling series, volatility and corridor P&L from the execution surface itself.
  • Observability: model/host → tool/version → quote TTL → route source → policy decision → signer → tx/settlement state → retries/reconciliation → latency/cost.
  • Agent-safe authority: discovery/reasoning can be probabilistic; write paths are schema-bound, externally signed, notional-capped and replayable from persisted evidence.
  • Quote binding: quote UUID, pair/side/notional, route evidence, TTL and policy snapshot travel together; execution rejects expired or materially changed intent rather than asking the model to infer whether a quote is still safe.
  • SLOs: quote p50/p95 · TTL expiry-before-sign · signer latency · tool schema-failure rate · retry/reconciliation age · cost per successful agent settlement.

Tool/runtime partition

read / discover / analyse → parallel + cacheable
quote / route              → deterministic market snapshot
prepare                    → policy-bound intent
sign                       → external wallet / signer
execute                    → serialized money mutation
reconcile                  → async durable worker
low-risk market questions can stay on cheap/cacheable paths; frontier reasoning earns its cost only for synthesis/planning. The write path never depends on model memory for quote identity, policy or signer authority.

Host / capability boundary

MCP host identity + tool version + environment + signer capability are explicit runtime inputs. A desktop agent, CLI process or remote host can share read tools while execute/treasury tools require the appropriate capability and signer policy; tool availability is not inferred from conversational context.

Market compute / cache discipline

corridor discovery, maker ladders and external-mid checks can reuse short-TTL market snapshots; quote/execute never reuse stale intent. Cache hit, snapshot age, fanout latency and quote invalidation are observable independently from model latency.

Treasury / exposure state

asset/corridor inventory, maker ladders, notional ceilings, target balances and rebalance intent live in persisted treasury state rather than model context. Read tools can inspect exposure and simulate rebalance routes; value movement still crosses policy + quote + signer boundaries.
agent proposals can optimise inventory utilisation or corridor coverage, but execution evidence is keyed to quote/route/transaction identity so treasury P&L and reconciliation remain reconstructable after retries or host/model changes.
policy snapshot
→ asset / corridor allowlist
→ notional + exposure ceilings
→ quote UUID + TTL + route evidence
→ external EIP-712 signer
→ execute / settlement / reconcile
execute := valid_quote ∧ policy_pass ∧ authorised_signer ∧ current_state · model output alone has zero settlement authority.

4Sight · durable consumer money state

4Sight is a self-custodial consumer money app spanning prediction markets, stablecoin FX and DeFi yield. A durable operation ledger normalises providers with incompatible quote, signature, submission and finality semantics into one recoverable money-state model.

Next.js/React · viem/wagmi · Privy · Polymarket · LI.FI · Kyber · Aave · Morpho · Pendle · GMX · Hyperliquid · zkP2P · Bridge · Sera
INTENT
→ DISCOVERY / QUOTE / ROUTE
→ AWAIT_SIGNATURE
→ SUBMITTED(provider, tx/ref)
→ PENDING / PARTIAL / CONFIRMED
→ FAILED | EXPIRED | RECONCILE
→ durable operation ledger
  • Adapter contract: heterogeneous DEX/bridge/lending/perps/prediction-market providers map into one operation envelope; provider response ≠ canonical money state.
  • Crash/reload recovery: route/quote/signed intent/transaction evidence lives in durable operation state so the UI can resume rather than infer status from a spinner.
  • Kill-switch symmetry: client controls and server-side enforcement both exist; disabling dangerous operations does not depend on shipping a new frontend bundle.
  • 900+ tests: unit/integration/fork paths, secret scanning, coverage gates and live transaction proof around the state machine.
  • Adversarial proof: a deliberately vulnerable canary exists specifically to demonstrate the audit/release gate catches a known bad condition.
  • Failure budget: stale quote, user rejection, chain revert, provider timeout, dropped receipt and ambiguous finality terminate in explicit states instead of a generic `error` boolean.

Provider contract / finality matrix

adapter metadata carries quote TTL, approval/signature prerequisites, submission receipt shape, canonical transaction/reference ID, confirmation/finality evidence and reconciliation method. Normalisation gives one app state machine without pretending a bridge, DEX, lending market and prediction exchange settle the same way.
  • Runtime metrics: quote age at signature · approval→submit latency · submit→confirmed latency · ambiguous-finality age · reconcile success · provider failure rate · operation recovery after reload.

Operation identity / recovery

operation_id + provider + quote/route snapshot
→ wallet/account + chain/domain
→ approval/signature evidence
→ submission ref / tx hash
→ confirmation/finality evidence
→ reconcile cursor / last checked at
reload recovery rehydrates from durable operation identity and asks the provider/chain for evidence; it never guesses completion from local UI state. Provider adapters can retry reads freely while write retries stay idempotency- and state-gated.

Wallet / chain authority boundary

selected wallet/account + chain/domain
→ spender / allowance / approval state
→ typed transaction request
→ explicit user signature
→ broadcast / provider submission
→ receipt / confirmation / finality
→ durable operation update

Preflight / fork proof

route + account snapshot
→ balance / allowance / approval checks
→ calldata / value / slippage bounds
→ fork or simulation execution
→ expected asset/state deltas
→ invariant / policy assertions
→ only then expose sign / submit
preflight and live execution remain separate evidence classes: a successful simulation reduces execution risk but never substitutes for the signed transaction, provider receipt or chain finality that closes the durable operation.
canonical_operation_state = durable operation ledger · provider response and browser UI are projections; refresh/process death cannot erase an in-flight money transition.

Telegram P2P FX · money changer in chat

A Telegram-native P2P FX / money-changer runtime where discovery, negotiation, payment evidence, escrow and bounded agent assistance live inside the chat surface without giving the assistant authority to release value.

React 19 · Telegram SDK · tRPC · Drizzle/MySQL · ethers 6 · EIP-712 · Sepolia testnet
TAKER_INTENT
→ MAKER_ACCEPTED
→ ESCROW_LOCKED
→ OFFLINE_FIAT_PAYMENT_PENDING
→ PAYMENT_EVIDENCE
→ MAKER_CONFIRM / DISPUTE / TIMEOUT
→ RELEASE | REFUND
  • Three-leg escrow: designed around the real constraint that the market maker may be offline when the taker completes offchain payment.
  • Signed state transitions: EIP-712 binds actor, trade and action; replay protection/invariants prevent chat text from becoming authority.
  • Grounded assistant: market/FX answers are tool/data-backed; a trade-on-behalf agent is capability-bounded and cannot silently cross the escrow/signature boundary.
  • Persistence: Drizzle/MySQL holds trade, actor and transition state; Telegram is the interface, not the database.
  • Readiness gate: seven deterministic invariants plus testnet execution before any mainnet release path.

Concurrency / recovery

trade version + actor + action + nonce live in the signed transition envelope; duplicate Telegram callbacks or reconnects resolve idempotently against durable trade state. Timeouts are domain transitions, not browser timers.
  • Latency/cost split: chat UX stays fast on cached/read-only market data; chain writes, signatures and settlement confirmations are asynchronous and surfaced as explicit pending/finality states.
  • Failure cases modelled: maker disappears, taker pays late, duplicate callback, stale quote, signer rejects, chain tx reverts, evidence conflicts or escrow expires.

State / security / observability

optimistic trade versioning · idempotency key per transition · EIP-712 domain separation · replay nonce · outbox for Telegram notifications · escrow monitor / timeout worker · signed audit trail · structured dispute evidence.
  • Exactly-once effect over at-least-once delivery: duplicate Telegram callbacks, reconnects and retrying workers converge on the same transition id; the handler can be replayed without double-release.
  • Risk partition: assistant/model calls remain read-mostly and bounded; escrow mutation requires typed transition + actor authority + signature + current-state precondition.
  • Metrics: p50/p95 assistant latency · quote age · signer latency · escrow lock→release time · duplicate-callback suppression · timeout/dispute rate · failed transition cause · model/tool cost per completed trade.
  • Compute economics: cache corridor/rate context, keep negotiation/retrieval on low-cost models and reserve frontier reasoning for ambiguous disputes or multi-step trade planning.

Dispute / timeout worker

deadline-indexed escrow monitor → pending trade scan → signed/current-state check → notify maker/taker → timeout/refund transition or structured dispute queue; worker retries are idempotent against transition_id + trade_version.

NextCurrency · autonomous intelligence → pipeline

An autonomous stablecoin/payments market-intelligence, publishing and commercial-signal engine. It continuously watches issuers, banks, payment networks and regulators, compiles source evidence into coverage and resolves reader/company behaviour into scored CRM state.

monitor/schedule → source ingest → extract → entity resolution → research graph → draft → factual/entity eval → publish → attribution → account score / CRM
cheap model: extract / classify / cluster / tag
frontier model: synthesis / narrative / ambiguity
verifier: claim + named-entity + source grounding
human review: only below confidence / high consequence
telemetry: article → company → session → lead → SQL
  • Entity graph: issuer/product/person/rail/regulator identities persist across articles and CRM, so repeated mentions accumulate account context rather than reset per post.
  • Cost routing: extraction and enrichment stay on lower-cost paths; high-context drafting/reasoning earns expensive inference; stable context is reused/compacted instead of replayed.
  • Eval flywheel: corrected factual, entity and attribution failures become golden/regression cases for future model/prompt releases.
  • Publishing as sensor: first-touch attribution and company-level engagement feed sales priority; reader/company activity only becomes pipeline after attribution, entity resolution and scored CRM state.
  • Live in <8 weeks: no editorial headcount; became Sera's largest single source of issuer SQLs.

Research / inference control plane

scheduler + crawl queue · freshness TTL · canonical company/entity IDs · source tiering · dedupe · embedding/retrieval cache · low-cost extraction models · frontier synthesis · claim/NER verifier · publish queue · attribution event stream · CRM score.
  • Token economics: chunk once, reuse evidence packets, cache stable issuer/company context, batch extraction/classification and reserve frontier context windows for synthesis that changes the published answer.
  • Accuracy: source-grounding precision, named-entity F1, claim support rate, duplicate-entity rate, draft acceptance, correction rate and attribution integrity become release metrics for model/prompt changes.
  • Scoring state: article/company/session/lead events retain timestamp, source confidence and identity lineage so recency/intent/product-fit scoring can be recalculated when weights change instead of baking a one-off lead score into the CRM.
  • Model release: challenger prompts/models run against golden factual/entity cases; no promotion if factuality, NER or attribution regresses even when narrative quality improves.
  • Claim graph: published assertions retain source URL/document, retrieval time, entity IDs and evidence span so corrections can invalidate/rebuild affected articles and account signals instead of re-researching the entire corpus.
  • Crawl/freshness budget: source cadence + business importance + change probability set queue priority and TTL; high-churn issuer/regulatory sources can refresh faster without paying frontier-model cost on unchanged documents.
  • Ops: rate limits/backpressure on source ingestion, stale-source alerts, failed-job replay and model/provider fallback keep daily publishing alive without editorial headcount.
  • Business yield: p95 research latency · $/published article · SQL/article · company-engagement→SQL conversion · sponsor gross margin · model cost as % of content revenue.
30signed partnerships / integrations
15market makers / institutional LPs
US$6Mlaunch liquidity committed by 15 MM / LPs
US$1.2MMYRT reserves secured in 10 days

Aier Studios · Founder & CEO

Singapore / Paris · AI-native generative marketing company built around proprietary automation · product, engineering, clients, growth, revenue and P&L
DEC 2021 — AUG 2025
Founded Aier Studios, an AI-native generative marketing company, and completed a US$3M acqui-hire into Coliseum. Built proprietary automation across research, creative production, media operations and analytics into the operating model: 25 full-time staff, campaign teams up to 40, 30+ markets, US$9M+ in managed client campaign budgets, multi-million-dollar revenue and >50% gross margin. Clients included Revolut, LEGO, Tiger Beer, Bosch Professional, PIF and high-growth gaming/Web3 launches. Automation reduced creative-production cost ~60% and cut brief-to-live time in half.

Aier automation stack → Yours

Aier began with proprietary automation for research, content, media operations and analytics; Yours is the later software formalisation of that operating model. The current system senses markets and competitors, resolves accounts/entities, plans campaigns, generates copy/image/video, executes channel work, measures CAC/ROAS/cohort behaviour and feeds observed outcomes back into model and policy evaluation.

heterogeneous ingest → dedupe/entity resolution → retrieval/context compiler → reasoning/planning → multimodal generation → verifier → channel execution → attribution → policy update
  • Competitor, market, audience, creator, press and campaign sensing.
  • Entity graph + lead/account enrichment + opportunity scoring + CRM/work queues.
  • Copy/image/video/placement matrices · creator briefs · PR/social · localisation · Meta/Google/TikTok/YouTube execution.
  • Provider-neutral model gateway · per-task budget reservation · provider receipts · fallback · model bakeoffs.
  • Eval surface: grounding precision · NER accuracy · claims integrity · schema-validity rate · hallucination incidence · acceptance/rejection rate.
  • Optimisation: prompt/prefix caching · context compaction · batch enrichment/variants · low-entropy small-model routing · frontier escalation.
observe → retrieve → reason → generate
→ validate → execute → measure
→ attribute → update policy
  • Commercial telemetry closes the loop: asset/campaign lineage links model+prompt+creative+channel to CAC, ROAS, cohort retention, revenue and gross-margin outcomes.
  • Workload economics: batch low-entropy enrichment/variants; reserve stronger reasoning for planning, synthesis and consequential output.
Current Yours architecture: 19 workspaces · 12 named AI roles · provider-neutral model gateway · Postgres/pgvector + forced RLS · AWS KMS/S3/Secrets · background workers · strict JSON actions · chaos-tested release gates.

Inference / commercial optimisation plane

task signature = modality + entropy + context + risk + value
→ cheapest model above eval floor
→ stable-prefix / retrieval-context cache
→ structured output + verifier
→ asset lineage id
→ placement / spend / audience
→ conversion / revenue / cohort
→ regression + routing update
  • Model economics: track fresh/cached tokens, retries, verifier passes, latency, revision rate and human-touch minutes against cost per accepted asset / qualified lead / funded customer, not model-token price in isolation.
  • Shadow migration: challenger models can run against golden tasks before promotion; provider abstraction, strict JSON actions and per-task budget receipts make a model swap an infrastructure decision rather than a rewrite.
  • Closed-loop lineage: source evidence → research state → prompt/model/version → generated asset → channel/placement → spend → click/conversion → revenue/retention. Marketing performance becomes training/eval evidence for the next policy cycle.

Runtime / throughput / cost control

Postgres/pgvector + forced RLS · queue-backed background workers · KMS/Secrets/S3 · provider-neutral gateway · task budgets · structured JSON actions · render/media workers · publish adapters · retry/dead-letter paths · per-tenant quotas.
model* = argmin cost(task, model)   s.t. eval_score ≥ quality_floor, p95 ≤ latency_SLO, context ≤ window, risk ≤ policy
  • Concurrency: research/enrichment/variant generation can batch and parallelise; account-critical planning and publish mutations preserve versioned campaign state and approval lineage.
  • Media compute: image/video workloads are separately metered from text inference; queue depth, render latency, provider failure and cost/accepted asset determine whether generation stays API-based or moves toward reserved/self-hosted capacity.
  • Memory: brand truth, approved claims, current offer and permissions compile deterministically into every relevant run; episodic campaign history and semantic retrieval add context while canonical business truth stays app-owned.
  • Prediction: creative/channel priors can rank variants, but real spend and conversion outcomes close the loop; prediction error, calibration and lift become model-selection evidence.

KDArena → Coliseum → Esportz.fun · competitive gaming + prediction systems

KDArena began as competitive-gaming infrastructure, Coliseum scaled the product/community layer, and Esportz.fun is the current expression of that lineage: discovery, tournaments, quests/rewards, ranks and esports prediction markets connected by persistent player/game/event identity.

KDArena: PHP 8 · CodeIgniter 4 · MySQL · tournament/result state   →   Esportz.fun: Astro 5 SSR · React 19 islands · PostgreSQL/Drizzle · Cloudflare R2 · Vercel
player / game / tournament identity
→ bracket / match / authoritative result
→ prediction market {YES, NO, price, closes_at}
→ user position / Esportz Gold
→ verified resolution evidence
→ payout / XP / rank / leaderboard
→ quests / retention / next event
  • KDArena primitive: organiser/player roles, registration, brackets, scoring, results, rewards and competition history established the event/state foundation.
  • Coliseum evolution: that foundation expanded into consumer product loops: quests, cohorts, referrals, reactivation, Telegram/community surfaces and large-scale acquisition.
  • Esportz.fun now: 149+ games · predictions · quests/rewards · rankings · tournaments; Astro SSR + React islands.
  • Resolution boundary: probability is not truth. Official/verified outcome evidence closes the market; positions, payouts and leaderboard/reward updates derive from resolved event state.

Current market surface → authoritative runtime

the current React prediction surface already models Yes/No selection, order-book-style price/share ladders, price history and explicit resolution criteria. The production path is to move market/position truth from local/mock arrays into a versioned event/position ledger while keeping the same UI contract.
Market {event_id, question, closes_at, resolution_rule}
Outcome {side, price, volume}
Position {user_id, market_id, side, shares, avg_price}
Resolution {outcome, evidence[], resolved_at}
Reward {gold, xp, rank_delta}
  • Order integrity: market version + user + idempotency key bind every position change; close-time state blocks late orders before resolution can mutate payout state.
  • Binary invariant: Yes/No prices express complementary crowd belief; settlement pays only the resolved side while losing positions expire, independent from XP/rank policy.

Prediction / market architecture path

P(outcome|x)=calibrated prior   |   market_price≈crowd probability   |   edge=Pmodel−Pmarket
team/player form · patch/meta · map/mode · roster/news signals · Elo/Glicko-style priors · bracket Monte Carlo · Brier/log-loss · calibration drift · backtest by competition/version.
event feed → canonical event id → feature snapshot
→ model / market prior → orders/positions
→ close → verified resolution → idempotent payout
→ XP/rank/leaderboard → next discovery/event
  • Scale: hot competitions partition independently; public brackets/markets/leaderboards fan out through cache/read models/CDN/WebSockets while authoritative result/position/payout writes stay on a smaller transactional core.
  • Learning loop: model probability, market-implied probability and resolved outcome are stored together so calibration error and market-vs-model spread become measurable.

Player identity / progression graph

User → game affinities → follows/reviews/guides → tournament participation → quest progress → prediction positions → Gold/XP → rank/leaderboard becomes one longitudinal profile rather than separate anonymous sessions. Discovery and monetisation can therefore condition on earned state, not only recency/clickstream.
  • Recommender surface: game/content/event candidates can rank from genre/platform affinity, social/tournament participation, quest completion and prediction history while separating engagement features from authoritative reward/market state.
  • Experimentation: assignment id + cohort + exposure event + downstream quest/prediction/retention outcome make product-loop changes measurable without rewriting the competition or market ledger.
prediction estimates probability · verified event state settles value · consumer game loops wrap the same canonical event graph.

Post-acquisition operating scale · Coliseum + commercial proof

~60%lower creative production cost
½brief-to-live time
US$9M+client campaign budgets managed
US$3MAier acqui-hire / exit
4M → 200Kcommunity to active users in 8 months
100KTelegram bot users across seven groups
US$15MColiseum raise with TCG, 35V, Barstool + others
US$5MJEDSTAR pre-seed + KRED presale

Selected consumer / community outcomes

  • Saitama: 370K+ holders; holder CAC US$6 → US$2.
  • VeVe: 350K active users; 1.4M collectibles sold in 2021.
  • Bubblemaps: TGE target hit in 10 seconds; ~13,500% oversubscribed.
  • YGG SEA: 110K+ community; helped support US$15M across two rounds.
  • Immortal Game: 3M+ community footprint; registered-player CAC US$25 → US$12.
  • Cult DAO: ~US$150M market cap within two months of launch.

Selected global brand outcomes

  • Revolut France: funded-account CAC €35 → €20; 150M+ impressions.
  • LEGO: 120M video views; retargeted purchase ROAS 3× → 5×.
  • Bosch Professional: 12K qualified professionals; 8K UGC posts; repeat participation 40%.
  • Tiger Beer: 250K AR/QR interactions; 25M video views; 80M impressions.
  • PIF / Savvy Games: 700 media placements; 400 qualified industry enquiries.

CBRE Asia Pacific · Regional Technology Lead, APAC

Earlier: Associate Director / Strategy & Consulting · enterprise SaaS, data, analytics, ML/RPA and transformation
APR 2013 — DEC 2021
Built and ran CBRE's APAC enterprise SaaS, data and analytics business. Scaled from 2 people to 50+ direct / 250+ delivery across seven markets and US$100M annual revenue, with full P&L, product development/commercialisation, pricing, forecast, partners, sales and regional demand. The portfolio covered 18 products for global banks, technology companies and government; the demand engine sourced the majority of new-logo pipeline. Originated and closed the US$1B NTT relationship using a custom utilisation/cost/location application as the entry point.

Enterprise data / automation architecture

Custom operating software for global banks, technology companies and government portfolios: ingest HR/finance/portfolio/facilities/procurement data, resolve it into shared domain objects, compute scenarios, automate repetitive workflows with RPA and expose auditable decisions to thousands of users/workpoints across markets.

HRIS / finance / lease / FM / project / spreadsheet / sensor feeds
→ ETL / validation / entity & master-data normalisation
→ workforce + building + lease + cost feature store
→ deterministic scenario / optimisation engines
→ ML / forecasting / segmentation where useful
→ RPA queue / bot workers / exception state
→ human approval / write-back / downstream system
→ dashboard / planner / workflow product
→ adoption + financial / operational telemetry
  • RPA as a state machine: `QUEUED → VALIDATED → ENRICHED → NEEDS_REVIEW → APPROVED → WRITE_BACK → VERIFIED`; malformed or ambiguous records route to humans instead of being silently coerced.
  • ML boundary: predictions/scores could rank or forecast; deterministic headcount, area, cost and lease calculations stayed reproducible and explainable to finance/HR/real-estate stakeholders.
  • Entity resolution: people, sites, leases, cost centres, departments, projects and suppliers had to survive naming differences across countries/source systems before portfolio analytics were meaningful.
  • Scenario optimisation: location/space/cost alternatives, workforce demand, occupancy ratios, phasing and procurement options expressed as constrained business scenarios rather than one opaque model score.
  • Enterprise controls: permissions, auditability, localisation, language, data residency, regional process variance and human exception handling were architecture inputs, not post-launch compliance patches.
  • Data quality: source freshness, completeness, duplicate/entity-match rate, invalid units/currencies and cross-system reconciliation were observable states; bad data entered exception queues rather than silently contaminating scenario outputs.
  • Change control: assumptions, coefficients and workflow rules were versioned alongside scenario inputs so a finance/portfolio team could reproduce why two runs differed after a policy or data update.
  • Operating telemetry: ingestion freshness · rule exceptions · bot success/retry · forecast error · scenario runtime · workflow cycle time · adoption/utilisation · renewal/expansion · data-quality exceptions by source.
objective = occupancy cost + move/capex + commute/friction + constraint penalties   subject to capacity / timing / policy

18-product enterprise portfolio

Commercialised and implemented a regional portfolio spanning workforce/location analytics, workplace planning, employee experience, lease administration, facilities, capital projects and commercial modelling. Consulting methods, fragmented source systems and regional process variation were encoded into versioned data models, scenario engines, workflows and integrations that another team could rerun and audit.

Vantage Analytics · Portfolio Optimizer · Global LaborView · Dimension · Geoskill · Spacer · Plans/Plans Pro · BUILD · Host · Sequentra · ServiceInsight · Kahua · Capital Planner · Estimator · Calc + related enterprise tools
source-of-record systems
→ canonical domain model
→ rules / scenario / optimisation service
→ workflow + integration/API layer
→ role-specific planner / dashboard
→ implementation telemetry
→ adoption / renewal / expansion
  • Portfolio Optimizer / analytics: combine workforce, location, lease and cost signals into alternatives a client could challenge by changing assumptions instead of accepting a consultant's static spreadsheet.
  • Occupancy planning software: live requirements → two-week sprint releases → usability tests on active accounts; scenario logic became reusable SaaS and remains in global use more than a decade later.
  • Workflow products: approval chains, validation, facilities/project hand-offs, procurement and capital planning converted email/spreadsheet process into explicit application state.
  • Commercial engineering: software + implementation entered around US$100K–250K and expanded into multi-year programmes; product adoption measured through seats/sites, utilisation, time-to-value, renewal and expansion.
  • Release surface: localisation, language, permissions, data residency, client-specific process variants, partner implementation boundaries and regional supportability.
  • Demand instrumentation: product/buyer positioning, regional content, ABM/events and sales enablement were tied to Salesforce MQL/SQL/opportunity progression; marketing sourced the majority of new-logo pipeline.
  • Implementation surface: source-system mapping, permissions/SSO, client rules, migration/UAT, adoption telemetry and support ownership were part of productisation; the product had to survive hand-off from pursuit to implementation to renewal.
reproducible_solution = versioned_inputs + assumptions + calculations + workflow_state + exception_handling · consulting IP becomes software only when the original consultant is no longer required to rerun it.
2 → 250+regional technology organisation
US$100Mannual SaaS / data / analytics revenue
>120%NRR on strategic accounts
US$1BNTT global client originated / closed
Strategic clients across tenure included NTT, Google, Microsoft, LinkedIn, Standard Chartered, HSBC, UOB, Singapore Ministry of Health and other government agencies.

Systems decisions

Inference

request
→ deterministic / cached answer if sufficient
→ small/open model
→ mid-tier reasoner
→ frontier escalation only above quality/risk threshold
m* = argmax(Qm − λ·TTFTm − μ·COGSm − ρ·riskm)
Measure cost/successful task, verifier disagreement, route regret, cache hit, retries and p95 latency. Nominal $/token is not the optimisation target.
Escalate only when expected quality gain clears added latency + COGS; stable prefixes/tool schemas should hit cache before buying more reasoning.

Identity

model/provider = replaceable cognitive engine
identity ABI   = durable schema + version
memory         = evidence + compiled state
tools          = capability-scoped interfaces
relationships  = versioned compounding state
Provider sessions are caches, never identity. Schema migrations preserve stable IDs/provenance; behavioural state can be replayed/recompiled after model or embedding migration.
stable_identity_id ≠ provider_user_id ≠ session_id
Compatibility is explicit: schema version, migration function, provenance and capability set travel with state. A model upgrade may change cognition without minting a new person, memory graph or permission surface.

Compute

burst / low duty cycle → API / on-demand
predictable baseline  → reserved capacity
replayable batch      → spot / interruptible
sustained utilisation → self-host / colo / owned
TCO/useful-token = (GPU + power + idle + ops + network) / accepted throughput
Decision inputs: VRAM/HBM fit · batch/concurrency · cache reuse · utilisation · queue depth · power/thermal · egress · engineering overhead · failure/replacement time.
Buy/host only after measured sustained duty cycle; otherwise idle silicon is just prepaid latency. Track useful-GPU-hour, queue saturation, accepted-token throughput and memory-bandwidth headroom at the target batch/concurrency. Break-even must include idle capacity and ops.

State

command → validate → durable intent
→ transaction / event + outbox
→ external side effect
→ evidence / acknowledgement
→ reconcile → projection
Exactly-once business effect over at-least-once delivery through idempotency keys, current-state preconditions and replay. Vectors/graphs remain indexes/projections; canonical truth stays versioned, auditable and migratable. RPO/RTO, retry/backoff and compensating actions are domain design.
effect(idempotency_key) ≤ 1   even when delivery(idempotency_key) ≥ 1
Consistency scope follows the invariant: serialize the trusted mutation; let derived read models and analytics converge asynchronously.

Operating range

Engineering

PRD → state machine → RFC/ADR → sprint → review → QA/verifier → release gate · CI/CD · CODEOWNERS · migrations · incident/root-cause discipline · hiring by subsystem · acceptance evidence · post-release telemetry

Commercial

enterprise sales · MEDDPICC · pricing · packaging · entitlements · CAC/LTV/ROAS · attribution · NRR · P&L · capacity/vendor procurement · margin · partnerships · financing support · forecast/pipeline

Culture / product taste

AI agents · artificial personhood · games · cyberpunk · anime/DBZ/SAO · Philip K. Dick · spatial worlds · markets · communities · software that feels alive · interfaces with character · weirdness worth preserving

Education / languages

Nanyang Technological University, Singapore

  • Advanced Professional Certificate in Product Management for AI & Digital Finance — enrolled.
  • NTU PACE SCTP · Cohort 1 · 3 Oct 2026–23 Jan 2027.

Languages / citizenship

  • Singaporean; raised in France; ~20 years in Southeast Asia.
  • English & French — native.
  • Bahasa Indonesia & Spanish — fluent.