Fifteen years, travelled

Seoul · 10+ countries

Other Life

The track that ran alongside the engineering — and where the engineering came from.

Same years, same clock, different rail. The tools got built because a set needed them.

Lead Software Engineer

NOWCypherlab, Lead Software Engineer

Cypherlab

Kuala Lumpur, Malaysia

Leading technical strategy and system architecture for the engineering team behind real-time esports and sports data analytics: live event tracking, ML-driven forecasting, and the dashboards fans, creators and platforms read them from. Event pipelines on Kafka, Redis and WebSockets, served from containerised microservices against a 99.9% uptime and sub-100ms latency target.

Back to the callback. A live match feed is a buffer callback with a wider window and an audience attached: a sub-100-millisecond budget on data people are deciding against while the match is still running. Fifteen years of chasing real-time systems turns out to have been preparation for this exact problem. I am still doing the only thing I have ever done: trying to make the machine respond in time, and caring how it feels when it does.

What I did at Cypherlab

Leads technical strategy and architecture for the engineering team building real-time esports and sports analytics; sets standards and mentors engineers.

  • Leading technical strategy and system architecture decisions for the engineering team.
  • Setting engineering standards and best practices around code quality, scalability, and delivery.
  • Mentoring engineers and guiding cross-functional collaboration between engineering, product, and business stakeholders.
  • Driving the design of real-time esports and sports analytics systems — event pipelines, predictive models and the dashboards that read them — against a sub-100ms latency target across 50,000+ events analysed a year.

Tech stack

  • TypeScript
  • Go
  • Python
  • Angular
  • React
  • Vue 3
  • Gin
  • Kafka
  • WebSockets
  • PostgreSQL
  • MSSQL
  • Redis
  • MCP
  • Azure AI Foundry
  • AWS Bedrock
  • OpenAI API
  • Docker
  • Kubernetes
  • Terraform
  • AWS
  • Azure
  • GCP
  • OAuth2
  • JWT
  • Keycloak

Other Life

Still producing

Kuala Lumpur, Malaysia

Kuala Lumpur. A Master’s in Artificial Intelligence in progress. Still writing music, still shipping systems, still treating the two as the same discipline wearing different clothes.

Match analytics // A live match turned into numbers that fans, creators and platforms act on while it is still being played. The panel above is one match travelling that path, carrying the deadline it has to hold.

MS-AI // Coursework in artificial intelligence running next to the music and the systems work, on purpose rather than in place of either. The latent space above plots the vocabulary of both so the overlap can be measured.

Senior Platform Developer

Extreme Reach, Senior Platform Developer

Extreme Reach

Kuala Lumpur, Malaysia

Coordinated the AI Generated Order project across teams, worked on platform enhancements and targeted fixes across media workflows, and led the Print Products team. Delivered Sendplus and Quickprint improvements including stability fixes, Apple Silicon compatibility and deployment automation.

Everything is a pipeline. A creative asset arrives as one file and has to leave as forty, each cut to a different specification, each with a transmission slot that will not move. It is the same real-time discipline wearing a different hat — the deadline is an air date rather than a buffer callback, and it is every bit as unforgiving.

What I did at Extreme Reach

Led the Print Products team and coordinated the AI Generated Order project across time zones.

  • Coordinated the AI Generated Order project, ensuring scalable design and effective cross-team collaboration.
  • Worked on XR platform enhancements and targeted fixes to improve usability across media workflows.
  • Led the Print Products team, managing ad-hoc projects and balancing workloads with the Product Manager.
  • Delivered Sendplus and Quickprint improvements including stability fixes, Apple Silicon compatibility, and deployment automation.

Tech stack

  • C#/.NET
  • C++
  • TypeScript
  • Go
  • ServiceStack
  • Angular
  • React
  • Gin
  • Qt
  • MSSQL
  • Redis
  • Azure AI Foundry
  • AWS Bedrock
  • Docker
  • Jenkins
  • IIS
  • Terraform
  • AWS
  • Azure
  • Prometheus
  • Grafana

Other Life

The two tracks stop being separate

Kuala Lumpur, Malaysia

Fifteen years after the first uploads, the split stops making sense. The instinct that came from building instruments for a live set — that latency is a feeling, that the audience decides in under a second — turns out to be the same instinct the day job runs on. Media pipelines, air dates, transmission slots. Different room, same clock.

Delivery platform // One creative asset arriving and leaving as forty deliverables, each cut to its own specification against a transmission slot that will not move. The pipeline above is that route with its queues made visible.

One signal // The claim the rest of the site is making: the instinct behind a live set and the instinct behind a media pipeline are the same instinct. The fader above puts both on one control.

Senior Software Engineer

2025Clarity Technologies, Senior Software Engineer

Clarity Technologies

Kuala Lumpur, Malaysia

Led FinAI, an AI-powered personal financial wellness platform delivering insights and recommendations to individuals and SMEs. Architected ClarityERP. Established scalable patterns across Go microservices and Vue 3 frontends, with OpenFinance and model integrations driving predictive analytics.

