Skip to content
View tmsperera's full-sized avatar

Block or report tmsperera

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tmsperera/README.md

Mahesh Perera

Software Engineer · 9+ years · Laravel, React & TypeScript

I build full-stack web applications — from multi-tenant SaaS platforms to e-commerce and real estate systems — grounded in clean architecture, test-driven development, and a focus on software that is both maintainable and polished.

📍 Western Province, Sri Lanka


Blog


Expertise

Backend — Laravel is my primary domain. I design systems around SOLID principles, Clean Architecture, Event Sourcing, and Test-Driven Development, prioritizing long-term maintainability alongside timely delivery.

Frontend — React, Vue, Next.js, TypeScript, Inertia.js, Tailwind CSS. I focus on animations, hydration, performance, and UX refinement.

Infrastructure — Docker, Caddy, Nginx, GitHub Actions, VPS deployments. I own the full lifecycle from development through shipping, monitoring, and operations.

Multi-tenant SaaS — Currently building a multi-tenant Laravel platform using stancl/tenancy, Fortify, and PostgreSQL, addressing auth guards, tenant isolation, and typed full-stack routing with Wayfinder.


Tech Stack

Languages & Frameworks

PHP Laravel React Vue.js Next.js TypeScript Inertia.js Tailwind CSS Alpine.js

Data & Infrastructure

MySQL PostgreSQL Docker Nginx Caddy Linux

Tooling & Workflow

Git GitHub Actions PHPUnit PHPStan Vite ESLint


Engineering Philosophy

  • Test-Driven Development — tests first, confidence follows
  • SOLID & Clean Architecture — code that scales with the team, not against it
  • Event Sourcing — when the history of state changes matters as much as the state itself
  • Pragmatism — the simplest correct solution wins

Beyond the Keyboard

When I'm not building software, I'm chasing scenic landscapes — debugging hydration mismatches and finding the right mountain road require the same patience.


Connect

tmsperera

LinkedIn X Email Phone

Pinned Loading

  1. headless-chat headless-chat Public

    A headless chat package for Laravel applications

    PHP 4