Software engineer. Full-stack systems in TypeScript and Postgres, built on boring, well-understood architecture.

I work where the app meets the database — Next.js, Payload and Postgres — and spend the rest of my time on the CS and ML research side. Projects and writing below.

Based in

Colombo, Sri Lanka

Working in

TypeScript, Next.js, Postgres

Writing about

Full-stack systems and CS/ML research

Reach me

Selected work

4 projects
  • 01

    Stitch

    A code investigation tool that builds a multi-dimensional knowledge graph and lets an AI agent trace bugs, dependencies and behaviour through it.

    Represent the repository as a graph with structural, dependency and semantic dimensions, then give a LangGraph agent specialised tools for traversing and querying those views during an investigation.

    3 dimensions

    structural, dependency and semantic views brought together for code investigation and evaluation

  • 02

    Portfolio v3

    The site you are reading. Payload CMS + Next.js, Supabase for data and media, deployed on Vercel with functions pinned near the database.

    Migrations are the source of truth. `db.push` is false in every environment, dev included, so each schema change is an explicit generated migration that is committed and applied before deploy — and Vercel never migrates on its own.

    1 deployment

    the Payload admin and the public site ship from a single Next.js app, with the schema committed ahead of every deploy

  • 03

    doc-sync

    A Claude Code skill that keeps a repository’s documentation honest — by making it impossible to claim a document is current unless something actually checked it.

    Certify per document rather than per run: each verified doc carries its own stamp, and the global baseline is demoted to a scheduling hint that asserts nothing. Anything never checked stays visibly stale forever.

    0 model calls

    the staleness audit is a shell script — cited paths existence-checked, stamps read back — so it can fail a build with no API key

About

Software engineer in Colombo, Sri Lanka. I build full-stack systems in TypeScript, Next.js and Postgres, and write about the parts that turned out harder than expected.

Get in touch

Happy to talk about full-stack work, infrastructure, or anything on the research side.