Software Engineer & Technical LeadKuala Lumpur

I build systems that think, transact and scale.

Software Engineer and Technical Lead working across distributed systems, marketplaces and AI-native applications.

  • .NET
  • TypeScript
  • Distributed Systems
  • AI/LLM
  • System Architecture

Software Engineer and Technical Lead focused on reliable distributed systems and AI-native products. I design and build complex workflows across commerce, payments, logistics and applied AI, from domain architecture and backend infrastructure to production-facing user experiences.

Now
Technical Lead, Greenstem Business Software
Degree
Bachelor of Software Engineering (Honours), First Class, CGPA 3.97
Languages
Mandarin, English, Malay

What I build

Systems, applied AI and the products they run inside.

Systems

Backends that stay consistent when steps run out of order.

  • .NET modular monolith, ten modules
  • CQRS with MediatR, vertical slices
  • Transactional outbox over SNS / SQS
  • Caching in-process, Redis, CDN
  • PostgreSQL and durable workflows
  • Multi-tenant vendor model

AI

Retrieval, vision and agents wired into real products.

  • RAG assistants over vector stores
  • LangChain, LangChain4j, Spring AI
  • On-device YOLOv8 via TensorFlow Lite
  • Heavier server models for accuracy
  • SSE streaming, memory, guardrails
  • Tool calling and agents over MCP

Products

The surfaces customers and vendors actually work in.

  • Next.js and React storefronts
  • Vendor portals, SEO aware
  • Kotlin Android clients on MVVM
  • Tailwind, Zustand, TanStack Query
  • React Three Fiber interfaces
  • Technical design, review, mentoring

Multi-vendor automotive spare-parts marketplace

Technical Lead / Software EngineerGreenstem Business SoftwareJan 2026 – present

A multi-vendor marketplace for automotive spare parts: catalogue, checkout, payments, fulfilment and the operations control plane that keeps them reconciled.

Ten bounded modules, one event bus, and an operations control plane over them.

My part

  • End-to-end technical design, translating business requirements into technical specifications
  • Domain modelling and backend architecture
  • Frontend direction for the React and Next.js storefront and vendor portal, SEO aware
  • Code review, and mentoring an intern and a developer
  • Cross-team technical decisions and system reliability

The system

  • .NET 10 modular monolith with ten bounded modules: Auth, Catalog, Commerce, Finance, Marketing, Shipping, Engagement, Analytics, Storefront content and Shared infrastructure
  • Operations runs as a cross-cutting control plane over those modules
  • PostgreSQL as the system of record, with durable workflows and a multi-tenant vendor model
  • Next.js and React storefront and vendor portal

How it is built

  • CQRS with MediatR, vertical slice architecture and explicit module isolation rules
  • Transactional outbox with MassTransit over Amazon SNS and SQS for asynchronous workflows
  • Multi-layer caching: L1 in-process, L2 Redis through FusionCache, L3 HTTP and CDN
  • Idempotent handlers so each money step is retriable and audited

01 / 03

Checkout and fulfilment

Problem
One cart can contain items with different shipping eligibility, warehouses and delivery modes.
Decision
Explicit delivery grouping at checkout plus deterministic allocation, so an order, its shipments, vouchers and refunds always reconcile.
Outcome
Consistent order, shipment, voucher and refund accounting across asynchronous steps.
  1. Cart
  2. Delivery grouping
  3. Allocation
  4. Reconciled records: Order, Shipments, Vouchers, Refunds

02 / 03

Reliable money workflows

Decision
Outbox-backed events and idempotent handlers, so every step is retriable and audited.
Outcome
Money movements stay consistent under retries and partial failures.
  1. Payment
  2. Activation: Stock, Promotion, Escrow
  3. Settlement
  4. Payout

03 / 03

Operations and recovery

Decision
An operations control plane with permissioned, guarded remediation rather than ad-hoc database fixes.
Outcome
Failures become visible, owned cases instead of silent data drift.
  1. Automatic recovery
  2. Retry exhausted?
  3. Operations case
  4. Evidence + guarded action
  5. Verified recovery

Private employer system, described as sanitised architecture only.

Four more systems

A distributed wallet, a drone fleet, a fruit detector and a GPU denoiser.

Ant InternationalTraining programmeSep – Dec 2025

