Kumuditha Tharinda Liyanage, software engineering student in Colombo, Sri Lanka

Open to software engineering internships

Kumuditha Tharinda Liyanage

Software Engineering Student — Mobile, Full-Stack & Systems Development

Profile

Final-semester HND Software Engineering student at NIBM Colombo, with nine projects across university coursework and independent work. I build native macOS software, cross-platform mobile apps, IoT firmware and backend reliability tooling — moving between Swift, Kotlin, Flutter and TypeScript, and between the hardware, mobile and cloud layers of a system. Several projects are publicly released, and I contribute documentation and test coverage to WSO2 open-source repositories. I am looking for a first professional engineering role or internship.

Selected projects

MacPulseNative macOS system optimizer

Released · 2026

Desktop application · Solo

Mac cleanup tools are mostly abandonware or upsell funnels; a cleaner has to be honest about what it deletes and fast enough to scan a full disk without blocking the interface.

  • Structured the app as MVVM over Swift actors so multi-gigabyte disk scans never freeze the SwiftUI interface.
  • Shipped in-app purchases through StoreKit 2 and wired a CircleCI pipeline for continuous integration.
  • Managed login items through SMAppService rather than editing launch agents by hand.
  • Swift 5.9
  • SwiftUI
  • Swift Actors
  • SMAppService
  • StoreKit 2
  • CircleCI

RehearsalAPI reliability workbench

Shipped · 2026

Full-stack web application · Solo

Distributed-system failures are taught as diagrams and experienced as outages; there is no safe place to rehearse a request that succeeded but whose reply was lost.

  • Built sandbox inventory, payment and delivery services so faults happen over real HTTP rather than mocked calls.
  • Implemented idempotent recovery — keys, retry with backoff, deduplication — with a baseline-versus-recovery comparison view.
  • Exported every run as JSON evidence and covered the fault-injection flows with Playwright.
  • TypeScript
  • Next.js
  • Node.js
  • SQLite
  • Playwright
  • Docker

NavoraAI travel planner for Sri Lanka

In progress · 2025 — 2026

HND final project · Cross-platform mobile · Group project

Global trip planners know nothing about local roads or coverage, leaving travellers with a list of names, no order and no map once they lose signal.

  • Built itinerary generation on Gemini through Firebase AI Logic with App Check, removing client-side model keys.
  • Migrated the integration off a Cloud Functions gateway to Firebase AI Logic directly and verified it on a physical device.
  • Routed between stops with OSRM and cached map tiles so itineraries stay readable offline.
  • Flutter
  • Dart
  • Firebase AI Logic
  • Gemini
  • OSRM
  • Supabase

FixoraRole-based repair management for Android

Delivered · 2026

Campus project · Native Android · Solo

A repair shop runs on four people wanting four views of the same job, and building four apps was not an option on a two-day assignment deadline.

  • Modelled one data layer with role-scoped views for customers, technicians, branch managers and administrators.
  • Matched customers to the nearest branch by GPS and tracked repair status live on Firebase.
  • Delivered a production-style workflow — design tokens, on-device testing, structured git history — inside the deadline.
  • Kotlin
  • Jetpack Compose
  • Firebase
  • Supabase
  • SQLite

IoT Safety Monitoring SystemESP32 mining-safety helmet

Delivered · 2025

Campus project · IoT · Team of 3

Underground, a supervisor cannot see where a worker is or what they are breathing until it is already an incident report.

  • Wrote ESP32 firmware in C++ polling MQ-135 gas, DHT11 temperature and MPU6050 motion, with MFRC522 RFID identifying the wearer.
  • Streamed telemetry to Firebase Realtime Database and fired Telegram alerts on threshold breaches.
  • Built the TypeScript supervisor dashboard showing live zone, gas and status across active helmets.
  • ESP32
  • C++
  • Firebase Realtime Database
  • TypeScript
  • Telegram Bot API

Open source

wso2/carbon-apimgttest coverage

Open · awaiting review

Test IP condition generation at unsigned address boundaries. Added direct coverage for IPCondition.getCondition() in the API module. Existing gateway and DAO tests exercise conditions indirectly; this checks the IPv6 Siddhi output at unsigned address boundaries.

  • Java
  • Siddhi
  • JUnit

wso2/docs-apimdocumentation

Open · awaiting review

Explain Retry-After handling for throttled requests. The rate-limit error guide lists error codes but does not explain how consumers should read the Gateway's Retry-After header — a client assuming an integer delay cannot parse the HTTP-date value it can emit.

  • Markdown
  • API Manager

Education

Higher National Diploma in Software Engineering

Final year

National Institute of Business Management (NIBM) · Colombo, Sri Lanka · Batch HNDSE 25.2F

Coursework in mobile development, enterprise application development, data structures and algorithms, and IoT systems — each assessed through a delivered project.

Get in touch

Open to software engineering internships.

Colombo, Sri Lanka or remote. The fastest way to reach me is email — the full portfolio has the longer version of everything above.