Full-Stack Engineer — Phnom Penh, Cambodia

Lythean
Sem

They call me Zen. I build calm, dependable software for real businesses — retail systems, SaaS platforms, and encrypted tools, from Phnom Penh.

click to stir the wind

Selected Works

eight systems in the wild

drag · hover
01Retail Suite — In Production

VinMart

The software that runs a real supermarket, every day.

The retail suite behind VinMart, a supermarket in Phnom Penh — point of sale, barcode inventory, purchasing, and reporting. When the original team moved on, I became its sole engineer: keeping the live system shipping daily, and building its complete next-generation replacement from the ground up in parallel.

  • Sole engineer for a live multi-branch POS
  • Offline-first rebuild — a sale is never silently dropped
  • Khmer-first bilingual, down to thermal-printer receipts
  • Legacy data migration reconciled to the cent
LaravelReactNext.jsSupabaseDrizzle ORMPostgreSQL

Private system — running daily at VinMart, Phnom Penh

drag · hover
02Client Platform — Live Events

EmotionWork

A concert company's stage, rebuilt in the browser.

A production platform for Visual Emotionwork, a concert and event production company in Cambodia running since 2013. Customers browse the real equipment catalog, design their own stage in an interactive 3D editor, and book consultations that auto-create Zoom meetings, send confirmations, and log to the company's operations sheets. Built with a three-person university team — and still live on the client's domain today.

  • In-browser 3D stage designer — drag-and-drop equipment, templates, PNG/PDF export
  • Bookings wire together the Zoom API, email confirmations, and Google Sheets
  • Type-safe tRPC API over MongoDB Atlas with role-based access control
  • 144 commits through 41 pull requests over six months
Next.js 15tRPCMongoDBThree.js / R3FNextAuthCloudinaryZoom API
drag · hover
03SaaS — Social Publishing

Ripple

Write once. Publish everywhere.

A social-media management platform where one post fans out to Facebook, Instagram, TikTok, YouTube, and Telegram — across multiple accounts per platform. Built as a multi-tenant SaaS with scheduled publishing and a composer that previews each network's constraints before you hit send.

  • One composer, five platforms, many accounts
  • Cross-platform publishing via the Zernio API
  • Multi-account workspaces with role-based access
Next.js 16React 19PrismaPostgreSQLNextAuth v5Tailwind v4
drag · hover
04Security — Government-Grade

Encrypted Images

Photos that only the right eyes can open.

An end-to-end encrypted photo-sharing platform built for government personnel. Every image is encrypted in the browser with AES-256-GCM before it ever leaves the device — the server only stores ciphertext. Decryption requires an exact 25-character code shared out-of-band, with a strict three-tier role model on top.

  • Client-side AES-256-GCM — zero-knowledge server
  • scrypt key derivation, @noble cryptography
  • Role hierarchy: owner, admin, employee
  • English + Khmer, deployed on Vercel
Next.js 15Supabase@noble/ciphersEdge FunctionsZodnext-intl
drag · hover
05PWA — Micro-Commerce

KH-Track

Faster than a notebook.

A multi-tenant sales and inventory PWA for Cambodian micro-entrepreneurs — street vendors, market stalls, TikTok live sellers. Mobile-first and deliberately minimal: recording a sale has to be quicker than scribbling it in the paper notebook it replaces. Each business is isolated with row-level security.

  • Multi-tenant isolation via Postgres RLS
  • Installable PWA, mobile-first flows
  • Three roles with a built-in kill switch
Next.js 16React 19SupabaseTailwind v4PWA
drag · hover
06POS — Nightlife

Drift

A point of sale that keeps up after midnight.

A point-of-sale system designed for the pace of a nightclub — bottle service, table management, and split bills handled at speed, in the dark, on touch screens. Built as a fast Vite + React app with an interface tuned for low light and high volume.

  • Touch-first ordering and table flow
  • Dark, high-contrast UI for low-light venues
  • Component system on shadcn/ui + Radix
ReactViteTypeScriptshadcn/uiTanStack Query
drag · hover
07Hospitality — Client Work

Eleven One Kitchen

A healthy kitchen's home on the web.

A mobile-first website for Eleven One Kitchen, a fresh-and-healthy Cambodian restaurant in Phnom Penh serving since 2014. Menu browsing built for phones first, QR codes that drop guests straight onto the right table's menu, and a visual language that matches the restaurant's fresh identity.

  • QR-code table menus
  • Mobile-first menu and ordering flows
  • Khmer + English typography system
Next.js 16Tailwind v4TypeScriptqrcode.react
drag · hover
08Game — Computer Vision

LaneDash

Played with your body, not a controller.

A motion-controlled 3D endless runner, built as my senior capstone with a three-person team. Your webcam is the controller: OpenCV and MediaPipe track your body — jump, crouch, lean to switch lanes — and stream every move to the Unity game over UDP in real time. A MET-based calorie system turns the run into a workout, personalized to your height and weight.

  • Python pose detection driving Unity gameplay over UDP — no sensors, no headset
  • Jump, crouch, and lean detection with live calibration overlays
  • MET-based calorie tracking personalized per player
  • 97% of user-testing players said they'd play again
UnityC#PythonOpenCVMediaPipeUDP

The Way

about me

I'm Lythean Sem — friends call me Zen — a full-stack engineer from Phnom Penh, Cambodia.

I learned to build software the honest way: by shipping systems that real people depend on every day — retail counters that can't stop mid-sale, platforms handling sensitive data, tools used by teams who don't care what framework it is, only that it works. If it breaks, someone's day breaks with it. So it doesn't break.

That responsibility shaped how I work. I care about software that stays calm: offline-first when the network wobbles, bilingual when the team is, encrypted when the stakes demand it, and fast everywhere — because in the real world, nobody waits for a spinner.

— Zen

I

Sincerity

Honest code. Readable, boring where it should be, and truthful about what it does — no clever tricks that lie to the next engineer.

II

Tempering

Software is folded steel. I ship early, listen hard, and refine relentlessly — every real system I run has been beaten into shape by daily use.

III

Stillness

Calm systems, calm engineer. Predictable deploys, defensive defaults, and software that keeps working quietly when the network doesn't.

Frontend

  • React 19
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Three.js / R3F
  • shadcn/ui

Backend

  • Node.js
  • PostgreSQL
  • Supabase
  • Prisma / Drizzle
  • tRPC
  • MongoDB

Craft

  • Offline-first PWAs
  • Client-side crypto
  • i18n (EN/KH)
  • Unity + OpenCV
  • Vercel
  • CI/CD

Let's Talk

the ties that bind

Have a product to build, a system to steady, or an idea that needs a calm pair of hands? My inbox is open.

hi@lytheansem.com
GitHub ↗Phnom Penh, Cambodia