Dinuka
Samarasinghe
Full Stack Developer • Software Engineer
I build scalable web solutions using React, Next.js, Node.js, and modern full-stack technologies, focusing on clean UI, performance, and robust architecture. Passionate about creating fast, responsive, and user-focused digital experiences from frontend to backend.

About Me
A journey, told in moments.
Enthusiastic About
Innovative Tech
Innovative Tech
Enthusiastic about innovative and futuristic tech.
Let's build your next product, the right way
Build your next product
Let's build your next product, the right way.
Real-Time Projects
Design, motion & development experiments
About Dinuka Samarasinghe
Dinuka Samarasinghe,
Full-Stack Developer
Sri Lanka
I'm Dinuka Samarasinghe — a Full Stack Developer and Software Engineer based in Sri Lanka. I build scalable web solutions for clients across Sri Lanka and worldwide, available to collaborate remotely across any time zone.
My stack centres on React, Next.js, TypeScript, and Node.js — I focus on the full picture: clean, performant frontends paired with robust backend architecture. I care about shipping products that are fast, accessible, and built to scale.
I'm driven by curiosity and a commitment to delivering measurable value — on time, to spec, and with attention to every detail.

Full Stack Skills & Tools
The React, Node.js & DevOps toolkit Dinuka Samarasinghe uses
to deliver end-to-end web solutions from Sri Lanka.
Case Studies
Featured Work

LiveCoach.AI
A React Native mobile platform that uses YOLO pose estimation and PyTorch to analyze athlete performance directly from video input — no wearables or sensors required. Built with a Node.js/Express backend, Firebase authentication, MongoDB, and deployed on AWS EC2 via a GitHub Actions CI/CD pipeline. It solves the accessibility gap in sports coaching by delivering real-time AI-powered feedback to athletes without expensive hardware.
- ✦Chose Firebase for role-based authentication (Athlete & Coach flows) with UID-to-MongoDB synchronization, ensuring identity consistency across the mobile client and backend without duplicating auth logic.
- ✦Built a full CI/CD pipeline using GitHub Actions that automatically deploys the backend to AWS EC2, enabling rapid iteration and reducing manual deployment overhead across a multi-contributor team.
- ✦Implemented token-based API security where every request is verified against Firebase tokens server-side, ensuring that sensitive performance data is only accessible to authenticated and authorized users.

Food Delivery Platform
A full-stack food delivery web application built with React.js, Spring Boot (Java), MongoDB, and AWS that lets users browse menus, manage a cart, and place orders through a seamless end-to-end experience. The admin panel enables food item management and image uploads via cloud storage. It solves the problem of fragmented ordering workflows by unifying the customer and admin experience in one cohesive platform.
- ✦Adopted a Controller-Service-DTO architecture in Spring Boot to enforce a clean separation of concerns, making the codebase maintainable and scalable as features grow.
- ✦Integrated cloud-based image uploads directly into the admin panel, enabling real-time menu management without requiring server restarts or manual file handling.
- ✦Designed RESTful APIs with structured data transfer objects (DTOs) to decouple the frontend from backend internals, reducing tight coupling and improving API contract stability.

Movie App — React Native
A cross-platform mobile application built with React Native, Expo, and TypeScript that lets users browse and explore movies via a third-party REST API. It demonstrates a production-grade mobile architecture with a clean separation between services, interfaces, and UI components. It solves the common problem of tightly coupled mobile codebases by enforcing a scalable structure from the start.
- ✦Structured the project around a services/interfaces/constants pattern to keep API logic, type definitions, and UI fully decoupled — making the codebase easy to extend or swap data sources.
- ✦Leveraged TypeScript throughout to enforce strict type safety across API responses and component props, catching integration errors at compile time rather than runtime.
- ✦Built reusable UI components designed to work consistently across both iOS and Android, minimizing platform-specific workarounds and speeding up future feature development.

User Authentication System
A full-stack authentication system with a separate React.js client and Node.js/Express server that provides secure user registration and login functionality. It addresses the foundational security need of any web application — ensuring user credentials are handled correctly and safely. The clean client-server split makes it reusable as a base layer for larger projects.
- ✦Used bcrypt for password hashing on the server side, ensuring plaintext passwords are never stored and that brute-force attacks face significant computational resistance.
- ✦Implemented structured session handling to maintain authenticated state securely across requests, avoiding common vulnerabilities like session fixation.
- ✦Designed consistent, structured error responses across all auth endpoints to prevent information leakage (e.g., not revealing whether an email exists), improving both security and UX.

Health Centre Management System
A Java-based Westminster Health Centre Management System developed as university coursework, handling appointment scheduling and patient data management through a clean object-oriented design. It solves the challenge of organizing healthcare workflows programmatically with reliable data persistence using file handling. The project demonstrates real-world system design thinking within an academic context.
- ✦Applied core OOP principles — encapsulation, inheritance, and polymorphism — to model real-world entities like patients and appointments, making the system intuitive to extend.
- ✦Implemented file-based data persistence to retain patient and appointment records between sessions, simulating a basic but functional storage layer without a database dependency.
- ✦Focused on clean system design and debugging practices, producing a maintainable codebase that mirrors the separation of concerns expected in production-grade Java applications.

Traffic Analyzer — Python
A Python-based traffic data processing and visualization tool that reads CSV files, validates date inputs, computes key traffic metrics, and generates vehicle-frequency histograms for analysis and reporting. It solves the problem of manually interpreting raw traffic datasets by automating metric extraction and visual output. Built as a university project, it demonstrates practical data engineering and visualization skills.
- ✦Designed a CSV ingestion pipeline with date validation upfront, preventing downstream errors and ensuring only clean, relevant data enters the processing logic.
- ✦Generated vehicle-frequency histograms programmatically to turn raw numerical data into immediately interpretable visual insights without requiring external BI tools.
- ✦Structured the tool around modular processing steps — read, validate, compute, visualize — making it easy to swap out data sources or extend with additional metrics in the future.
From Concept to Code </>
Open to full-time and freelance work, I specialize in crafting dynamic web applications that perform efficiently and scale well.