The accounting degree finally cashed in. Eleven years after walking away from a ledger I was modelling cash flow again, except now it was a system that tells someone whether they can afford next month. Nothing I had learned turned out to be wasted. It was just early, and I had spent a decade acquiring the second half of the sentence.

What I did at Clarity Technologies

Led FinAI and architected ClarityERP — set the Go and Vue 3 patterns the team built against.

  • Led development of FinAI, an AI-powered personal financial wellness platform delivering smart insights and recommendations to individuals and SMEs.
  • Architected ClarityERP, a comprehensive ERP solution designed to streamline operations for small and medium enterprises.
  • Drove technical strategy and system architecture, establishing scalable patterns across Go microservices and Vue 3 frontends.
  • Integrated OpenFinance API and AI models to power predictive financial analytics and personalized recommendation features.

Tech stack

  • Go
  • Python
  • TypeScript
  • Vue 3
  • gRPC
  • Fiber
  • Echo
  • Gin
  • PostgreSQL
  • Redis
  • OpenAI API
  • TensorFlow
  • PyTorch
  • Docker
  • Kubernetes
  • Terraform
  • AWS
  • GCP
  • OpenFinance API
  • Prometheus
  • Grafana

Other Life

The clip goes home

Kuala Lumpur, Malaysia

Three years after Jazzy Misfits came out, the cameo from it — the dawn doorstep, the scolding in Malay — surfaces in Malaysia and travels fast. Malay Mail, The Rakyat Post and World of Buzz all run it. The Seoul work had been going for a decade by then; a few seconds of Malay in a Korean film is what made it visible at home.

FinAI // The part of the platform a user actually meets: a forecast that answers whether next month works, and re-solves the moment their numbers change. The chart above is that forecast with its inputs left exposed.

The clip // A three-year-old scene reaching a country in about a week, one outlet picking it up after another. The model above is that spread, a lane to an outlet.

Software Engineer

2022Southpaw Interactive, Software Engineer

Southpaw Interactive

Puchong, Selangor, Malaysia

Ten interactive 3D real-estate products for property developers across Asia, built in Unity3D and WebGL. A network presenter driving live walkthroughs from an iPad over Wi-Fi or across the world. A WebRTC metaverse platform aimed at developers.

Space became a datatype. Turning a building that does not exist yet into somewhere a buyer can walk through rewired how I think about interfaces entirely. Every UI I have designed since is a room I am asking someone to stand in, and the question is always the same: do they know where they are, and do they know where the door is.

What I did at Southpaw Interactive

Delivered ten interactive 3D products and led the metaverse platform.

  • Developed 10 interactive 3D real-estate software products for property developers across Asia using Unity3D and WebGL.
  • Built a network presenter solution enabling property developers to present interactively via iPad remote over Wi-Fi or globally.
  • Led development of a metaverse platform geared toward real-estate developers using WebRTC and immersive 3D environments.
  • Delivered cross-platform interactive experiences spanning desktop, web, and AR/VR touchpoints.

Tech stack

  • C#
  • JavaScript
  • TypeScript
  • Unity3D
  • Unreal Engine
  • WebGL
  • WebSockets
  • WebRTC
  • Node.js
  • Express.js
  • Go
  • Firebase
  • Firestore
  • PostgreSQL
  • AWS Lambda
  • AWS S3
  • Docker
  • Jenkins

Other Life

Producing across a closed border

Puchong, Selangor, Malaysia

Back in Malaysia and working Seoul sessions down a wire. Stems over the network, notes at odd hours, a studio that exists only as a shared folder. The remote-collaboration habits that the rest of the industry picked up that year had been the working method for a while already.

Property 3D // Buildings that existed only as drawings, turned into places a buyer could walk through before ground was broken. The floorplan above is the first move in every one of them: choose a unit, and the plan stands up.

Remote sessions // Records finished from opposite sides of a closed border, with nobody in the same room and the round trip counted in milliseconds. The mixer above is that studio, latency included.

Lead Game Programmer

2022Dvora Studio, Lead Game Programmer

Dvora Studio

Seoul, South Korea

Gameplay systems and developer tooling in C# on Unity3D across three commercially released titles, plus audio programming on a fourth. Hand-painted survival horror and narrative adventure shipped to Steam, GOG and Nintendo Switch. Multiplayer networking on Mirror and Photon PUN. Rendering pipelines and asset bundle systems tuned to hold frame budget across PC and console.

16.6 milliseconds, forever. A game loop is the same discipline as an audio callback, only now the deadline is visible and every player is watching it. I stopped thinking about performance as an optimisation pass and started treating it as a contract — one you sign with the person holding the controller and cannot renegotiate later.

What I did at Dvora Studio

Lead game programmer on three commercially released titles — gameplay systems and the team’s developer tooling.

  • Designed and implemented gameplay systems and developer tooling in C# on Unity3D across three commercially released titles.
  • Shipped The Coma 2: Vicious Sisters and Scarlet Hood and the Wicked Wood as lead game programmer, and contributed audio programming to Vambrace: Cold Soul — released on Steam, GOG and Nintendo Switch.
  • Built multiplayer networking infrastructure using Mirror and Photon PUN for real-time player interaction.
  • Optimized rendering pipelines and asset bundle systems to hit performance targets across PC and console platforms.

