Canon Chong

Design Engineer · Kuala Lumpur · GMT+8

I design the product,and I build it.

One person, from the first sketch to deployed code — usually two to three weeks. I work on interfaces where the domain is genuinely hard: trading, risk, agent tooling. Anything where the data is dense and being wrong is expensive.

Twelve years in design, seven on product interfaces. The last two in fintech.

The system, running

Every other portfolio says it builds design systems. Here is mine, live.

Change either control. One attribute moves on one element, and twelve components retune — spacing, type, colour, row height. No component knows which theme it is in; they all read the same semantic tokens. That is the whole argument for a token layer, and it is easier to operate than to describe.

@canon/dsLive
Design systemTokensDensityDegradedFailed
InstrumentClassWeightP&L
NVDAEquity4.21%+2.84%
DE 10YFixed income2.08%-0.31%
USD/JPYFX1.44%+0.12%

Theme

Density

What just changed

These values are read back out of the browser after every change, so they cannot claim something the specimen is not using. Note that the panel keeps its own theme inside this page — scoping was designed in long before there was a reason for it.

Work

Four concepts, each built to prove one thing.

All four are self-initiated. Client work is under NDA, and I would rather show you something I can talk about honestly — including the parts that went wrong.

01

Agent Console

Operations console for AI agent runs

That I understand the shape of agent products — and can make five surfaces agree by deriving them from one source instead of maintaining five.

Killer detail

Replayable execution trace

Stack

Next.js · React 19

Built in

~2 days

02

Portfolio Terminal

Multi-asset book, 2,000 positions

That dense financial data can stay legible, and that the keyboard can do everything the mouse does.

Killer detail

Brushing re-runs every panel

Rows

2,000 virtualised

Built in

~1 day

03

Canon DS

Design system with live theme and density

That I build the layer other people build on — and that I make a real product consume it first.

Killer detail

Two independent axes

Tokens

64 primitive · 37 semantic

Built in

~2 days

04

Aperture

Scroll-scrubbed WebGL launch page

That something can look expensive without being expensive, and that performance claims are measured.

Killer detail

120fps, 0 asset bytes

Draw calls

3

Built in

~half a day

What I do

Three ways to work together.

Fixed price against a written scope, agreed before any money moves. Anything that changes the date or the price gets an amendment in writing first.

How it works

No deck, no discovery theatre.

01

A brief, then a scope — in writing

You email me a brief; the button fills in the questions so you are answering rather than composing. I come back with an honest read on whether I am the right person, a written scope, a fixed price and a date. Then we talk, to confirm it rather than to discover it. Everything that matters is on paper before anyone gets on a call, which means you can forward it to whoever signs off without translating a conversation.

Two working days

02

Design in the open

You see work in progress two or three times a week, in a link you can click rather than a deck. Feedback lands while it is still cheap to act on. No two-week silence ending in a reveal.

Week 1

03

Built as it is designed

Because the same person does both, there is no handover to lose things in, and no design that turns out to be impractical three weeks after it was approved. What you review is running code.

Weeks 1 – 3

04

Handover with the reasoning

The repository, the design system, and a written record of why each decision went the way it did. Your team should be able to extend the work without needing me — that is the point.

Final week

Eight hours ahead, and that is the feature

I am in Kuala Lumpur. My evening is a European morning, so there is real overlap with the UK and the EU. For US teams the overlap is thin — which means I work the way remote work is supposed to work: written updates, a clickable build every couple of days, and meetings only when a decision genuinely needs one. Most weeks that is zero.

0h

Who you would be working with

Twelve years in design. Seven of them closing the same gap.

Twelve years in design, seven of them on product interfaces. Four and a half were on high-volume consumer platforms, where one extra tap was a number somebody measured, and the last two and a half in fintech — a forex broker, then a global payments group. Before any of that I did print and brand work, which is where I learned that a layout nobody can produce is not a design.

In 2019 the team I was on still designed in Photoshop and handed flat files to developers. I taught myself Adobe XD in my own time, ran it on one project, and was then asked to move all seven designers across. I am doing the same thing now with a different set of tools. The distance between what gets designed and what gets built is the expensive part, and closing it has been the actual job for seven years regardless of what the title said.

I work in English and Mandarin and have spent years in the middle of the two — writing technical design documentation in Mandarin for a development team in China while agreeing strategy in English with marketing in Singapore. If your engineering is offshore, that is not a small thing. My written English is strong and my spoken English is workmanlike, which is one reason everything here starts in writing.

I work as one person on purpose. Design and implementation in the same pair of hands removes the handover, which is where most of the cost and nearly all of the compromise usually lives.

On AI, since you are going to ask

I use it heavily. It is the reason a two-person job takes one person two weeks.

It is also why the market is now full of people who can generate a competent-looking interface in an afternoon. So the honest question is not whether I use it — it is what I add on top.

What I add is the review. Knowing that a design system with no product running on it is a set of guesses. That a correlation matrix computed once is quietly lying to you. That a grid which drops keypresses under key repeat will be found by a trader on day one and never trusted again. None of those are visible in a screenshot, and none of them get caught by the generating.

Twelve years is what makes the review worth paying for. The AI is a faster pencil.

Straight answers

Is the work above from real clients?

No. All four are self-initiated concepts, built to show how I work rather than to dress up somebody else’s product. Client work is under NDA and I would rather show you something I can talk about honestly, including the parts that went wrong.

What do I actually receive?

A repository you own, deployed and running, plus the design system it is built on and a written record of the decisions. Not a Figma file with a handover meeting attached.

Can you work with our existing engineers?

That is the usual arrangement. I take a surface end to end and stay inside your conventions — your stack, your review process, your component library if you have one worth keeping.

What if the scope changes halfway?

It usually does. Small changes get absorbed. Anything that moves the date or the price gets a written amendment before I start on it, so there is no invoice at the end that you did not see coming.

Do you do design only, or build only?

Rarely, and only when it genuinely fits. The value here is the two together — separating them puts back the handover I am charging you to remove.

Next step

Tell me what you are building

Send a brief — the button prefills the questions, so it is a fill-in rather than a blank page. Two working days to a scope and a fixed price. If I am not the right person I will say so, and I usually know someone who is.