Dark product engineering workbench with a phone, architecture papers, and graphite desk materials

Senior software engineer · deep iOS roots

Rebuilding live systems. Delivering new products end to end.

A one-month Bitazza exchange rebuild, the CLICX Bank iOS foundation, and full-stack work across Hausback and AlphaOS—spanning architecture, backend, data, and AI-assisted workflows.

Production proof

A live exchange rebuilt. A banking foundation scaled.

Performance, architecture, and team growth measured against production constraints.

Bitazza exchange rebuild
93K-linein1 month

live app rebuild, releases continued

Live exchange memory
145MB idle·-70%

idle memory bounded after rebuild

Dashboard and wallet load
2-3s cold·~4x faster

cold path after rebuild

CLICX Bank iOS team
1->12+

public banking app foundation

Selected work

The decisions behind the outcomes.

Two public fintech systems, with the architecture, delivery constraints, and verification behind the numbers.

Bitazza

Live exchange app, modernized while shipping.

Senior Software Engineer (iOS) · Apr 2025 - Present

A one-month 16-phase Strangler Fig reset around a live crypto trading iOS app — idle memory down ~70%, dashboard and wallet paths ~4x faster, and a 3,389-test safety net.

Final release phase — phased rollout ahead

Public proof: Bitazza TH App Store and Bitazza website.

Rebuild window
1 month
Memory
~70% lower idle
Dashboard/wallet load
~4x faster
Test safety net
3,389 / 0 failures
Rebuild approach
  1. SPM-only modular graph

  2. actor-based streaming

  3. feed memory bounded

  4. released while rebuilding

Evidence notes
  • Public app. Bitazza TH is live on the App Store — Thailand's leading licensed digital-asset exchange.
  • One-month rebuild. Rebuilt the critical path of a 93K-line live exchange app through a 16-phase Strangler Fig reset while production and QA releases continued.
  • Realtime architecture. Replaced a layered WebSocket singleton with a Swift actor model for heartbeat, reconnect backoff, auth sequencing, and stale-event protection.
  • Performance recovery. Reworked dashboard and wallet loading, removed repeated per-row price refresh work — cold paths ~4x faster, idle memory bounded around 145MB (~70% lower).
  • Test safety net. Built a 3,389-test safety net — 0 failures on the full suite, 85.8% in-scope logic coverage.
  • Correctness hardening. Hardened financial calculations, session handling, and concurrency across the critical path.

Arise by Infinitas / CLICX Bank

CLICX Bank iOS foundation.

Senior Associate Software Engineer (iOS) · Aug 2023 - Apr 2025

Built the iOS app foundation for the now-public CLICX Bank, then scaled the work as the iOS team grew from 1 to 12 engineers.

Public proof: ClicxBank App Store and CLICX Bank website.

Team
1 -> 12
Repos
15+
Build time
~70% lower
Onboarding
one command
Evidence notes
  • Public banking app. CLICX Bank is live on the App Store and web.
  • Product direction. Researched existing company banking products including NEXT and Paotang, mapped trade-offs, and drove review loops with tech leads and management toward the approved iOS direction.
  • Architecture foundation. Led the app direction from UIKit foundations toward SwiftUI + TCA across navigation, state, modular boundaries, and design-system work.
  • Engineering governance. Defined coding standards, module ownership, review gates, and repo bootstrap patterns for a multi-repo banking app.
  • Team operating system. Helped scale execution from 1 engineer to a 12+ iOS team through interviews, mentoring, review standards, and squad ownership.
iOS foundation map
CustomerAccountsLedgerPaymentsCardsKYC / AMLLimitsReporting
Banking app boundary for iOS

Repo and module groups

AppCustomerAccountsLedgerPaymentsCardsKYCLimitsReportsAuthNavDesign systemCIReleaseTest utils

Experience

SwiftUI, TCA, navigation, design system

Feature modules

versioned interfaces and ownership gates

iOS app services

auth, storage, networking, release automation

Operating model

single-command bootstrap for 15+ repos

Product work

Duopreneur · flagship product

Hausback

A modern ERP that grows with the business.

Modular ERP platform for SMEs and enterprises. First enterprise client signed — delivery underway from requirements through production.

Stage
enterprise rollout
System
ERP with AI-assisted workflows
Direction
new business domains incoming
Hausback workspace dashboard with live widgets
Under the hood
tenancy
Pooled multi-tenant Postgres behind forced row-level security — a missed filter fails closed to zero rows, and CI audits every policy.
modules
A domain-agnostic kernel plus seven module schemas — 130 declarative manifests generate schema, security policies, APIs, and tests.
ai
The ERP is itself an MCP server — AI tools are capability-gated and risk-scored, and high-risk writes need human confirmation.
rigor
99% test coverage across 1,140 database API functions, enforced by a CI ratchet and 9 architecture gates.

Design decision: business logic lives in the database behind row-level security — the API and the security boundary are the same layer, so nothing can route around it.

A Duopreneur product

AlphaOS

Your whole portfolio, one ledger.

AI-first portfolio tracker for Thai investors. Every buy, sell, dividend, and transfer across brokers lands in one append-only ledger. AI imports broker statements and screenshots for review before commit; live prices and USD/THB drive positions, cost basis, and P&L.

Stage
live
Market
Thai investors
Stack
Next.js · Postgres · Claude API
AlphaOS product montage
append-only ledgerAI importreview-before-commitpositions & P&Lmulti-broker
Explore AlphaOS

Operating method

How I move from messy systems to shipped work.

The same operating method runs through financial systems, mobile platforms, enterprise workflows, and AI-assisted products.

Duopreneur

Duopreneur builds Hausback and AlphaOS — AI/operator systems for Thai business and investing workflows from Bangkok.

Visit Duopreneur
base
Bangkok
focus
AI/operator systems
status
first enterprise client
Method notes

Trace

user pathdata flowfailure mode

Model

UI -> Feature modulesCore servicesStorage adapters

Build

small diffreviewed contracttyped and tested

Verify

tests passedbrowser/sim runlogs checked

feedback at each step

  1. Trace behavior

    Follow user paths, data flow, logs, and failure modes before changing architecture.

  2. Set boundaries

    Define ownership, interfaces, and tests so modules can change independently.

  3. Build from specs

    Turn plans into small typed diffs, reviewed contracts, and test-backed patches.

  4. Verify in context

    Prove the change with tests, builds, browser/sim runs, logs, and production constraints.

Agent guardrails

AI agents only help when the work is constrained: narrow plans, limited access, secret-safe context, reviewable diffs, and verification before merge.

spec before agentleast-privilege toolssecret-safe contextreviewed diffsverified output

Contact

Need an engineer who can own delivery end to end?

I’m exploring senior engineering and product roles where I work closely with customers, move between architecture and implementation, and own delivery through production.

Best fit

  • Customer-facing product and platform work
  • Systems with financial or operational complexity
  • Roles spanning architecture, implementation, and production delivery
  • Teams using AI with explicit engineering guardrails