ArgonTechs — Kuala Lumpur, Malaysia

ArgonTechs builds full-stack systems that ship.

I'm a full-stack developer in Kuala Lumpur. I build the unglamorous-but-important stuff: sales tracking, tax compliance, live chat, CRMs. Mostly Vue and Nuxt, PHP, Node.js and TypeScript.

View work Get in touch
Currently
Full-Stack Developer
Featured builds
7 production systems
Education
B.Sc. (Hons) Software Engineering, APU

Selected work

Things I've built.

Most of this I built alone, end to end. Some are internal tools that sit behind a login, and a few codebases are private — those I've described instead of linked.

  • 01 In production

    NonoClub

    Sales and commission ledger for a nightclub's ambassador program

    A sales and commission system I built for a nightclub's ambassador program, used daily by the owners, admins, and sales team. It reads the venue's Chinese-language POS PDFs straight from the source: pulls out each sale, skips cancelled tables, ignores duplicates, then works out everyone's commission. Rates are saved per sale, so changing the rules never rewrites an old payout.

    • Parses real Chinese-language POS PDFs into sales rows, with dedupe and cancelled-row handling
    • Commission engine snapshots rates per sale — rule changes never rewrite past payouts
    • 58 REST endpoints, 12 service classes, repository-layer data access, one deploy
    • Nuxt 4
    • Nitro
    • Drizzle ORM
    • MySQL
    • TypeScript
  • 02 In production

    LiveChat Platform

    Embeddable real-time chat with a multi-tenant agent back office

    A live-chat product I built end to end at my previous job. A client website adds one script tag and an API key and gets a working chat widget, connected to a WebSocket server I wrote in PHP (Ratchet/ReactPHP). Behind it sits a multi-tenant back office where agents handle live sessions, canned responses, and chat history. Messages live in MongoDB; accounts and config in MySQL.

    • Drop-in JS widget: one script tag and an API key adds chat anywhere
    • Custom secure WebSocket server handling typing, file, and voice messages
    • Multi-tenant back office with agent assignment and canned responses
    • WebSockets (Ratchet)
    • PHP 8
    • CodeIgniter 4
    • MongoDB
    • MySQL
  • 03 Active build

    eInvoicing-LHDN

    Malaysian e-Invoice compliance engine for freelancers

    An invoicing app for Malaysian freelancers that produces documents compliant with the LHDN MyInvois e-Invoice mandate: the MyInvois JSON, UBL 2.1 XML, and a PDF with QR code, all from one editor. Every bit of tax logic lives server-side, and the XML is generated from the same JSON the validator checks, so the two formats can never drift apart. Handles invoices plus credit, debit, and refund notes.

    • Server-side compliance validation: TIN rules, LHDN code lists, totals reconciliation
    • Canonical JSON → derived UBL 2.1 XML — formats never drift
    • Golden-file regression tests of generated documents
    • Nuxt 4
    • Nitro
    • SQLite + Drizzle
    • Playwright
    • Zod
  • 04 Active build

    Property CRM

    A call-list CRM that replaces the property agent's spreadsheet

    A phone-first CRM for property agents who work a daily call list. It cleans up and de-duplicates phone numbers, puts Call and WhatsApp one tap away, logs every outcome, and shows which follow-ups are due today so no lead goes cold. It installs to the home screen like a native app and updates itself after each deploy. Agents only see their own leads; owners see everything.

    • Installable PWA with auto-updating service worker and precached shell
    • Phone normalization via libphonenumber-js; one-tap Call/WhatsApp
    • Spec-driven solo build: 11 phased plans, 93 commits, 17 test suites
    • Nuxt 4
    • TypeScript
    • Drizzle ORM
    • MySQL
    • PWA (Workbox)
  • 05 In production

    9DegreesWeb

    Sales-tracking platform for a nightlife ambassador company

    The main operations system for 9 Degrees, a nightlife ambassador company. Staff log venue sales, and the platform handles commissions, payouts, teams, and leaderboards across four roles. It's a CodeIgniter 4 REST API paired with a Nuxt 4 dashboard. It can read a venue's sales-report PDF into structured rows, and prints payout receipts back out as PDFs.

    • PDF ingestion auto-detecting sale types into structured rows
    • Layered REST API with JWT auth and PHPUnit feature tests
    • In production behind Cloudflare; sole developer across 80 commits
    • CodeIgniter 4 (PHP 8.2)
    • Nuxt 4
    • Vue 3
    • MySQL
    • JWT
  • 06 Paused

    E-Commerce Marketplace

    Event-driven microservices marketplace for the Malaysian market

    A multi-vendor marketplace I'm architecting for the Malaysian market: 11 NestJS microservices talking over RabbitMQ, each with its own Postgres database, plus Typesense for search and MinIO for files. The foundation is in place — Dockerized infra that starts with one command, smoke tests across all five backing services, CI on GitHub Actions, and an auth design built around rotating refresh tokens. On pause for now, but the architecture work stands.

    • 11-service event-driven architecture, database-per-service isolation
    • One-command local stack: Docker Compose provisions five backing services
    • Auth: RS256 JWTs, refresh-token rotation, theft detection, argon2
    • NestJS
    • TypeScript
    • PostgreSQL + Prisma
    • RabbitMQ
    • Typesense
  • 07 In production

    NINE° — ninedegrees.my

    Cinematic one-page site for a KL nightlife agency

    The public site for 9Degrees, the agency behind nights at 404 Club Not Found and Nono Club in KL. The whole page exists to get club owners into a WhatsApp or Instagram chat; there are no forms anywhere. It's an Astro site with exactly one dependency (Astro itself), and all the scroll animation is one hand-written 225-line TypeScript module.

    • Scroll-driven 2.5D venue tilt, line-mask hero reveal, type-poster wall
    • One dependency total: Astro — all motion hand-rolled
    • Every animation gated on prefers-reduced-motion

