Business grounded
Customer needs, operational realities, and measurable value come before novelty. A system that nobody can run on a Tuesday morning is not finished.
Phnom Penh · Cambodia
I am Phirum — a banking professional and hands-on technologist. I build the unglamorous systems that operations teams live inside: infrastructure portals, AI telephony, embedded computer vision, and desktop analytics — then make them clear enough that people actually use them.
My work sits at the intersection of financial services and technology. Banking taught me operational discipline — reconciliation, auditability, and the cost of an unclear process. Building taught me that most of those problems are solvable in software if you refuse to hide the complexity behind a demo.
Understand the real problem. Make the system clearer. Ship something people can actually operate.
Customer needs, operational realities, and measurable value come before novelty. A system that nobody can run on a Tuesday morning is not finished.
Test gates run in CI on every change, end-to-end suites boot the real services, and QA numbers are regenerated from the reports rather than typed into a README.
Every project states what it has not proven — carrier certification, real-driver validation, load and soak. Naming the gap is part of the engineering.
Two flagship systems I designed and built end to end — KNetraHub and the PLXY AI Call Center — joined by an IoT concept and a small studio tool. Each is documented publicly with its own live site: the architecture, the setup path, and an honest account of what has and has not been proven.
“Khmer Netra Hub — a portal for everything in your infrastructure, one hub at a time.”
Self-hosted infrastructure operations behind one login, one theme, and one audit trail. A single Nuxt application presents a portal shell — launcher, sidebar, permissions, notifications, audit — in front of a growing suite of operations subsystems. Each subsystem is a Nuxt layer that merges into one in-process build: no micro-frontends, no iframes, no module-federation remotes. One image, one deploy.
LISTEN/NOTIFY. No Redis, no message bus.“Enterprise AI call center between the Cambodia Telco SIP trunk and the 3CX PBX agent pool.”
Five separated services plus a shared scenario-schema library. A visual studio edits call scenarios as graphs; a worker executes those graphs per call against a pluggable ASR/LLM/TTS provider; a voice gateway drives FreeSWITCH over the Event Socket and hands live calls to 3CX agents. Every service is self-contained — own build, tests, Dockerfile — and liftable into its own repository.
Carrier onboarding, 3CX trunk provisioning and TLS/SRTP hardening are external steps the repository documents but cannot self-certify. The bundled AI provider is a deterministic simulator; real providers plug into the worker's SPI.
“Low-cost, camera-based driver drowsiness detection designed for retrofit into older vehicles.”
Risk is measured from eyelid closure over time, not from a whole-face “does this look drowsy” classifier — because a face classifier trained on DDD learned to recognise drivers rather than drowsiness. Eye closure is the mechanism itself, and it is cheaper on device: the model input is a 32×32 eye patch.
.espdl, realistic for an ESP32-S3.Research prototype, not a certified automotive safety device. Splits are subject-independent by principle, so no driver — and no adjacent frame of one clip — leaks across train and test.
“Windows desktop application for Claude organization owners — adoption monitoring, Weighted Usage Index, low-usage alerts and management reports from official Anthropic APIs.”
A small studio tool — a native Windows application shipped under PLXY — that answers the question every Claude rollout eventually gets asked: who is actually using this? It reads only officially supported Anthropic Admin APIs and official CSV exports — no scraping, no browser automation, strictly read-only — and turns them into dashboards, alerts and reports a manager can defend line by line in front of a finance committee.
Proprietary software — the source repository is private, so unlike the other headline projects there is no public code link. The documentation, download page and SHA-256 checksums are public, and Demo Mode runs the whole application on an anonymized synthetic organization, no credentials needed.
Every public repository is loaded straight from the GitHub API, grouped into focus areas. Filter by what a project is for, search across names, languages and topics, or switch to the compact list. New public work appears here without a site update.
I am open to thoughtful business collaboration — product partnerships, pilot deployments, enterprise integrations, and applied AI or infrastructure work.
Answers are generated on your device from a profile knowledge base. Nothing you type leaves the browser.