
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
MacPulse — Native macOS system optimizer
Released · 2026Mac 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.
Rehearsal — API reliability workbench
Shipped · 2026Distributed-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.
rehearsal.tharinda.devgithub.com/mr-kumuditha/rehearsalCase study
Navora — AI travel planner for Sri Lanka
In progress · 2025 — 2026Global 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.
Fixora — Role-based repair management for Android
Delivered · 2026A 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.
IoT Safety Monitoring System — ESP32 mining-safety helmet
Delivered · 2025Underground, 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.
minelivemonitor.systemsgithub.com/mr-kumuditha/IoT-Safety-Monitoring-SystemCase study
Open source
wso2/carbon-apimgt — test coverage
Open · awaiting reviewTest 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.
wso2/docs-apim — documentation
Open · awaiting reviewExplain 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.
Education
Higher National Diploma in Software Engineering
Final yearCoursework in mobile development, enterprise application development, data structures and algorithms, and IoT systems — each assessed through a delivered project.