MiniAlipay

A distributed wallet system with multi-currency balances, FX rates and high-precision money handling.

  • Microservices with gateway RPC contracts and message-broker integration
  • Try-Confirm-Cancel protocol for two-phase consistency across services
  • Awarded "Tech Savvy"; also integrated an ERP and accounting system into the WorldFirst portal with OAuth 2.0
  1. Try
  2. Confirm
  3. Cancel

Programme work, so there is no public repository.

vHackHackathon, 2026

RESCUE-ALPHA

A distributed disaster-response simulation: a 3D command centre flying a drone fleet through a telemetry hub and an LLM commander agent.

  • Four-node architecture: a React, React Three Fiber, Drei and Zustand command centre; a Go WebSocket telemetry hub running at 100 Hz or more; isolated Python FastAPI control processes per drone
  • A Python LangChain commander agent orchestrates the fleet through the Model Context Protocol
  • A* pathfinding and a 3D conical field-of-view thermal simulation for locating heat signatures
  1. Drone process
  2. Telemetry hub
  3. Command centre
  4. Commander agent
zhikengan/vhack-rescue-alpha(opens in a new tab)

TAR UMTFinal Year ProjectJun 2024 – Jan 2025

DurianNet

AI-powered durian recognition across an Android client and an ASP.NET Core backend, with two detection modes and a RAG chatbot.

  • Kotlin Android client on MVVM with an ASP.NET Core 8 backend on SQL Server, structured controller-service-repository
  • Two detection modes: on-device YOLOv8 through TensorFlow Lite for Instant Detect, and a heavier server model for Focus Vision on low-end devices
  • Crowdsourced seller-location module with geolocation verified by the model, plus a LangChain RAG chatbot on a SQLite vector store and Ollama Llama 3.1
  1. Camera
  2. YOLOv8
  3. TensorFlow Lite
  4. Classification
zhikengan/DurianNet(opens in a new tab)

TAR UMTUniversity projectOct – Dec 2024

Parallel wavelet image denoising

Four wavelet shrinkage denoisers in C++, implemented sequentially, with OpenMP and on CUDA 12.6.

  • VisuShrink, BayesShrink, NeighShrink and ModiNeighShrink over OpenCV, shipped as a Visual Studio 2022 DLL with a test UI
  • Automated Jupyter evaluation pipeline that compiles and times the binaries across image sizes
  • Significant speed-ups over the sequential implementation

Test setup: three DWT levels, Gaussian noise sigma 100, 512x512. Speed-up figures are not published.

Architecture practice, in the open

Experiments and earlier work

  • FitnessKingLaravel 11 gym enrolment with a separate ASP.NET Web API mock payment gateway and a LlamaSharp chatbot.
  • OutModernA 2021 diploma static e-commerce site, later rebuilt on ASP.NET WebForms and MSSQL with an admin dashboard.outmodern-html-css-js.pages.dev(opens in a new tab)
  • Minesweeper and Hungry SnakeBrowser games in JavaScript, including a flood-fill reveal for Minesweeper.minesweeper-1sw.pages.dev(opens in a new tab)
  • OnlyClubHouse and Data_Structure_ImplA CLI facilities-booking system in C, and AVL-tree sets, stacks and lists implemented in Java.
  • Invisible fragile watermarkingNotebooks exploring LSB, DWT-SVD, DCT and DWT-DCT watermarking. Unfinished.

AI / LLM lab

Retrieval, vision, streaming backends and agents. Shipped work is marked as shipped; the rest is marked as exploring.

Retrieval-augmented assistants

Shipped
  1. Query
  2. Embed
  3. Retrieve
  4. Context
  5. LLM
  • DurianNet chatbot on LangChain for C#, a SQLite vector store and Ollama Llama 3.1
  • Assignment chatbot with LangChain RAG over a vector database
  • LlamaSharp chatbot in FitnessKing running llama2-7B-chat on CUDA

On-device and server vision

Shipped
  1. Camera
  2. YOLOv8
  3. TFLite
  4. Classification
  • YOLOv8 exported to TensorFlow Lite so detection runs on the phone
  • A heavier server-side model for accuracy when the device cannot carry it
  • One client, split between the mobile and server paths

Agentic engineering