Experience

Where I've worked.

  1. Mar 2025 — Apr 2026 Puchong, Malaysia

    Full-Stack Developer

    Julang Network

    • Built and maintained web applications with PHP (CodeIgniter 4), Node.js, and Vue
    • Sole developer of a multi-tenant real-time live chat platform on a custom WebSocket server
    • Shipped HR management modules, dynamic landing pages, and REST APIs over MySQL and MongoDB
  2. Jan 2024 — Apr 2024 Kuala Lumpur

    Software Engineer Intern

    iMocha Sdn Bhd

    • Developed backend components in Java for internal application features
    • Debugging, testing, and code-quality work inside a structured Git workflow

Stack

What I work with.

Languages

  • TypeScript
  • JavaScript
  • PHP
  • Java
  • SQL

Frameworks & runtimes

  • Vue 3
  • Nuxt 4
  • React
  • Astro
  • CodeIgniter 4
  • NestJS
  • Node.js
  • Electron

Data & infrastructure

  • MySQL
  • PostgreSQL
  • MongoDB
  • SQLite
  • Drizzle ORM
  • RabbitMQ
  • Docker
  • Cloudflare

Practices

  • REST API design
  • WebSockets
  • PWA
  • CI/CD
  • Vitest / PHPUnit
  • AI-augmented development

About

About me.

ArgonTechs is a one-person studio — a full-stack developer in Kuala Lumpur. I finished my software engineering degree at APU in 2025 and I've been building things non-stop since.

Most of my projects start the same way: someone is running their business on spreadsheets, paper, or PDF exports, and it hurts. I like being the person who turns that into software they use every day. I work solo a lot, so I'm used to owning everything from the database schema to the deploy.

Why argon? It's the noble gas that glows violet when you run a current through it. Quiet until you switch it on. It felt right.

Contact

Got a system that needs building?

If you're hiring, building something, or just want to talk shop, reach out. Telegram gets the fastest reply.

@argontechs on Telegram github.com/argontechs