Sheet 01 · Rev A
Heshan Rathnayake
Software Engineer · Product Engineer · Melbourne, Australia
I architect production SaaS systems end to end schema and service design through deployment and on-call. Most of my work is multi-tenant: identity, access control, and the boundaries that keep one customer's data away from another's.
Fig. 01 — This sheet, exploded
02 — Selected work
What I’ve built, and what each one cost.
01
Shipyard — SaaS project management platform
A multi-tenant platform split across a Next.js web app, an Express real-time server and shared packages for API, database, UI, email, logging and types. Built to work through the parts that are easy to fake and hard to actually get right: type-safe boundaries, four-tier RBAC, and live Kanban collaboration between concurrent authenticated users.
Sourcegithub.com/heshan-rathnayake/shipyard-appLiveshipyard-app-web.vercel.app
- Outcome
- Four-tier RBAC · live multi-user Kanban · resilient webhook processing
- Trade-off
- A Turborepo monorepo with shared packages buys type safety across the boundary and costs build complexity. Was it the right call at this size?
- Next.js
- tRPC
- PostgreSQL
- Prisma
- Socket.io
- Stripe
- Turborepo
- Zod
- Vitest
02
Tourify — tour booking and quoting platform
A customer-facing booking platform built on a normalised tour-template, destination and itinerary schema driving per-vehicle pricing rules. The core is a server-side pricing engine that recomputes vehicle, guide, accommodation and per-destination costs on every itinerary mutation, with idempotent quote persistence and webhook-driven booking state transitions.
Livethetourify.com
- Outcome
- Shipped end to end deposits, scheduled installments, refund policy enforcement
- Trade-off
- Recomputing the full quote on every mutation is a deliberate choice over incremental updates. Why was it worth the cost, and where did it start to hurt?
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- Stripe
03 — Approach
Most of what I build is invisible when it works.
I have spent the last three years as the primary architect on a commercial multi-tenant platform schema and service design at one end, deployment and on-call at the other. Most of that time went into tenancy boundaries, identity, and the parts of a system that only get noticed when they fail.
Founding Tourify is where the product judgment came from. Owning something end to end pricing logic, payments, SEO, infrastructure, the support inbox — teaches you which engineering decisions a customer actually feels, and which ones are only interesting to engineers.
- 01
Architecture & security
- 02
Backend
- 03
Frontend
- 04
Data & infrastructure
- 05
Engineering & delivery
- 06
Product & integrations