Welcome!

I am Morgan, an independent programmer with experience in logistics automation, web development, and game development.
Contact me at [email protected].

BI / ERP System

ERP Desktop ERP Mobile

I built an ERP system for a food logistics company in Hong Kong. Initially a simple order entry tool, it has since grown to include inventory management, sales history, and reporting capabilities.

Since deployment, salespeople have been able to submit orders without calling the office. With real-time access to product information, inventory, and sales history, they no longer have to cross-reference product codes against huge paper catalogues.

Support staff no longer manually enter orders or generate routine reports by hand. They can also create professional-looking product brochures in seconds for sending to clients. Management estimates these features save support staff 3-4 hours of work per day.

Management now has access to performance metrics to inform decisions. Reports that previously took hours of manual compilation can now be generated in seconds.

The system integrates with a legacy off-the-shelf platform that has accrued significant technical debt. I had to reverse-engineer the platform's legacy database structure, with hundreds of tables and columns likely machine-generated by an ORM.

I continue to add new features to the platform and have collaborated with the company on other projects.

Client Portfolio System

I built a client portfolio system for a financial services company in Hong Kong. The system allows account executives and sales assistants to track client information, stock, fund, and bond holdings.

The system is still in early development and many more features are planned.

Outlook Add-in

Outlook Add-in

I developed an Outlook add-in for a compliance company in Hong Kong. It includes a template system that supports rich-text, images, and automatic time zone conversion features.

I was contracted to develop this add-in as a replacement for a legacy system that was built with VBA, which is being deprecated by Microsoft.

I continue to maintain and add new features to the system.

Marketing / Landing Pages

Marketing

I build and maintain a number of marketing websites, including one for a food logistics company in Hong Kong. The original WordPress site was slow and locked into an overpriced hosting plan. I halved load times by rebuilding it in SvelteKit, added localization (five languages), and responsive layouts across screen sizes.

Technical Consultancy

I provided freelance services for a custom software development company in Hong Kong, where I helped evaluate and implement technologies for their projects:

  • Data analysis and machine learning using Apache Spark.
  • Observability using OpenTelemetry and Grafana.
  • Authentication solutions.
  • Headless CMS solutions.
  • Integration with multiple LLM providers.
  • Integration with multiple programmatic web search providers.
  • Integration with SharePoint.
  • Integration with e-learning platforms via SCORM.

CI/CD Pipeline

I helped a family office in Hong Kong design a CI/CD pipeline for deploying their internal tools to Azure. It uses IaC to automatically provision databases, key vaults, app service instances, and virtual private networks for security hardening.

Legacy Systems

I was subcontracted by an IT firm in Hong Kong to maintain a legacy data scraping system with significant technical debt. I consolidated scripts from 40+ production servers into a single version-controlled codebase, implemented an automated deployment pipeline and monitoring system, as well as modernized the architecture to enable static analysis and replication in a local development environment.

Contributions to Open Source Projects

I implemented ResizeObserver bindings to Svelte after encountering limitations with the legacy iframe workaround.

LLM Client

LLM Client

I built an LLM client that integrates with several model providers, capable of handling text, image, audio, and video. It supports web search, branching conversations, and assistant prefill.

EMCL Compiler

A compiler that converts my own programming language (EMCL) into Minecraft functions, a verbose, low-level target with some similarities to assembly.

The compiler features a lexical analyser, syntax analyser, semantic analyser, optimizer, and code generator, all built from scratch without any external libraries or generators.

It also includes a companion VS Code extension for syntax highlighting and code snippets.

Here are some projects I built using this tool:

3D Grapher in Minecraft
A working animated 3D Grapher in Minecraft
Fluid Physics in Minecraft
A fluid physics simulation in Minecraft
Game of Life in Minecraft
Conway's Game of Life in Minecraft
Snake game in Minecraft
The classic Snake game in Minecraft

Heledron.com

Heledron.com is my personal website, where I host a variety of personal projects.

A few notable examples:

6D Mandelbrot Explorer

6D Mandelbrot Explorer

A tool for exploring the Mandelbrot in 6 dimensions, inspired by this YouTube video by 2swap.

Buddhabrot Set Explorer

Buddhabrot Explorer

A tool for exploring the Buddhabrot that uses WebGPU to calculate thousands of orbits in parallel.

Text Display Mesher

Text Display Mesher

A tool for rendering obj and glTF 3D models in Vanilla Minecraft using text displays.

Ascii 3D

Ascii 3D

A 3D rendering pipeline that outputs ASCII characters instead of pixels. This was featured on BxJS Weekly.

Minecraft Modding

I worked on a few Minecraft programming projects with companion YouTube tutorials.

Procedurally Animated Robots in Minecraft
Procedurally Animated Robots in Minecraft
3D Meshes with Text Displays in Minecraft
3D Meshes with Text Displays in Minecraft
3D Renderer in Minecraft
A working animated 3D Rendering Pipeline in Minecraft
6 Dimensional Mandelbrot in Minecraft
6 Dimensional Mandelbrot in Minecraft

I also worked with the design studio Varuna. I was the sole programmer for The Alfie Templeman Minecraft Festival and Nijisanji Prism Cup 2023.

ECS Game Engine

ECS Physics Engine ECS IK System

A work-in-progress ECS game engine inspired by Bevy. It currently features a 2D physics engine, a tilemap system, a rudimentary 3D renderer, and an IK system.

Legacy Game Engine

Legacy Game Engine Legacy Game Engine

A 2D game engine I built when I was a beginner, which I used to make a few games. It was abandoned in favour of the ECS engine.

ICECube (Code Editor)

ICECube IDE

This was my first major project, a code editor for both web and desktop.

It featured a code editor with syntax highlighting, a JSON editor capable of editing complex nested JSON objects defined by schemas, and multiple graphical editors, all built from scratch.

It was abandoned due to a lack of users, and my improved standards for code quality and UX.