Portfolio

Portfolio of Selected Projects

Six years of client work across four countries: a merchant-mariner study platform in the US, an inventory system and LED lighting calculator for Malaysian manufacturers, a payroll and time-tracking platform used by companies across Malaysia, and a large-scale floral e-commerce platform in the US. The projects below span greenfield builds, legacy modernizations, and long-running maintenance — covering Laravel, CodeIgniter, MySQL schema design, Eloquent ORM, and RESTful API integration.

Projects
Confidential Client · USA

US-Based Floral E-Commerce Platform

Confidential

Modernized and maintained a large-scale online floral delivery platform on PHP 7/8 — upgrading legacy Laravel and CodeIgniter codebases, improving performance, and resolving production issues. Maintained a consistent 5-star rating across the engagement.

PHP 7/8LaravelCodeIgniterGit
Client details are confidential and cannot be shared.
US Coast Guard Questions screenshot
Freelance

US Coast Guard Questions

Study platform for merchant mariners preparing for US Coast Guard licensing exams. Features practice exams, searchable question banks, and community forums.

The situation

The site owner moved hosting providers, and the new environment ran PHP 7.2 and MySQL 8 — a significant jump from the original PHP 5 and MySQL 5 stack the codebase was written for. The site was broken on arrival: deprecated PHP functions, queries rejected by MySQL 8's stricter SQL mode, and a persistent max-connection issue that was silently killing the platform's reliability.

PHP and MySQL compatibility

I audited the entire codebase and replaced all PHP 5-era deprecated constructs — ereg functions, mysql_* extension calls, pass-by-reference misuses — with their PHP 7 equivalents. On the database side, MySQL 8 enforces strict mode by default, meaning inserts and updates that MySQL 5 had silently accepted (missing NOT NULL fields, unquoted reserved words, zero-date values) now failed outright. I identified every failing form, added the missing columns with appropriate defaults, rewrote the non-compliant queries, and verified that all insert and update paths worked end-to-end.

Fixing the max-connection crisis

The most critical issue was that the site regularly hit MySQL's max connection limit — queries were locking up and running for hours, stacking until the server became unresponsive. The root cause was a complete absence of indexes on heavily-queried tables. I profiled the slow query log, identified the tables and columns being scanned in full on every page load, and added the missing indexes. Query times that were measured in minutes dropped to milliseconds, and the max-connection problem was eliminated.

Outcome

The platform went from intermittently broken and periodically unreachable to stable on the new hosting environment. All existing functionality was preserved through the migration with no data loss.

PHP 7MySQL 8Legacy MigrationQuery Optimisation
Visit Project
Kaolin Inventory Management screenshot
Invocore Inc · Malaysia

Kaolin Inventory Management

Internal inventory management system for Kaolin. Designed and maintained MySQL schemas and built Eloquent-powered CRUD with SQL-injection protection.

The problem

A Malaysian industrial minerals company needed to bring order to warehouse operations spread across multiple production facilities. Heavy-format bags of various material grades were stored in physical rows and columns, but there was no reliable system for knowing what was where, how much stock remained, or who had moved what.

What I built

I designed and built a full-stack warehouse inventory system from the ground up. Each warehouse is modelled as a configurable floor plan — divided into named sections with a defined number of rows. Every physical slot is a tracked location tied to a QR-coded batch. Workers scan QR codes through a web interface to record stock movements in real time, with no dedicated hardware required. The system generates the QR codes and manages the complete batch lifecycle from arrival to dispatch.

Key features

A Floor Plan Availability view gives supervisors a live colour-coded grid — Available, Booked, or Occupied — showing which slots are free, what material is stored, and the current volume per column. A Real-Time Stock Summary aggregates balance, replenishment need, and maximum capacity by material grade and packaging type across all facilities. An Audit Trail logs every movement with worker identity, direction, location, and timestamp — giving management a verifiable chain of custody across thousands of recorded operations.

Technical approach

Built on Laravel with Eloquent ORM. The MySQL schema separates floor plan configuration from batch movement records, keeping queries fast as transaction volume grows. Warehouse sections, row counts, and production lines are all configurable through an admin panel — no code changes needed when the client expands or reorganises storage. A CI/CD pipeline ensures that merges to the master branch deploy automatically, eliminating manual release steps.

LaravelPHPMySQLEloquentQR CodesCI/CD
Visit Project
ELR Illuminator Calculator screenshot
Invocore Inc · Malaysia

ELR Illuminator Calculator

Web application for ELR Group — a premium architectural LED lighting manufacturer — enabling customers to configure and calculate lighting solutions.

The problem

A premium architectural LED lighting manufacturer needed a customer-facing tool that could translate a space brief into a concrete lighting specification. Customers — typically architects, interior designers, and facilities managers — needed precise output, not a product catalogue, before they could commit to a fixture selection.

What I built

I built a web-based lighting configuration and calculation tool that walks customers through a structured selection process: choose a fixture type, set the target lumen output, specify the colour temperature (CCT in Kelvin — from warm 2700 K through neutral 4000 K to daylight 6500 K), select the CRI (Colour Rendering Index) requirement, and enter room dimensions and mounting height. The calculator then produces a complete lighting solution — recommended number of fixtures, illuminance level in lux, beam angle and light distribution pattern, and power consumption — giving the customer a document they can take directly to an ELR sales consultation.

Technical approach

The fixture library and its associated performance parameters (lumen packages, CCT options, CRI grades, beam angles) are stored in MySQL and managed through an admin panel, so ELR's team can add new products or update specifications without code changes. The calculation logic runs server-side in Laravel — keeping the formulas consistent and auditable — with a JavaScript front-end that updates the output in real time as customers adjust parameters.

Outcome

The tool gave ELR a customer-facing product that shortened the pre-sales conversation: customers arrived at consultations with a calculated spec sheet rather than a vague brief, improving conversion and reducing back-and-forth on fixture selection.

PHPLaravelMySQLJavaScript
Visit Project
invoTIME screenshot
Invocore Inc · Malaysia

invoTIME

Time tracking and payroll management platform used by Malaysian companies. Built core time-calculation features and scalable employee management modules.

Starting point

At the start of the engagement invoTIME handled basic attendance and overtime tracking — and not much else. The platform had real potential but lacked the depth enterprise clients needed to move payroll and HR workflows onto it.

Merit System

The highest-impact feature I delivered was a configurable Merit System for employee performance management. Companies could define offences, assign deduction weights, and have the system automatically calculate each employee's merit score over a period. The logic was complex — scores had to account for rolling windows, partial-month proration, and admin overrides — and required careful schema design to stay performant as client rosters grew. The feature launched successfully and drove a measurable wave of new company subscriptions.

System-wide audit logging

I designed and built a structured audit-log layer that recorded every meaningful state change across the platform — shift reassignments, schedule edits, payroll adjustments — with human-readable messages rendered in the UI (e.g. "Employee X changed shift from Morning to Night for 14 Jun at 10:32 AM"). This gave HR managers a clear, timestamped trail without digging through raw database records.

Infrastructure and deployment

I took ownership of the AWS environment: managing the S3 bucket (document and report storage), EC2 instance configuration, and deployment pipeline. I implemented a CI/CD workflow so that merges to the master branch triggered automatic deploys, eliminating manual FTP pushes and reducing deployment risk.

CodeIgniterPHPMySQLREST APIAWSCI/CD
Visit Project