Portfolio — 2026 Open to internships

Leng Son Meng/ 01

Year 1 Computer Science at Western University. I build full-stack systems that meet real money, real servers and real people — from ABA payment rails to a local Khmer dubbing studio.

03Public repos
03Live products
01Year of CS
KHPhnom Penh
Scroll
01 / Work

Selected
work

Five builds that shipped, broke, got fixed and stayed up. Live links where they exist — everything else is labelled honestly.

01 2026 Product / Live
Live Commercial Engine

Fintech — Payments

Ahnajak Pay

A real-money ABA PayWay checkout: KHQR generation, HMAC-signed sessions, subscription billing and webhook delivery on Cloudflare Workers + D1. Built to fail closed — server-confirmed payments only.

  • Cloudflare Workers
  • D1
  • ABA PayWay
  • Vanilla JS
View live / aba.ahnajak.cyou
02 2026 Platform / Live
Live Commercial Engine

Platform — Game hosting

KesorCloud

A game-hosting storefront and Pterodactyl panel: KHQR product checkout, automatic stock across SG nodes, an AI support agent that answers tickets, and Telegram billing. Real servers, real invoices.

  • Paymenter
  • Laravel
  • Pterodactyl
  • MySQL
View live / kesorcloud.cam
03 2026 AI / Live
Live AI Infrastructure

AI Systems — Autonomous Infrastructure

AxolotCraft

An autonomous AI Minecraft game server operator & telemetry engine. Monitors real-time CPU/RAM metrics, executes Pterodactyl daemon diagnostics, auto-restarts unresponsive nodes, and serves natural language command execution via Cloudflare Workers + D1 + OmniRoute AI. Self-healing server ops.

  • Cloudflare Workers
  • D1
  • Pterodactyl
  • OmniRoute AI
View live / axc.ahnajak.tech
04 2026 Local / Private

AI — Media tooling

Arach

A local Khmer dubbing studio. Splits dialogue from music, transcribes with faster-whisper, diarises speakers, translates, re-voices each character and fits every line back into its original timing slot.

  • Python
  • faster-whisper
  • sherpa-onnx
  • Edge TTS
Local tool / no public build
05 2026 Commerce / Pre-launch

Commerce — Game top-up

JennStore

A game top-up storefront for Cambodia: catalogue, cart and KHQR checkout, with orders fulfilled automatically through G2Bulk. React front end, Express API, MySQL. Built end to end — jennstore.cyou goes live once the domain is pointed.

  • React
  • TypeScript
  • Express
  • MySQL
  • KHQR
Pre-launch / jennstore.cyou
06 2026 Index / Live

Open source — Public repos

The workbench

The public workbench: experiments, small tools and whatever I'm learning in public. Pulled live from the GitHub API when this page loads — no screenshot, no invented contribution graph.

  • Free-Open-Source-GAME-TOPUP
  • gametopup
  • Tipalets
  • morodok
Open profile / @lengsonmeng-blazer
02 / Coursework

The syllabus

Year 1 at Western University, Main Campus. Foundations first: programming, data structures, algorithms, calculus and discrete math.

  1. CS101

    Programming Fundamentals

    • Control flow
    • Functions
    • Recursion
    • File I/O
    Core
  2. CS102

    Data Structures

    • Arrays
    • Linked lists
    • Stacks / queues
    • Trees
    • Hash maps
    Core
  3. CS103

    Algorithms

    • Sorting
    • Searching
    • Complexity
    • Graph traversal
    Core
  4. MATH101

    Calculus I

    • Limits
    • Derivatives
    • Integration
    • Series
    Core
  5. MATH102

    Discrete Mathematics

    • Logic
    • Sets & proofs
    • Combinatorics
    • Graph theory
    Core
  6. ENG101

    Technical Communication

    • Technical writing
    • Documentation
    • Presentations
    Core

Self-directed lab log

Built outside the syllabus / 04
Lab 01

Rebuild the primitive instead of importing it — memory, growth and wraparound.

Dynamic array + ring buffer

C / memory
Lab 02

Measure, don't guess. Time five sorts against real input sizes and plot the curve.

Sorting benchmark

Python / Big-O
Lab 03

Normalise to 3NF, then write the exact queries the UI needs. No ORM escape hatch.

SQL schema — small shop

SQL / design
Lab 04

BFS and DFS on a canvas grid with step controls, so the frontier is visible.

Graph traversal visualiser

TypeScript / canvas
03 / GitHub

Public
by default

Repository data is pulled live from the GitHub API when the page loads. If the API is rate-limited, the last known public list stays visible.

lsm@phnom-penh — zsh
$ whoami
leng son meng
$ cat profile.json
{
"role": "cs student / builder",
"base": "phnom penh, kh",
"stack": ["ts", "dart", "rust", "python"],
"status": "shipping"
}
$ gh repo list lengsonmeng-blazer
# Public repositories (featured OSS)
Public repos
01
Primary language
TypeScript
Joined
2026
Status
Building
04 / About

The operator

The short version: I learn by shipping, then reading the docs I should have read first.

LSM-01 // INFRASTRUCTURE LIVE
11.5564° N / 104.9282° E • PHNOM PENH
aba.ahnajak.cyou ABA PAYWAY KHQR • WORKER + D1
21ms
gp.kesorcloud.cam PTERODACTYL SG-1 • MULTI-NODE
18ms
axc.ahnajak.tech AXOLOTCRAFT • AUTONOMOUS AI OPS
32ms
apiai.ahnajak.cyou OMNIRoute • 4-MODEL GATEWAY
26ms
arach.ahnajak.cyou ARACH STUDIO • KHMER AI DUBBING
38ms
TRAFFICNOMINAL
PORTS443/80 SECURE
UPTIME99.98%
Fig. 02 — Live Infrastructure Radar Phnom Penh, KH

I'd rather ship something small that works than describe something large that doesn't.

I'm Leng Son Meng, a first-year Computer Science student at Western University in Phnom Penh. Most of what I know came from building things that had to survive contact with real users: a payment platform that settles real ABA transactions, a game-hosting business with real servers, and a local dubbing pipeline that turns any video into Khmer speech.

I care about the unglamorous parts — signature checks, idempotent activation, honest error states, and the difference between “it renders” and “it works”. Right now I'm looking for an internship where I can learn from people who have shipped more than I have.

01

Verify with a real run

A config isn't done until the program that reads it has run.

02

Root cause first

Read the logs, find the call site, then change one thing.

03

Money paths fail closed

Server-side confirmation. Never trust a client-supplied amount.

04

Write it down

If it isn't documented, it didn't happen — future me agrees.

Toolkit / what I reach for

Languages
TypeScript JavaScript Dart Python Rust SQL
Frontend
React Vite Three.js Flutter CSS
Backend
Node.js Cloudflare Workers Laravel / PHP FastAPI
Data & infra
PostgreSQL D1 Redis Linux Docker Pterodactyl