← All projectsCase study

ICT Helpdesk

Complaint, asset and store system for a public health office.

Role
UI/UX design · Full stack
Year
2026
Platform
Web app · Mobile-friendly
Stack
Laravel 13 · Inertia · Vue 3 · PrimeVue · Postgres
ICT Helpdesk cover

Overview

The problem

Clinics reported broken ICT equipment through an ageing in-house app that kept its data in flat files — there was no reliable history per asset, no view of overdue cases, and repair forms were filled by hand.

The idea

A rebuilt helpdesk where clinic staff log a fault in a minute, technicians work one shared queue, and every repair, asset and spare part is tracked to a printable form.

Built for a public health office. Shown anonymised — screens are recreated with sample data.

What I did

Design

  1. 01Short complaint form for clinic staff, with barcode / QR scan to pick the asset
  2. 02Ticket queue and dashboard for technicians, with overdue cases flagged after 14 days
  3. 03Role-based views: clinic users never see repair costs or quotations
  4. 04Malay-language UI that works on phones in the clinic

Engineering

  1. 01Laravel 13 + Inertia + Vue 3 / TypeScript, with three roles enforced on the server
  2. 02Seven-stage ticket workflow with a status log and activity log
  3. 03Asset register with QR labels, plus a store module using an append-only stock ledger and FIFO lots
  4. 04Idempotent importer that migrated the legacy app's users, assets and tickets, re-hashing old passwords

How it works

Screens

Logging a complaint with a QR scan
Logging a complaint with a QR scan
Complaint queue with ticket detail
Complaint queue with ticket detail
Spare-parts store: FIFO lots and ledger
Spare-parts store: FIFO lots and ledger

Under the hood

Vue 3 + PrimeVue

Inertia pages · Chart.js

Laravel 13

Roles · workflow · activity log

Documents

PDF repair forms · Excel export · QR labels

Postgres

Serverless, Singapore region

Vercel (PHP runtime)GitHub Actions CI on Postgres 17Legacy data import

3

Roles: clinic user, technician, admin

7

Ticket statuses from new to closed

14 days

Overdue threshold flagged on the queue

FIFO

Stock ledger for spare parts and supplies

Next project

Citizen Super-App →

Public-facility booking pilot for a citizen super-app · Prototype.