JORDAIN / NG

CODE. IMAGE. SOUND.

Setting the scene.

Preparing your workspace…

A CREATIVE WORKSPACE BY JORDAIN NG

Code. Image. Sound.

Building worlds
worth entering.

A creative workspace by Jordain Ng.

Scroll into my workspace Creative technology / Portfolio
03 / SELECTED PROJECT 01GAME DEVELOPMENT

A theatre-platformer. Built from the engine up.

STAGEBOUND

Rotate the room.
Change the rules.
Find your way out.

COMPLETED TEAM PROJECT · 2025–2026Explore the project

THE EXPERIENCE

A different perspective.

STAGEBOUND / GAME TRAILER · 1080P
Play Level 2 Silent browser demo

Play the original Level 2 in your browser. Desktop keyboard required; audio is not yet included.

BEHIND THE BUILD

One world.
Many moving parts.

MY ROLE / TECHNICAL LEAD & ENGINE / GAMEPLAY PROGRAMMER

I built core engine systems and enemy AI for StageBound, a puzzle-platformer developed in our team’s custom C++ / OpenGL engine.

Try the result
01

Custom C++ / OpenGL engine

  • Built core systems in our team’s custom C++ engine, using OpenGL for rendering.
  • Implemented subsystem initialization, updates and shutdown, alongside frame timing and editor tools.
  • Developed world-rotation mechanics for the puzzle-platformer.
C++ / OpenGL / Owala Custom Engine
02

Enemy AI & gameplay

  • Developed enemy patrol, player detection, pursuit and attack behaviours.
  • Implemented pathfinding to support enemy navigation.
  • Connected enemy behaviour with the game’s gameplay systems.
Enemy AI / Pathfinding / Gameplay systems
03

Event architecture & audio

  • Built a publish–subscribe event system for communication between engine systems.
  • Used mutex protection for event subscribers.
  • Integrated FMOD for audio playback and management.
Publish–subscribe / Mutex protection / FMOD
04

Technical leadership

  • Served as Technical Lead in a nine-person team: six programmers, two designers and one UX designer.
  • Coordinated technical requirements and implementation across the team.
Technical direction / Team coordination
NEXT CHAPTER / BUSINESS AUTOMATION

SELECTED PROJECT 02 / BUSINESS AUTOMATION

Less repetition.
More possibility.

From transaction records to a clearer picture.
An Excel & VBA workflow, reimagined for the web.

Open the workbook ↗
SCROLL CLOSER · THE SCREEN IS INTERACTIVE ↓
01 / THE ORIGINAL

Excel + VBA

A company workbook for routing transactions into category sheets and consolidating a profit-and-loss view.

02 / THE EXTENSION

Built-in safeguards

Six working capabilities in this browser demo extend the original workflow—from checking imports to tracing monthly totals.

03 / THIS DEMO

Private by design

A JavaScript recreation with fictional records. No company data, no upload and no native VBA execution. Refreshing clears the session.

01 / FUNCTIONALITY
Duplicate-import detection

Checks date, description and amount against existing records and the current batch. Repeat matches are skipped and counted, preventing double-counting.

Current scope: exact matches; no duplicate-review queue.
02 / FUNCTIONALITY
Suggested categories

Editable keyword rules suggest a category from the transaction description. Approve the suggestions or choose a category manually; unmatched records stay unassigned.

Rule-based matching, not AI classification.
03 / FUNCTIONALITY
Safe recategorisation

Each transaction lives in one central ledger. Changing its category immediately updates the category sheets and summary without copying or duplicating the record.

Create new category sheets directly in the demo.
04 / FUNCTIONALITY
Validation & reconciliation

Rejects missing or invalid dates, descriptions and amounts. The summary shows source movement split into assigned and unassigned totals, with pending records clearly marked.

Allocation check only—not bank-statement reconciliation.
05 / FUNCTIONALITY
Change history & undo

Keeps a session activity log and lets you undo the last 20 changes, including categorisation, imports, rules and new sheets.

Basic history: timestamps and previous-category details are not recorded.
06 / FUNCTIONALITY
Monthly reporting

Filter by month to see income, expenses and net result. Click a category total to inspect its transactions for that period. Transfers stay outside profit.

Results remain provisional while transactions are unassigned.
NEXT CHAPTER / PHOTOGRAPHY + FILM ↓
04 / SELECTED PROJECT 03 — PHOTOGRAPHY & FILM

A DIFFERENT WAY OF SEEING

Still moments.
Moving stories.

Places, people, and the moments in between.
A collection of the world through my lens.

Step onto the workbench
STILLS / MOTION / PERSPECTIVESCROLL TO EXPLORE THE COLLECTION ↓
05 / WEB DEVELOPMENT

Back to
building things.