Work

Architecture work

The decisions, the trade-offs, and what happened after.
SaaS billing · enterprise clients

Privilege injection for a 10M-account platform

Problem
Permission checks duplicated per route and drilled through props.
Decision
One reusable injection pattern any component can consume.
95+ componentsadopted app-wide
Read the article ↗
SaaS billing · cross-team

Live-update localization without redeploys

Problem
Every label change needed a full release.
Decision
Designed a new REST contract + BFF path; pitched it to the client and the API team.
Contract acceptedrolled out by engineering
Read the article ↗
@blocks (npm)Admin editorPublished site~30 blocks · draft → preview → publish
AI-powered HR SaaS · team I lead

No-code Site Builder

Problem
Editor and public site drifting apart as blocks grew.
Decision
Ship blocks as one npm package both sides consume; MongoDB model for drafts & publishing.
~30 blocksone source of truth
Write-up soon
Pro bono · multi-app platform

AWS as Terraform code, dev → UAT → prod

Problem
Hand-built AWS, stored keys, no repeatable deploys.
Decision
Import everything into Terraform with no-op plans; GitHub OIDC roles instead of keys.
14 workflowsreused by 17 repos
Write-up soon
Billing SaaS · regulated data

PII access-tracking

Problem
No audit trail for who viewed protected fields.
Decision
Proposed and architected auditable logging across the billing surface.
Proposed & adoptedauditable by design
Write-up soon
Open source · npm

postal-code-checker

Problem
249 countries, 249 regexes nobody wants to maintain.
Decision
Country-aware, data-driven validator with full TypeScript types.
19K / weekweekly downloads
Read the article ↗
Earlier work

Where it started

Before leading teams, I shipped products end to end. Kept here because the path matters.

2017 · C#.NET

Sistack Loan ERP

Top 11 at the SLT ZeroOne Awards 2017.

PHP → MERN

adfinder.lk

Classifieds platform, rebuilt from PHP to the MERN stack.

2023 · React Native

English–Sinhala Dictionary

Offline bilingual dictionary on Google Play.