Switch
Slider
Code
PinInput
Rate
Rating
Sparkline
SegmentedControl
Checkbox
Storage
Meter
Toggle
Avatar

Hilman Haikal

System Developer in Kuala Lumpur. Every part around my name is one of the 138 components I built, and each one works. Try them.

Upload
ProgressBar
NumberInput
Live
Badge
Tag
Button

Booking flows, invoices, payments, and the rules that decide who sees what. People only notice these parts when they break, so I make sure they do not.

Most of what I touch is money or personal data, so I care more about getting it right than being clever about it.

Kuala Lumpur, Malaysia3.14° N, 101.69° E--:-- GMT+8

Where I build from ·

Selected work

5 projects · 2026

  • Hikayat: Event album app

    Hikayat

    Event album app · 2026 · Built it myself

    A host wants every guest's photos and wishes in one place, without asking guests to install an app.

    One album guests fill from the browser, sent to the phone of everyone who came.

    Visit Hikayat (opens in a new tab)
  • hlmnhkl/ui: React component library

    hlmnhkl/ui

    React component library · 2026 · Built it myself

    I wanted components that are mine to change, in every project after this one.

    138 React components. One command copies one into a project, and this site runs on them.

    Visit hlmnhkl/ui (opens in a new tab)
  • by.haibllee: Craft workshop site

    by.haibllee

    Craft workshop site · 2026 · Built it myself

    A small workshop needs people to find the next class and book a seat.

    Booking for visitors, and one dashboard for the team's classes, payments and customers.

    Visit by.haibllee (opens in a new tab)
  • Studio & Concept: Concept landing page

    Studio & Concept

    Concept landing page · 2026 · Design and build

    How far can a marketing site go with big type and a hero that carries the work?

    A landing page for an invented studio, with a projects carousel and sample content.

    Visit Studio & Concept (opens in a new tab)
  • RenovateMY: Personal project

    RenovateMY

    Personal project · 2026 · Design and build

    A contractor needs visitors to understand the job and ask for a quote.

    A landing page with what they do, how it works, and a quote request.

    Visit RenovateMY (opens in a new tab)

What I build

The kinds of systems I work on. Each one below points at something I have shipped.

  • A product from an idea

    Taking an idea the whole way on my own: design, build, deploy, and the fixes after launch.

    by.haibllee and hlmnhkl/ui, both designed, built and shipped on my own.

  • Booking and payment flows

    Taking money online without losing track of it. Invoices, deposits, refunds, and the awkward parts: someone closing the tab mid-payment, or paying twice.

  • Portals and dashboards behind a login

    A place people sign in to see their own things, and only their own things. Access rules enforced in the data layer, so they hold even if the interface has a bug.

    An election data dashboard I built for myself, with its own encrypted data layer.

  • Sites that stay fast

    Marketing sites and landing pages built to load quickly and be found, without a pile of JavaScript getting in the way.

    This home page, every screenshot and the whole map included, is under 450 KB on a computer. Less than one phone photo.

  • Fixing something that already exists

    Often the useful job is not a rebuild. A slow page, a broken checkout, a bug nobody can reproduce. Much of my work is in code I did not write.

    Most of my writing is exactly this: what broke, why, and what I changed.

Writing

What broke in production, why, and what I changed.

About

I build the systems people only notice when they break, so I make sure they do not.

Hilman Haikal in a grid-print shirt, looking down, against a dark backdrop.

How I work

When something breaks in production, I do not add a workaround. I find the real cause, fix it there, and write up what happened so the next person does not lose a day to it.

If the only thing keeping sensitive data out of a response is the app remembering to ask for the safe fields, then one bug leaks it. Permissions belong in the database first. The app filtering stays, but as a second layer, not the only one.

Anything important cannot depend on the customer coming back to the page. Payment confirmation happens server to server, so the order still finishes when their browser does not.

Architecture, data model, auth flow, the bug I just fixed. I keep them in the repo next to the code. It is how I think a problem through, and it is what I hand over when someone else picks it up.

Where I have worked

  1. System Developer, JomJapan, In progress
    Building the systems a travel agency runs on: leads, quotes, invoices and payments.
    • Main developer on the sign-in apps that partners and customers use every day.
    • Built quoting from start to end: making a quote, then the review and approval steps.
    • Access rules, so each company only ever sees its own data.
    • Online payments: taking them, refunding them, and checking what was really paid.
    • Wrote the technical docs the team works from.
  2. Frontend Developer Intern, AQ Wise Sdn Bhd, Done
    Worked on Quranirab, a web app for learning Quranic Arabic, building parts of it in Flutter alongside the UI and UX team.
    • Built features in Flutter, working from the designs the UI and UX team produced.
    • Grammar lessons and guided translation practice for reading Quranic verses.
    • A dictionary search that shows images next to the words, not just definitions.
    • Support for several languages, so learners could study in the one they think in.

Study

2022 to 2024
Bachelor's degree, Computer Science, Universiti Teknologi MARA
2019 to 2022
Diploma, Computer Science, Universiti Teknologi MARA
Certificate
Microsoft AI For All (Bersama Malaysia)
Certificate
Powering The Future 2025

What I build with

Frameworks

  • Vue
  • Nuxt
  • React
  • Next.js
  • Astro
  • Flutter

Language & Styling

  • TypeScript
  • Tailwind
  • CSS Modules
  • Sass

State & Backend

  • Zod
  • Pinia
  • Directus
  • Hono
  • Express
  • Firebase
  • Supabase
  • Billplz

Cloud & Hosting

  • Cloudflare Workers
  • D1
  • R2
  • Vercel
  • Netlify

Motion, 3D & Testing

  • Motion
  • GSAP
  • three.js
  • Vitest
  • Playwright

Not taking on new projects right now.

Happy to talk about the work or hlmnhkl/ui. You can find me here.

Kuala Lumpur, --:-- GMT+8