Frontend Engineer
Four years shipping fintech tools for the Singapore market.
Permissions, loan flows, document processing, the core modules.
Who I Am
Phuong Tran
Frontend Engineer
- LOCAL
- 02:19 · GMT+7
- HOURS
- 08:00-18:00 GMT+7
- BASE
- Ho Chi Minh City
"Five years in, four with Redoc, a bootstrapped Singapore startup with expertise in banking and real estate. A frontend engineer who builds complex web platforms end to end, comfortable with architecture and design systems, and able to hold the backend when a project needs it."
Passion projects.
A few personal ideas I made real.
Document Engine
Document Engine is an open-source rich-text editor library built on ProseMirror and Tiptap. The engine is designed to be headless (not tied to any prebuilt UI) and framework-agnostic, so the core can be wrapped for any framework. It is used to author documents in banking and fintech workflows, and was created to replace CKEditor. Document Engine is split into two libraries, a Core and an Angular Wrapper, both published on npm.
Angular Tiptap / ProseMirror
I needed a new solution to gradually replace CKEditor, the editor library used across the projects I was responsible for, because of its premium licensing costs as well as the need for deeper customization and extensibility.
The toolkit.
Most of my five years writing code have been with Angular. I started at the smallest steps - slicing UI, building landing pages - and worked up to bigger ones: complex form modules in an ERP project, Angular Material, then hand-rolling my own components on Material CDK. These days I build libraries for Angular apps to reuse.
That stretch of time, along with Nx, shaped how I approach code: scale first, an architecture that holds up under enterprise problems. Whether it's an Angular app or some other stack, I push myself to find the best pattern I know to keep a system scaling, and a design system right-sized for the problem. I also wanted to understand the backend properly, to work better with it and do my own part well. That's how I drifted into NestJS, a Node.js framework I genuinely like.
And when AI arrived, it brought new energy - and anxieties I'd never felt before. I use Claude Code as a new tool, but I didn't stop at using it: I built my own workflow and harness on top, tailored to how my team and I actually work. It speeds me up, and it's also how I level myself up. The very site you're reading was planned, built, and shipped with it.
icons devicons.io
I've always believed that to build a good product, the people making it have to understand the frustrations users deal with, see things from their perspective, and even understand what they understand. That belief is usually treated as the job of a BA, a PO, or a UX designer, but after five years in software, I think an engineer has to grasp it just as deeply.
I specialize in banking, with a bit of fintech, a domain that, to me, is far from easy to understand, and one where it turns into a disaster when the people building it don't understand what they're working on. I've learned a lot of lessons from being underprepared, from lacking domain knowledge, or worse, from underestimating how complex a feature really is. I hope that from here on, with the experience I've built, I'll still learn a lot, just in gentler ways.
Right now, I own the frontend of a Loan Origination System (LOS) built for a Singapore bank. I handle most of it end to end, from planning the system, making the technical decisions to writing features and fixing bugs. I'm also one of the team's technical points of contact whenever the client has questions about a feature.
Let's talk.
Whatever the reason, the door's open. I read every message and usually reply within a few days.
Prefer your own mail client?