Skip to content
AJ.
← All work
Project2025

SafeLanka

A multilingual public-safety mobile app (emergency SOS, crime reporting, and traffic-fine payments) shipped to Google Play. A team project where I owned the traffic-fines system, the payment flow, and Lost & Found end-to-end.

Problem

Sri Lankans had no single app to raise emergencies, report crime with evidence, and settle traffic fines across three languages.

What I built

SafeLanka is a full-stack, role-based mobile app (Flutter + NestJS) built by a six-person team. My part: I designed and built the traffic-fines system end-to-end, covering the NestJS fines module and DTOs, the traffic-fine / payment-transaction / offense-schedule entities and the SQL migration behind them, and the Flutter payment screens with PayHere and a saved-cards flow. I also owned the Lost & Found / Items module across frontend and backend, and authored the CI/CD (deploy-production, deploy-staging and backend-CI workflows, plus the backend Dockerfile).

My role

Full-stack developer and top committer (190 commits). Owned: the traffic-fines system (schema, backend, and payment UI), the PayHere payment flow with saved cards, and Lost & Found / Items. Contributed to: crime reporting, auth and users, the location module, and the multilingual Google Gemini chatbot (English, Sinhala, Tamil).

Stack

  • Flutter
  • Dart
  • NestJS
  • TypeScript
  • MySQL
  • TypeORM
  • Google Gemini
  • PayHere
  • JWT

Impact

  • Traffic-fines schema and payment flow designed and shipped end-to-end.
  • Secured with JWT, role-based access control, and OTP verification.
  • Shipped to Google Play internal testing via GitHub Actions to Railway.
Loading…