Skip to content

Hilman Haikal

System Developer at JomJapan, in Kuala Lumpur.

I build the parts nobody thinks about: the portal an agent uses to quote a trip, the page where a customer pays their bill, the rules that decide who sees what. When they work, nobody notices them.

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

Selected Work

Personal projects

Studio & Concept · Concept landing page

2026

A landing page for an interior design studio, designed and built to see how far I could push a marketing site: big type, a hero that carries the work, and a projects carousel. The studio is invented and all the content is sample.

Screenshot of Studio & Concept

RenovateMY · Personal project

2026

A landing page for a renovation contractor: what they do, how it works, and a quote request. Still being built out below the fold.

Screenshot of RenovateMY
Next.jsTypeScriptTailwindrenovation-gamma-steel.vercel.app

DuitFlow · Personal project

2026

An expense tracker that keeps everything in your own browser. No account, no server, nothing to leak. Built because most of them want a login before they will let you write down that you bought coffee.

Screenshot of DuitFlow
Nuxt 4TypeScriptTailwind

Kad Jemputan Digital · Lambaian Digital

2025

A designer for digital invitation cards, the kind people send for a wedding or an open house. Pick a template, make it yours, send the link. Built on my own time.

Next.jsTypeScriptTailwindFramer MotionPrivate project

Professional work

Mostly one platform: four apps for a travel agency on a single backend. Agents work in one, travellers in another, staff run the office in the third, and the public sees the fourth.

Customer Portal · Asuma Travel

2026 to now

Where a traveller signs in to see their trip and settle their bill. Money and personal data, so correctness matters more than anything else.

Nuxt 3TypeScriptBillplzDirectusInternal product, customer login required

Partner Portal · Asuma Travel

2025 to now

A portal for the travel agents who resell our tours. Leads, quotes, documents and payment, in one place. I have been the main developer since it started.

Nuxt 3TypeScriptTailwindDirectusInternal product, partner login required

Marketing Site · Asuma Travel

2025 to now

The public site: packages, group tours, and the booking form. I built the booking flow, the passenger details step, and the group tour picker.

Nuxt 3Tailwindasumatravel.com

JomJapan · Public site

2021 to now

Where people find the Japan tours. The longest running one. Lately I built the appointment booking, so someone can pick a real slot to come and talk to us.

NuxtVuetifyjomjapan.com

Services

I take on a small number of projects alongside my main work. Usually the kind below, because that is what I build most and I know where it tends to go wrong.

A product from an idea

You describe what you want and I take it the whole way: design, build, deploy. Good when there is nobody else to hand it to.

Kad Jemputan Digital and DuitFlow, both built start to finish 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 site scores 99 on Lighthouse and weighs less than one 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. I am happy to be handed a codebase I did not write.

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

Not sure if it fits? Tell me the problem rather than the solution and I will say honestly whether I am the right person for it.

How I work

Find out why, then fix the cause

When payment broke in production I did not add a workaround. I traced it to the proxy in front not passing on the original protocol, fixed the check that depended on it, and wrote up what happened so the next person does not lose a day to it.

Do not let the app be the only guard

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.

Assume people close the tab

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.

Write the doc while it is fresh

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.

Experience

May 2025 to present

System Developer · JomJapan

Building the systems a travel agency runs on: leads, quotes, invoices and payments, across four apps sharing one backend.

  • Main developer on the partner portal, where agents work their leads, build quotes and take payment.
  • Main developer on the customer portal, where travellers see their trip and settle their bill.
  • Built both sides of the quoting flow: the builder agents use, and the review and approval screens staff use.
  • Access control and data isolation, so partner companies never see each other data.
  • Payment gateway integration, refunds, and reconciliation of what has actually been paid.
  • Wrote the architecture, data model and auth flow docs the team works from.
Oct 2021 to Mar 2022

Frontend Developer Intern · AQ Wise Sdn Bhd

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.

Education

2022 to 2024

Universiti Teknologi MARA

Bachelor's degree, Computer Science

2019 to 2022

Universiti Teknologi MARA

Diploma, Computer Science

Certificates

Microsoft AI For All (Bersama Malaysia) · Powering The Future 2025

Tools

Frameworks

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

Language & Styling

TypeScript · Tailwind · Sass

State & Backend

Pinia · Express · Firebase · Supabase

Motion & Testing

Motion · GSAP · Playwright · Vitest

Get in touch

I am not looking for a full-time role, but I do take on projects. If you have something you want built, or something that is broken, send me an email with what you are trying to do.