Lester Cheong

AI-augmented Software Engineer · Singapore

Summary

I'm a generalist: I work across the stack instead of deep in one area, and I use AI agents to cover the depth I don't have. Applied software — how things actually get built and used — interests me more than the computer science behind it. I care about the science too, and I've been going deeper as the years pass, but I'm not the math or CS-theory kind of person. I haven't formally attended university, but that doesn't lower the bar: what I build must be smooth and serve its users well. I enjoy experimenting, and my homelab has been my favorite pastime since 2024. I serve small businesses end to end; the same person who ships is the one on-call.

Experience

Freelance Software Engineer

Self-employed · Jan 2025 – Present

3 paying clients. Delivered a Telegram-based order management system (24-26 daily users, PostgreSQL, role-based access, CRON reports) with real-time SSE push notifications to sales dashboard and message queue throttling with coalescing to respect Telegram rate limits and acknowledge user messages during busy periods

Built a full event activation platform for a local marketing company (SvelteKit, Fastify, PostgreSQL, Redis, Replicate AI, Twilio) — consulted, delivered, maintained, and decommissioned. 9 interactive stations including Snake, claw machine, spot-the-difference, AI avatar passport kiosk, SMS authentication, QR check-in, and admin dashboard. Deployed live with on-site support throughout event duration. Optimized AI generation pipeline during the event via parallel model execution and streaming downloads — reduced generation time by ~67%.

Delivered static display sites (company landing page + restaurant PWA) alongside larger projects

Sole operator on all systems: CI/CD, monitoring, on-call, infrastructure

All production backends deployed on Railway (Fastify, PostgreSQL, zero-downtime deploys)

API Developer, Digital Channels & OpenBanking

OCBC Bank · Mar 2022 – Sep 2024

Started as IGNITE apprentice — built a Node.js CLI that parses Postman collections, auto-generates assertion tests, and displays results on a dashboard, adopted by QA team. Won Rookie of the Year.

Investigated and resolved integration issues for partners onboarded on Connect2OCBC API store

Managed change/management tickets, improving team productivity

Assisted with digital certificate renewals for UAT server, documented renewal practices and implemented database housekeeping in UAT environment

Created Swagger documentation and added APIs to sandbox portal via Wso2 carbon

Taught JavaScript to secondary school students via Code@OCBC

IoT Lock Technician

SG Bike · Nov 2019 – Oct 2021

Performed physical smart bike lock repairs and firmware upgrades, wrote troubleshooting documentation

Reverse-engineered competitor's smart lock debugging software via dnspy decompilation — bypassed access restrictions, handed over as a cost-effective internal tool

Projects

AI Coding Harness — Custom Configuration

2025 – Present · Personal

I maintain a personal configuration of an AI coding harness covering agents, routing, tooling, and documentation. I review every change, so the set stays small and deliberate. Recurring workflows are written as reusable instructions.

  • Maintain 30 agents across 7 categories, each with an explicit scope, output contract, and tone rules
  • Maintain the routing rules that match each task to the closest-fit agent: ties trigger one clarifying question, uncovered requests open a review for a new specialist, and work touching shared files goes to a coordinator instead of parallel edits
  • Maintain reusable skill modules for recurring, multi-step work — issue lifecycle, runtime discovery, platform onboarding — roughly 700 lines of step-by-step instructions that load only when the task matches
  • Maintain command entry points for repeated tasks: documentation lookup, diagram generation, and cross-repo alignment surveys
  • Keep project patterns as specs, so the scaffolding agents start from a known shape instead of a blank page
  • Keep tooling split by fit: MCP for external services that hold state, and a custom CLI for local and forge operations such as signed output and config management
  • Maintain a runtime registry and per-machine manifests, so the same setup runs on personal, office, and WSL machines
  • Run the harness daily in both personal and office work, not as a side experiment
  • TypeScript
  • MCP
  • Bun
  • Git

Sales Consolidator: Order Pipeline

2025 – Present · Deployed at live events

Replaced manual spreadsheet workflow with a structured order pipeline. Salespersons submit orders via Telegram. PostgreSQL source of truth. Role-based admin flows, CRON-triggered daily summaries.

  • Zero data loss since launch
  • AI product catalog intake: upload transcripts, DeepSeek AI structures them into product rows
  • Custom ESLint rules enforce bot command consistency across all commands
  • TypeScript
  • grammY
  • Fastify
  • PostgreSQL
  • LangChain
  • DeepSeek
  • Railway

