Solutions, not just code
I care about the outcome, not only the lines I write. I take ideas all the way to a working, delivered product — thinking about users, trade-offs, and the whole picture.
Senior Full-Stack Engineer
20+ years designing, shipping, and maintaining production web systems end to end — across Ruby on Rails and TypeScript — fully remote, from Thailand (GMT+7).
KC
I'm a senior engineer who likes owning problems from the first sketch to the running system.
Most of my career has been spent building and operating Ruby on Rails applications — strong PostgreSQL and API design, careful automated testing, and the patient debugging that keeps production healthy. In recent years I've worked across modern front ends in TypeScript, Next.js, and React, and I bring AI-assisted tooling into my workflow to ship faster without cutting corners. I co-founded and ran a software studio, so I think about products and delivery, not just code.
Open to remote roles
I've worked fully remote since 2021, delivering production software with distributed teams spread across the world. Remote isn't new to me — it's how I do my best work.
Fully remote, shipping production systems for global, distributed teams.
Collaborated with teammates across Asia, Europe, and the Americas.
Clear written communication and documented decisions — progress without constant meetings.
I set direction and keep momentum without supervision — dependable from afar.
I care about the outcome, not only the lines I write. I take ideas all the way to a working, delivered product — thinking about users, trade-offs, and the whole picture.
I take responsibility for what I ship and stand behind it — through delivery, the awkward edge cases, and a healthy production afterwards.
I build systems that keep running — well-tested, maintainable, and monitored — so they stay healthy long after launch, not just until the demo.
I write things down clearly and keep distributed teammates aligned — decisions, context, and progress — so work moves forward across time zones without constant meetings.
Genuinely happy to pick up new tools, languages, and domains. I stay curious and adapt quickly — new stacks and problems energize me rather than slow me down.
I don't wait to be told what to do. I spot what needs doing, set the direction, and keep things moving — dependable without hand-holding.