Full-Stack Engineer — Hong Kong

Keep enterprise systems stable. Get new products shipped.

I work on core delivery and enhancement in banking and government systems — Java, Spring Boot, CI/CD, cross-system integration. Outside work I build side projects from zero, using AI to move faster through exploration and engineering judgement to finish them.

How I work

Three modes

The same problem gets expensive fast if you pick the wrong method. I decide which kind of problem it is before deciding how to touch it.

Traditional

Core banking・Release discipline・Maintainability

Write it by hand when stability and control matter

In banking and government environments I handle design, implementation, debugging, and release myself. Not leaning on generation is the point: when something breaks, someone has to be able to explain why.

Enhancement

Legacy migration・Integration・CI/CD

With existing systems, continue before you change

Most systems do not need a rewrite; they need someone who can actually read them. I add features, handle integration, and narrow regression risk inside the existing architecture, data flow, and delivery constraints.

Zero to one

Product execution・Side projects・AI-assisted

When the direction is open, use AI to explore faster

For new products, AI compresses research, option selection, and the first implementation. The finishing and the trade-offs still come from engineering judgement. EasyWhisper and trade-basic.com were both built this way.

About

Elliot Chan

I am Elliot, a full-stack engineer in Hong Kong. I like working out why a thing behaves the way it does — a legacy system, a build pipeline, a company’s financials. So I spend my time writing code, reading, and doing investing research. To me it is one habit: understand the structure first, then decide what to change.

Principles

  • Read it before deciding to rewrite it

    A rewrite is the most expensive option, and usually the first one proposed.

  • Delivery speed comes from the pipeline, not overtime

    Any step that can be automated should not depend on a person remembering it.

  • Tools are replaceable; judgement is not outsourced

    That includes AI. It handles speed; the responsibility stays with me.

Interests

Technology・Investing・Reading

Three things I keep up with outside work. They feed each other, and they explain why the side projects below exist.

Technology
I read release notes and try new tools, but I care more about whether a choice is still maintainable in ten years.
Investing
Position sizing, financial statements, ETF structure. That habit grew directly into trade-basic.com.
Reading
Mostly engineering practice, system design, and market history. Notes go back into the work to be tested.

Skills

Grouped by purpose

The stack I actually work in day to day, grouped by what it is for.

Backend
Java・Spring Boot・Node.js・RESTful API・GraphQL・MyBatis・JPA
Frontend
TypeScript・React・Next.js・Vue・Nuxt・Electron・Tailwind CSS
Delivery
GitLab CI/CD・Docker・Kubernetes・ffmpeg・yt-dlp・Ollama

Side projects

2 projects

Two projects taken from zero to usable on my own time — design through deploy, all of it mine.

EasyWhisper

Stack
Electron・Vue 3・whisper.cpp・ffmpeg・Ollama

Open ↗

A local-first desktop transcription tool. Everything runs on your own machine, so recordings never go to a third-party service.

  • Built local speech-to-text with Electron, Vue 3, and whisper.cpp, keeping both the workflow and the privacy intact.
  • Implemented a batch queue covering file import, drag-and-drop, and URL downloads across many audio and video sources.
  • Wired up ffmpeg, yt-dlp, and Ollama for subtitle export, correction, translation, and summarization.

trade-basic.com

Stack
Nuxt 4・Vue 3・JWT・PWA・i18n

Open ↗

An investment journaling platform I built for myself. The point is to write decisions down so review has a record to work from.

  • Built trade journal, portfolio, and holdings tracking with alerts, calendar, and timeline review.
  • Shipped position sizing, ETF analysis, and seasonality tools to turn discipline into a repeatable process.
  • Integrated JWT auth, multilingual support, PWA, and an admin blog — one person maintaining the whole stack.

Contact

If you need someone to take over an existing system, clean up a delivery pipeline, or build a new product from zero, send an email and I will fill in the specific case detail.

Location
Hong Kong
Reply
Usually within a day or two