Exploring
  1. Spec
  2. Agent
  3. Implement
  4. Test
  5. Review
  • RESCUE-ALPHA: a commander agent orchestrating a drone fleet through the Model Context Protocol
  • springboot-springai-chatbot: Spring AI tool calling with MCP servers over stdio and SSE
  • Spec-driven agent workflows across implement, test and review
zhikengan/springboot-springai-chatbot(opens in a new tab)

Also in the open

Currently exploring, not yet in production

  • Agentic software engineering workflows, from spec through agent, implement, test and review
  • Multi-agent systems and MCP connectors
  • AI-native SaaS products

Engineering journey

Diploma web and CLI coursework, then data structures, algorithms and image processing, then an AI mobile system, then distributed fintech, then marketplace technical leadership, and now AI-native systems.

  1. Jan 2026 – present

    Technical Lead, Spare-Parts Marketplace System

    Greenstem Business Software

    End-to-end technical design of a multi-vendor marketplace, from domain modelling to the storefront.

    Code review, mentoring and cross-team technical decisions.

  2. Sep 2025 – Dec 2025

    WorldFirst ERP integration

    Ant International

    Integrated an ERP and accounting system into the WorldFirst portal using OAuth 2.0.

  3. Sep 2025 – Dec 2025

    Training programme, MiniAlipay

    Ant International

    Built a distributed wallet with multi-currency balances, FX rates and a Try-Confirm-Cancel protocol.

    Awarded "Tech Savvy".

  4. Feb 2025 – Jul 2025

    Software Engineering Intern, Web Accounting System

    Greenstem Business Software

    React and DevExtreme frontend focused on rendering performance; ASP.NET Core Web API services using reflection for reusable components.

    Fixed frontend rendering bottlenecks and learned accounting-system workflows and business rules.

  5. Jun 2024 – Jan 2025

    Final Year Project, DurianNet

    TAR UMT

    Android and ASP.NET Core durian recognition with on-device and server-side detection.

    RAG chatbot on LangChain, a SQLite vector store and Ollama Llama 3.1.

  6. Oct 2024 – Dec 2024

    Wavelet image denoising with OpenMP and CUDA 12.6

    TAR UMT

    Sequential, OpenMP and CUDA implementations of four wavelet shrinkage denoisers.

  7. Jun 2024 – Sep 2024

    Chatbot integrations

    TAR UMT

    LlamaSharp and LangChain RAG chatbots built into two coursework assignments.

Education

  • Bachelor of Software Engineering (Honours)TAR UMT, Kuala Lumpur. First Class, CGPA 3.97.
  • Diploma in Computer ScienceTAR UMT, Kuala Lumpur. First Class, CGPA 3.9337.

Tools, by the job they do

Backend
  • C#
  • .NET 8–10
  • ASP.NET Core
  • MediatR
  • MassTransit
  • EF Core
  • Java 21
  • Spring Boot
Data and messaging
  • PostgreSQL
  • SQL Server
  • MySQL
  • Redis / FusionCache
  • Amazon SNS/SQS
  • RabbitMQ
Frontend
  • TypeScript
  • React 19
  • Next.js
  • Tailwind CSS
  • Zustand
  • TanStack Query
  • React Three Fiber
Mobile
  • Kotlin
  • Android (MVVM)
  • TensorFlow Lite
AI
  • LangChain / LangChain4j
  • Spring AI
  • Ollama
  • LlamaSharp
  • YOLOv8
  • RAG
  • Vector stores
  • MCP
Systems
  • C++
  • OpenMP
  • CUDA
  • Go (WebSocket hub)
  • Python (FastAPI)
Practices
  • CQRS
  • Vertical Slice
  • Modular monolith
  • DDD
  • Transactional outbox
  • TCC
  • OAuth 2.0 / JWT
Gan Zhi Ken seated by the sea, holding a pair of glasses
Kuala Lumpur, Malaysia

About

I lead the technical design of a multi-vendor marketplace in Kuala Lumpur, and I spend the rest of my curiosity on applied AI: retrieval, vision and agents that are useful inside real products.

Languages
Mandarin (native), English (working language), Malay (conversational)
Off the clock
Basketball with the Lee Rubber Basketball Association, and formerly with the TAR UMT team.

Open to conversations about systems, marketplaces and AI-native products.