// WORKING TOGETHER
Hire me onto your team, or hire me to build something. Both start with the same conversation about what you actually need.
Open to international roles
Currently in two concurrent roles. Open to conversations about the right opportunity.
Galle, Sri Lanka
Remote-ready, and used to a distributed programme team at UNEP-CCC.
Asia/Colombo, UTC+5:30
Overlaps a full working day with EMEA and a morning with APAC.
// FOR HIRING TEAMS
Storefront to vendor dashboard to Android build to production security headers. I've worked every layer of a live marketplace, not a slice of one.
Unit, component, API, Firestore security rules against the emulator, and Playwright end to end, on an 86,000-line codebase.
Passkeys and WebAuthn, three-tier authorisation enforced in database rules rather than the UI, strict CSP with HSTS preload. Authorisation is covered by emulator tests, so a refactor cannot quietly widen access.
Shipped English, Sinhala and Tamil across storefront and admin. Internationalisation designed in, not retrofitted.
The interface design for every product in my portfolio, from layout and type scale through to the states nobody asks for. The handoff is realistic because I am the one implementing it.
// FOR CLIENTS
Next.js, React and Astro. Multi-vendor commerce, booking flows and content platforms, with the SEO, i18n and security work that makes them production-ready rather than demo-ready.
LLM integration behind a proxy that will not leak your keys, computer-vision detection pipelines, and the honest conversation about what a model can and cannot do for your problem.
Android from the same codebase via Capacitor, with push notifications, camera and native share, without splitting your roadmap across two teams.
Systems before screens. Type scale, spacing, colour ladder and every state, handed over in a form that can actually be built.
// THE PROCESS
Identical whether you are hiring me or commissioning a build.
01 / UNDERSTAND
What the product has to do, for whom, under what constraint. One clarifying question early beats a rebuild a week later.
02 / DECIDE
Choose the approach and write down what was rejected. If I picked something, I can tell you what I turned down and why.
03 / BUILD
Ship it end to end. Data layer, service, interface, and the tests that stop the next change breaking it.
04 / HARDEN
Authorisation in the rules layer, not the UI. Content Security Policy, HSTS, and coverage that survives a refactor.
// HOW I WORK
Send me the role or the brief and I'll tell you honestly whether I'm the right fit.
Get in touch