Valentino Houseparty: AI Avatar & Interactive Arcade

2025 – Present · Deployed at live events

4-station beauty brand event activation. AI pixel art avatar (Replicate flux-kontext-pro), Snake game, video stations, prize claim system. Built as SvelteKit 5 SPA with Fastify 5 API.

  • Deployed at live event. Client was happy, event ran live
  • QR-code navigation and prize-claim system across 4 stations
  • Prisma + PostgreSQL with a Redis session cache, deployed on Railway
  • Retro Windows 98 UI with 98.css and a pink 90s palette
  • SvelteKit
  • Svelte 5
  • TypeScript
  • Fastify
  • Bun
  • Prisma
  • PostgreSQL
  • Redis
  • Replicate AI
  • QR Code
  • Railway

Themelios: AI Accounts Receivables Platform

Jul 2024 – Jan 2025 · Attempted startup (scrapped)

AI-powered platform for invoice management, collections, and payment reconciliation. Temporal.io for durable workflow orchestration, Mastra AI agents, Xero/Stripe integrations. Startup attempt that failed — scrapped after partner fallout.

  • Monorepo: React 19 + Redux Saga frontend, Fastify + Prisma + PostgreSQL backend, dedicated Temporal worker service
  • Over-engineered for the problem and never shipped. A lesson in scoping
  • Startup discontinued after co-founder fallout
  • Built CI/CD pipeline with change-detection and self-hosted runners — environment-aware Prisma migrations with production safety guards, auto-healing GitHub issue tracking on failure. Deployed 6-service Railway stack (PostgreSQL, self-hosted Temporal, API, Workers, Frontend, Jump Server) with private networking and service-to-service communication.
  • Fastify
  • Prisma
  • PostgreSQL
  • React 19
  • Temporal.io
  • Mastra AI
  • Xero
  • Stripe
  • oRPC
  • Azure AD
  • Railway

Technical Competencies

Languages & Frameworks

  • TypeScript
  • JavaScript
  • React
  • SvelteKit
  • Svelte 5
  • Python

Backend & Infrastructure

  • Fastify
  • Prisma
  • PostgreSQL
  • grammY
  • Railway
  • Linux
  • Docker
  • Bun
  • CI/CD
  • Temporal.io
  • Cloudflare
  • Portainer
  • Redis
  • Homelab & Networking

Integrations & APIs

  • Stripe
  • Xero API
  • Azure AD
  • Zod
  • oRPC

Frontend & Tooling

  • Astro
  • Vite
  • Tailwind CSS
  • ESLint (custom rules)

AI & Emerging

  • MCP Servers
  • Mastra AI
  • Replicate AI
  • DeepSeek
  • Agent Orchestration
  • OpenCode
  • OpenChamber
  • LangGraph
  • RAG Applications
  • LangChain
  • Telegram Bot API

Education

Ngee Ann Polytechnic

Higher National Diploma, Information Technology · Apr 2020 – Apr 2023

Institute of Technical Education

Nitec, Web Applications · Jan 2018 – Dec 2019

Notes & Extras

Infrastructure & Homelab

This is my home cloud — a few machines at home running my own services. Arcane, an open-source Docker manager, orchestrates everything, with a git repo as the source of truth: tracked projects deploy via git-sync. LLM agents fill defined roles — infrastructure, deployment, security — that I engage directly: they propose, I review and approve, then they apply. A Caddy reverse proxy is the single door. Custom-built apps, services, and experiments deploy here, each in its own isolated Docker network behind Caddy; public services open no inbound ports, and admin surfaces stay LAN-only. Game servers (Mindustry, Minecraft), a Postgres sandbox, and simple WordPress sites for friends who need a website also run on it. I maintain router and network devices manually, and a self-hosted VPN provides secure access to the LAN. Linux administration, Cloudflare DNS as supplementary edge. Railway handles cloud-hosted client work.

Events

SuperAI Next 2025: full-stack TypeScript submission, 24-hour build. AngelHack 2024: placed 29th of 200 teams (top 15%).

Contact

Resume