I make aging software fast again — and build AI products that hold up in production.
8 years of full-stack engineering, from ASP.NET Core and Angular through to React, Next.js and LLM-backed product work. I take on platforms that have slowed to a crawl, and new products that need to ship. Remote from the Philippines, working across every timezone.
Every figure below was measured on shipped work.
Measured across 5+ modernised ASP.NET applications, 2019–2022.
Response times on the revamped .NET and Angular platform, 2022–2025.
Unit test coverage across the delivery codebase, 2022.
Case studies
Enterprise platforms and shipped products — the problem, the constraints, and what changed.
Youtubely
Chrome extension that tracks YouTube video progress and lets you resume unfinished long-form videos from a local, privacy-first dashboard.
AnswerIt AI
Chrome extension that lets you snip any part of a webpage — a question, paragraph, or diagram — and get an instant AI-powered answer in seconds.
Nowcom Global Services — Enterprise .NET & Angular
Mid-level full-stack role leading development initiatives for enterprise applications at Nowcom Global Services, with a focus on .NET and Angular.
Three things you can hold me to
Boring technology, on purpose
I reach for the stack your team can still maintain in three years. Novelty is a cost, and it is usually paid by whoever inherits the codebase.
The number has to move
Every engagement starts by measuring what is actually slow or broken, and ends by measuring it again. If the figure did not move, the work is not finished.
Async by default
I work from UTC+8 with teams across Europe and North America. Written updates, small reviewable changes, and no dependency on a shared calendar hour.
Where I've worked
Mid Software Engineer III
Nowcom Global Services+40% legacy app performance
Software Engineer
Yondu Inc.+60% test coverage
Senior Application Developer
OSL International Inc.−50% application load time
Notes from the work
What I learned building the things above — mostly the parts that were harder than expected.
Cursor Composer and the Rules That Actually Move the Needle
What I learned after a year of using Cursor Composer daily on SaaS and Chrome extension codebases - which rules earn their keep, and which just add noise.
Claude Code as a Daily Driver: Tips From Shipping Real Work
Claude Code quietly became the tool I reach for when Cursor's chat isn't enough. Here's how I actually use it day to day.
Claude vs OpenAI vs Gemini in Production: What I Reach For and Why
After shipping features backed by all three, they're not interchangeable. Here's how I actually pick per-use-case in real SaaS work.
Have a system that needs to get faster?
Tell me what is slow, what it is costing you, and when it needs to be fixed. I reply to every email within one working day.