Tech stack

  • C#
  • Python
  • Unity3D
  • Lua
  • ShaderLab (HLSL)
  • Node.js
  • Firebase
  • SQLite
  • MySQL
  • Mirror
  • Photon PUN
  • Steam
  • GOG
  • Nintendo Switch

Other Life

Jazzy Misfits

Seoul, South Korea

A cameo in the Korean film Jazzy Misfits: answering the door at dawn and scolding a lost ajumma in Malay before switching to Manglish. It sits quietly for three years.

Shipped titles // The editor tooling behind three released games: scene inspection, a sprite animator, a transport the team scrubbed a hundred times a day. The scene view above is that tooling in miniature, frame counter included.

Jazzy Misfits // A doorstep at dawn, a few lines in Malay and then Manglish, and a neighbour at the wrong house. The frame above is that scene drawn as a diagram rather than re-enacted.

Technical Artist

2016YG Entertainment · YGX, Technical Artist

YG Entertainment · YGX

Seoul, South Korea

Live auditory and visual systems built on Ableton Live Suite and Max for Live. Audio-reactive pipelines in TouchDesigner, openFrameworks and GLSL. MIDI controllers wired into DMX lighting rigs. Touring more than ten countries as a supporting tech DJ act.

The room is the compiler. Ten thousand people are your test suite and they return a verdict in under a second. No stack trace, no retry, no rolling it back on Monday. I have never shipped to a more honest production environment, and everything I believe about feedback loops I learned standing behind a rig watching a crowd decide.

What I did at YG Entertainment · YGX

Owned the live audio and visual rigs for stage productions, and toured them across ten-plus countries.

  • Designed and implemented live auditory and visual experiences using Ableton Live Suite and Max for Live for real-time effects.
  • Created bespoke visual effects for major performance venues, touring across 10+ countries as a supporting tech DJ act.
  • Produced songs for K-Pop and K-Hip-Hop artists while integrating MIDI controllers and DMX lighting control systems.
  • Built real-time audio-reactive visual pipelines using TouchDesigner, openFrameworks, and GLSL shaders.

Tech stack

  • Max/MSP
  • Python
  • JavaScript
  • Ableton Live
  • Max for Live
  • Reaktor
  • TouchDesigner
  • openFrameworks
  • GLSL
  • MIDI
  • DMX
  • OSC
  • WebSockets

Other Life

SAM&SP3CK

Seoul, South Korea

One half of the DJ duo SAM&SP3CK, signed to Natural High Records, working as a producer and songwriter for CHEETAH, Ravi of VIXX, T-ARA, EXID and Vasco. Resident across Seoul’s top-tier club circuit and in demand on the Korean festival calendar, touring more than ten countries as a supporting tech DJ act.

Stage rig // The instrument built for the show — modulation sources patched to visual targets, re-routed between songs and sometimes during one. The rings above are that rig with the cords left where an audience never saw them.

SAM&SP3CK // The live half of the duo — two records, one fader, and a room that notices the instant they drift apart. The decks above are that job reduced to the thing it comes down to.

Tools Programmer

2013Big Beetle Audio Technologies, Tools Programmer

Big Beetle Audio Technologies

Seoul, South Korea

Bespoke live-performance software in C++ and Python. DSP modules on JUCE, SuperCollider and Pure Data. VST/AU plugin architecture, hardware MIDI controller support, and audio tooling connected to cloud infrastructure over WebRTC.

Sample-accurate or nothing. A buffer callback gives you 128 frames and about 2.6 milliseconds. Miss it and a room full of people hears the failure. It taught me that latency is not a metric, it is a feeling — and that the only honest way to know whether a system is fast enough is to stand in front of the people using it.

What I did at Big Beetle Audio Technologies

Built the studio’s live performance toolchain — DSP modules, plugin architecture, controller integration.

  • Built bespoke live performance software tools in C++ and Python for digital audio applications.
  • Developed DSP modules using JUCE, SuperCollider, and Pure Data for real-time audio signal processing.
  • Integrated VST/AU plugin architecture and hardware MIDI controller support for live performance workflows.
  • Connected audio tools to cloud infrastructure via AWS and WebRTC for networked performance scenarios.

Tech stack

  • C++
  • Python
  • JUCE
  • Pure Data
  • SuperCollider
  • Max/MSP
  • Node.js
  • Flask
  • MIDI
  • VST/AU
  • AWS
  • WebRTC

Other Life

Uploads from a bedroom in Kuala Lumpur

Seoul, South Korea

An accounting graduate posting beats to SoundCloud at night while writing audio tools by day. Korean producers find the account, start working with him online, and eventually ask him to come to Seoul.

Live toolchain // The plugins themselves: a filter, a handful of controls, an analyser, and a host that had to answer inside a 128-frame buffer. The panel above is one of them rebuilt in a browser, running a real audio graph rather than a picture of one.

First uploads // The tracks themselves: written after work, mixed on headphones, uploaded and left to find whoever they found. The grid above is where one of them begins, a cell at a time.