// Featured projects

Systems, dashboards and client sites — shipped, not mocked up.

Each project below shows what I owned, how it was built and the part that was actually hard. Statuses are stated as they are today.

PROJECT 01 Live

UP HUB

A community platform for the UiTM student body combining a peer-to-peer marketplace, a community feed and an events module — with the SAF Tournament System built on top.

Category
Campus community platform
Role
Full-stack developer
Domain
uphub.my
AstroTurso / libSQLAuthenticationMarketplace functionalityTournament logic
How I built it

Context

Students needed one place to trade, follow campus activity and run events, including a full sports tournament.

What I owned

  • Architecture
  • Database
  • Backend logic
  • Interface
  • Deployment

What I built

  • Peer-to-peer marketplace, community feed and events module
  • SAF Tournament System with automatic bracket generation
  • Group-stage → single-elimination pipeline
  • Custom Sepaktakraw MODE B draw engine

Highlights

  • Bracket generation
  • MODE B draw engine
  • Marketplace + feed + events

Interesting challenge

Sport-specific seeding and pairing rules. The tournament logic is real application logic, not visual design — the draw engine has to follow the sport’s own rules.

PROJECT 02 In active development

GRN Golf

A hosted-game golf platform where players join a session and have their scores tracked through a structured game flow specification that I authored and refined.

Category
Golf platform
Role
Full-stack developer
Domain
grngolf.my
Astro 5Turso / libSQLDrizzle ORMBetter AuthRailwayNamecheap DNS
How I built it

Context

Group golf sessions need a clear, structured flow so scoring stays consistent from join to finish.

What I owned

  • Game flow specification
  • Schema design
  • Authentication
  • Deployment & DNS

What I built

  • Session-based hosted game flow with score tracking
  • Type-safe data layer with Drizzle ORM on Turso / libSQL
  • Accounts, sessions and authentication via Better Auth
  • Production deployment on a custom domain

Highlights

  • Authored game flow spec
  • Type-safe data layer
  • Custom domain via CNAME + TXT

Interesting challenge

Turning a game flow specification I wrote myself into a structured, type-safe application — and wiring up hosting, CNAME and TXT records on Namecheap for Railway.

PROJECT 03 Live

The Pipeline Problem

An interactive dashboard exploring the gap between education outcomes and employment, built to make a dense dataset readable at a glance.

Category
Data visualisation dashboard
Role
Designer & developer
Domain
thepipelineproblem.my
AstroReactRecharts
How I built it

Context

A dense dataset about education and employment that is hard to read as a table.

What I owned

  • Visual design
  • Data storytelling
  • Front-end build
  • Deployment

What I built

  • Interactive charts, each answering one specific question
  • Recharts inside React components
  • Astro for fast static delivery

Highlights

  • One question per chart
  • Statistical thinking
  • Static delivery, interactive islands

Interesting challenge

Information hierarchy: deciding what each visualisation should answer, rather than simply displaying every number.

PROJECT 04 Launch pending — awaiting client sign-off

Akmal Group

A multi-brand corporate website for a Melaka-based conglomerate covering Akmal Services Sdn Bhd and Global Dignity Sdn Bhd.

Category
Corporate website · Melaka
Role
Client project
Domain
akmalgroup.my
Corporate web developmentMulti-brand information architectureResponsive designClient delivery
How I built it

Context

Two distinct business identities have to sit under one corporate umbrella without confusing visitors.

What I owned

  • Content structure
  • Information architecture
  • Build
  • Deployment

What I built

  • Content structure
  • Information architecture
  • Website build
  • Responsive design
  • Deployment

Highlights

  • Two brands, one umbrella
  • Delivered end to end

Interesting challenge

Information architecture that keeps both brands clear while presenting one group.

No public link — awaiting client sign-off
PROJECT 05 Public site temporarily offline — under maintenance

KunciKu

I joined the team behind KunciKu, an early-stage Malaysian startup, during its early stages.

Category
Early-stage startup
Role
Team member
Domain
kunciku.com
AI-assisted developmentTask management
How I built it

Context

A young team that needed to move quickly and bring new people up to speed.

What I owned

  • Early-stage support
  • Task assignment
  • Onboarding

What I built

  • Helped build the KunciKu.com website using AI
  • Task management, and assigning tasks to other engineers
  • Established a foundation for vibe coding
  • Explained vibe coding to new employees

Highlights

  • AI-assisted build
  • Team coordination

Interesting challenge

Coordinating engineers and onboarding new hires onto an AI-assisted workflow.

No public link — site currently offline
// Work with me

Have a project in mind? Let’s talk.

Website, dashboard or full product — I’ll take it from the first conversation through to launch and maintenance.