Product-minded tech lead. 15+ years building software, 10 in SaaS.
I keep products simple for the people who use them, and solid for the people who run them.
quangdk.com · Work · Services · Writing · Get in touch
| 15+ | 10 | 30+ |
|---|---|---|
| years building software | years in SaaS | products worked on |
Most of my work lives in private client repositories, so this profile shows only a small part of it.
- Build web and mobile products from first version to production, payments included.
- Lead small engineering teams through releases, reviews and upgrades.
- Modernise ageing apps and backends while they keep serving customers.
- Bring AI into a team's work with review, limits and a clear record of what it did.
| Layer | Tools |
|---|---|
| Backend and APIs | PHP, Laravel, Node.js, Express, GraphQL, REST |
| Web | TypeScript, React, Next.js, Vue, Tailwind CSS |
| Mobile | React Native, Expo, Flutter, App Store and Google Play releases |
| Data | MySQL, multi-tenant SaaS, Cloud SQL, D1 |
| Payments | Stripe, 3-D Secure, accounting sync |
| Cloud | AWS, Google Cloud, Cloudflare Workers, Docker |
| AI | Coding agents, cross-model review, MCP |
- Racing industry SaaS. Nearly ten years on a B2B platform for Australia and New Zealand: backend, billing, web and mobile apps.
- School apps. Multi-tenant web portals and teacher, parent and student apps.
- App modernisation. Rebuilt a legacy React Native app on Expo and moved users across without losing their data.
Case studies are at quangdk.com/work.
| Project | What it shows | Measured |
|---|---|---|
| PaidUp | Invoices and safe payments across a Laravel API, a Next.js dashboard and an Expo app | |
| pr-orchestrator | Cross-model pull request review with guardrails | |
| quangdk.com | Astro, EmDash and Tailwind on Cloudflare Workers |
Leave things out. Use your users' words. Be careful with money. One model writes, another reviews, a person decides.
Simple is the hardest thing to build.


