Dileepa

Peiris.

Full-stack developer & open source contributor building complete applications — from clean interfaces to robust backends with an eye for quality.

Sri Lanka
GitHubLinkedIn
ReactNext.jsTypeScriptReact NativeExpoNode.jsBallerinaPythonKotlinFirebaseMediaPipeAI AgentsServiceNowpgVectorReactNext.jsTypeScriptReact NativeExpoNode.jsBallerinaPythonKotlinFirebaseMediaPipeAI AgentsServiceNowpgVector

Experience

Where I've Worked

Industrial experience building real-world products at scale.

Cut+Dry
Cut+Dry

Cut+Dry

Quality Engineering Intern

07/01/26 – Present

Ongoing
01
Playwright UI Automation
E2E Tests

Automating AIO Tests (Jira) cases as Playwright end-to-end tests for the Cut+Dry web platform — following the framework's data → constants → page object → flow → fixture → spec layering so every test stays reusable and reviewable.

PlaywrightTypeScriptAIO TestsJira
02
Regression Suites
QA

Maintaining the UI automation and distributor-platform regression suites — every new test is verified headed in a real browser, flaky selectors are healed, and each PR carries a captioned video of the run as evidence.

RegressionPage ObjectsGitHub Actions
03
AI-assisted Test Generation
AI

Generating tests with a Claude Code workflow that fetches a test case by ID, writes the Playwright test, runs it headed, self-heals failures and opens the PR — with batches running in parallel git worktrees, one PR per case.

Claude CodeAI AgentsGit Worktrees
WSO2
WSO2

WSO2

Software Engineering Intern

06/01/25 – 06/01/26

500+

PRs

1

Year

01
Customer Portal
Web App

New WSO2 customer portal for 800+ customers — zero downtime since migration. React frontend, Ballerina backend & ServiceNow integrations with AI and WebSockets.

ReactTypeScriptBallerinaServiceNowAsgardeoChoreoPNPM
02
Oxygen UI Design System
Design System

Built oxygen-ui-charts-react by wrapping Recharts, and contributed reusable components — side nav bar (MUI wrapper), icon library (Lucide wrapper) — powering UI across all WSO2 products.

ReactTypeScriptRechartsMUI
03
AI Agents
AI Featured

Built AI agents for the WSO2 Super App and Con App — intelligent automation and assistant features powered by GPT-4o, LangChain, and a Python FastAPI backend with pgvector.

PythonFastAPILangChainGPT-4oBallerina
04
WSO2 Super App
Mobile App

Full-stack mobile app contributions using React Native — new features, AI integrations, frontend & backend improvements.

React NativeBallerinaPythonAsgardeoFirebaseExpoChoreo
05
WSO2 Con App 2026 (North America)
Micro App

Converted the WSO2 Con native iOS/Android app into a React micro app — feature development and bug fixes.

ReactBallerinaChoreo
06
WSO2 Con App 2025 (Asia)
Mobile App

Feature development and bug fixes for the WSO2 Con 2025 mobile app.

React NativeBallerinaChoreo
07
Authenticator App
Micro App

Added a feature to directly add the WSO2 TOTP secret — streamlined MFA onboarding using Asgardeo Native Authentication.

ReactTOTPAsgardeoBallerinaChoreo
08
Asgardeo SDK Contributions
2 PRs Merged

PR #382: Fixed ID token validation failure for tokens with multiple audiences — changed jose.jwtVerify() audience param from string to array. PR #416: Added granular config options to disable automatic SDK API calls (SCIM2, organizations, branding) for improved performance and developer control.

TypeScriptReactNext.js
09
pgVector Connector
Connector

Introduced Ballerina methods for the WSO2 pgVector connector — extended vector DB capabilities.

Ballerinavector DBspgVector
10
13 WSO2 Certifications
13+ Certs

Certified across the WSO2 ecosystem — API Manager, Identity Server, Ballerina, Choreo, Asgardeo and more.

ChoreoAsgardeoBallerinaAPI Manager
Expo
Expo

Expo

Open Source Contributor

2025 – Present

Open Source
01
BlurView inside MaskedView — iOS
PR #52291 · Merged

expo-blur rendered blank when a BlurView was the mask target of MaskedView. Moved the effect setup from draw time to layoutSubviews, so the UIVisualEffectView is created once the view has real bounds. Shipped with a public reproduction app and before/after screenshots.

SwiftiOSexpo-blurSDK 58
02
DateTimePicker Calendar Squeeze — Android
PR #48125 · Merged

The Material3 DateTimePicker dialog squeezed the calendar after switching from input mode. Fixed the dialog sizing in @expo/ui so the calendar keeps its full height when the mode toggles back.

KotlinJetpack ComposeExpo UIAndroid
03
FieldGroup Empty Rows — Android
PR #46874 · Merged

FieldGroup rendered an empty row or section whenever a conditional child evaluated to false. Fixed the Compose child handling in @expo/ui so falsy children are skipped instead of drawn as blank rows.

KotlinJetpack ComposeExpo UIAndroid
04
Numeric X Axis — Expo Charts
PR #41236 · Merged

Added numeric x-axis support to the Expo UI Chart component — enabling time-series and continuous-axis charts. Updated ChartDataPoint in TypeScript to accept string | number, added transformDataPoint() for Swift interop, and extended all chart mark types (bar, area, line, point, rectangle) in SwiftUI to handle both categorical and numeric axes.

TypeScriptSwiftSwiftUIExpo UI
05
Android Color Crash Fix
PR #44023 · Merged

Fixed an Android crash when passing CSS-style rgb()/rgba() strings to props decoded as android.graphics.Color — extended ColorTypeConverter in expo-modules-core to parse these formats, and added Robolectric unit tests to lock the behavior including whitespace variants.

AndroidKotlinExpo Modules Core
06
SecureStore Docs Fix
PR #40729 · Merged

Fixed a documentation inconsistency in expo-secure-store — the docs incorrectly stated that data is deleted on app uninstall, but iOS Keychain data persists after uninstallation by Apple's design. Clarified the real behavior to prevent developer confusion around sensitive data persistence.

DocsiOSKeychainexpo-secure-store
07
expo-audio AudioStream Hardening
4 PRs · Open

Four fixes for the SDK 58 AudioStream API, each proven with a stub harness that compiles the real native code: Android events now report the stream state at queue time and drop buffers from a stopped session, the AudioRecord is released even when stop() throws, reading stops on ERROR_DEAD_OBJECT, and on iOS a failed start() removes its tap while non-interleaved input is converted instead of silently falling back.

KotlinSwiftAVAudioEngineAudioRecordexpo-audio
08
MenuView Trigger Layout — iOS
PR #52237 · Open

@expo/ui MenuView triggers grew without bound and broke on rotation because the SwiftUI host measured with an unbounded width. Added a bounded-by-host measurement path in ExpoViewShadowNode so triggers fill their parent and wrap, with a rotation reproduction app.

SwiftC++FabricExpo UI
09
Docs: Chart Component & File System
2 PRs · Open

Documentation for the SwiftUI Chart component, and working bundled-asset examples for expo-file-system's bundleDirectory (e.g. reading bundled resources with arrayBuffer()).

Docsexpo-file-systemExpo UI
AndroidX
AndroidX

AndroidX

Open Source Contributor · Jetpack Compose

10/25/26 – Present

Change approved
01
ModalBottomSheet Post-fling Fix — Material3
Change 4389664

A HorizontalPager inside a Material3 ModalBottomSheet lost its horizontal overscroll because SheetDefaults' onPostFling reported the whole remaining velocity as consumed on both axes. Changed it to report only the sheet axis and added a ModalBottomSheetTest case. Reviewed with Code-Review +2 and Presubmit +2 on AOSP Gerrit, awaiting submit.

KotlinJetpack ComposeMaterial3Gerrit
02
Minimal Reproduction & Bug Report
Repro

Plain-Compose app with an instrumented test that fails on Material3 1.5.0-beta02 and passes on 1.4.0, plus screen recordings — filed on the Google Issue Tracker with the repro linked.

KotlinCompose UI TestGradle
03
Root-caused from an Expo Report
expo/expo#52068

Started as an @expo/ui BottomSheet issue. Traced the lost pager overscroll through Expo into Material3 and fixed it upstream instead of patching Expo — the fix reaches Expo with the next Material3 bump.

Expo UIAndroidTriage

Projects

Things I've Built

Scroll through each project to explore its screens and features.

dileepapeiris

—

Contributions this year

Loading…
01
Web Application

WSO2 Customer Portal

Serving 800+ WSO2 enterprise customers

New WSO2 customer portal for 800+ customers — zero downtime since migration. React frontend, Ballerina backend & ServiceNow integrations with AI and WebSockets.

👥800+ Customers⚡Zero Downtime
ReactTypeScriptBallerinaServiceNowAsgardeoChoreoPNPM
👥

800+ Users

Zero Downtime Since Migration

WSO2 Customer Portal

High-fidelity UI/UX — colorful, data-rich dashboard with real-time metrics & animated charts
Fully responsive with dark & light mode support across all breakpoints
Integrated 30+ API services — REST APIs, WebSockets, and ServiceNow scripts
Real-time AI agent powered by WebSockets — Nova AI assistant built in
02
Web Application

Oxygen UI Design System

WSO2's official component library & charts

Built oxygen-ui-charts-react by wrapping Recharts, and contributed reusable components — side nav bar (MUI wrapper), icon library (Lucide wrapper) — powering UI across all WSO2 products.

🎨Design System📦npm Package📊10+ Chart Types
ReactTypeScriptRechartsMUIStorybook

Oxygen UI Design System

Built oxygen-ui-charts-react wrapping Recharts — various chart types for WSO2 product dashboards
Icon library wrapping Lucide icons — consistent iconography across the WSO2 ecosystem
Side nav bar component as a MUI wrapper, powering navigation across all WSO2 products
Full Storybook documentation with live component previews and usage examples
03
Mobile App

Skill Bridge

Assistive app for children with neurodevelopmental disorders

A computer vision-powered React Native app helping children with neurodevelopmental disorders build executive functions, daily life skills, and vocational abilities through gamified activities. Built with inclusivity at its core — WCAG accessible, personalized, and therapeutic.

🧠NDD Support👁️Computer Vision🎮Gamified
React NativeExpoTypeScriptFirebaseFirestoreMediaPipe
🏆

🥈 1st Runner-Up

InnovateX Season 2

Skill Bridge

Computer vision game CircloBurst uses MediaPipe Hand Landmark for hand-tracking & visual-motor coordination, plus Typing Game and Match Game for fine motor and cognitive skill building
Voice assistant Finn powered by Expo Speech — guides users through tasks and activities with spoken instructions
Firebase Auth for secure authentication; Firestore for real-time progress tracking, streak system & daily goals
Community forum for caregivers, therapists & educators to collaborate and monitor user progress
04
Mobile App

Boola POP

Sri Lanka's first computer vision game on the Play Store

Sri Lanka's very first computer vision based mobile game — players interact using real-time body movements and gestures captured by the camera, with no controllers or joysticks required.

🇱🇰Sri Lanka's First✋Gesture Control📲Google Play
React NativeExpoKotlinMediaPipeTypeScript
🇱🇰

Sri Lanka's First Computer Vision Mobile Game

Boola POP

AI-powered gameplay driven by computer vision — MediaPipe detects real-time body movements and gestures as the controller
Kotlin native modules integrated into Expo/React Native for advanced native camera and performance features
Cross-platform build with Expo and React Native, published on Google Play Store
Sri Lanka's first computer vision based Sinhala mobile game — a showcase of computer vision and gesture interaction in gaming
05
Mobile App

Avurudu Nakath 2026

Sinhala & Tamil New Year · Google Play

Cultural app with auspicious time countdowns, scheduled notifications and New Year content for Sri Lankan users.

🌸Cultural App🔔Notifications📲Google Play
React NativeExpoTypeScriptExpo Notifications

Avurudu Nakath 2026

Real-time live countdowns for each nakath with a vibrant, festive UI inspired by Avurudu colors
Smart reminders via Expo Notifications — alerts at 10 minutes before, 1 minute before, and exactly on time
Carefully timed and accurate nakath schedule for Sinhala & Tamil New Year auspicious moments
Built with Expo and React Native for a fast, smooth cross-platform experience on Google Play
06
Web Application

BOOK TO GO.LK

Real-Time Event Ticketing Full Stack Application · book-to-go.lk

A robust real-time ticketing platform with live availability updates, an interactive control panel, and a multi-threaded Producer-Consumer backend — built with Angular, Spring Boot, and MySQL.

🎟️Real-time Tickets⚙️Producer-Consumer🔒Concurrency Safe
AngularSpring BootMySQLWebSocketReentrantLock

BOOK TO GO.LK

Real-time ticket availability and status updates via WebSockets — live interface with start, stop, configure & reset control panel
Multi-threaded Producer-Consumer backend using ReentrantLock and condition variables for safe concurrent access to the shared ticket pool — prevents race conditions and deadlocks
Dynamic vendor & customer management through the GUI, with OOP-designed classes (TicketPool, Vendor, Customer) following Single Responsibility and Open/Closed principles
Analytics dashboard visualising ticket sales over time, with MySQL persistence for all transaction data

Achievements

Awards & Recognition

Competition wins, open source recognition, and milestones.

1st Runner-Up

InnovateX Season 2

Skill Bridge · 2025

Computer vision mobile app for children with neurodevelopmental disorders.

Merit Award

IIT Excellence Awards

Skill Bridge · 2025

Recognised for innovation and technical execution at the IIT Excellence Awards.

Super Contributor

Hacktoberfest 2025

Open Source · 2025

Earned the Super Contributor badge for contributions across multiple repositories.

🏛️Recognition

Jun 2025

Top Projects — Cutting Edge 2025

Selected among top projects at IIT's annual Cutting Edge exhibition. Skill Bridge was recognised for its impactful use of computer vision to support children with neurodevelopmental disorders.

🎤Recognition

May 2026

Top 13 Finalist — TEDxColombo 2025 Pitch-a-Thon

Selected as a Top 13 Finalist at the TEDxColombo 2025 Pitch-a-Thon, issued by John Keells. Pitched Skill Bridge to a panel of industry leaders and innovators.

⚡

#16

Sri Lanka GitHub

Committers.top · May 2026

Tap to view ↗

📊

#16

Open Source Rank

Gitista · Sri Lanka · May 2026

Tap to view ↗

Skills

Tech Stack

Technologies I reach for to ship products.

ReactReact
TypeScriptTypeScript
Next.jsNext.js
JavaScriptJavaScript
React NativeReact Native
ExpoExpo
KotlinKotlin
Tailwind CSSTailwind CSS
HTML5HTML5
ReactReact
TypeScriptTypeScript
Next.jsNext.js
JavaScriptJavaScript
React NativeReact Native
ExpoExpo
KotlinKotlin
Tailwind CSSTailwind CSS
HTML5HTML5
ReactReact
TypeScriptTypeScript
Next.jsNext.js
JavaScriptJavaScript
React NativeReact Native
ExpoExpo
KotlinKotlin
Tailwind CSSTailwind CSS
HTML5HTML5
Node.jsNode.js
PythonPython
JavaJava
Spring BootSpring Boot
GitHub ActionsGitHub Actions
BallerinaBallerina
AngularAngular
ChoreoChoreo
Node.jsNode.js
PythonPython
JavaJava
Spring BootSpring Boot
GitHub ActionsGitHub Actions
BallerinaBallerina
AngularAngular
ChoreoChoreo
Node.jsNode.js
PythonPython
JavaJava
Spring BootSpring Boot
GitHub ActionsGitHub Actions
BallerinaBallerina
AngularAngular
ChoreoChoreo
MySQLMySQL
FirebaseFirebase
PostgreSQLPostgreSQL
MongoDBMongoDB
GitGit
FigmaFigma
StorybookStorybook
WebSocketWebSocket
AsgardeoAsgardeo
MySQLMySQL
FirebaseFirebase
PostgreSQLPostgreSQL
MongoDBMongoDB
GitGit
FigmaFigma
StorybookStorybook
WebSocketWebSocket
AsgardeoAsgardeo
MySQLMySQL
FirebaseFirebase
PostgreSQLPostgreSQL
MongoDBMongoDB
GitGit
FigmaFigma
StorybookStorybook
WebSocketWebSocket
AsgardeoAsgardeo

Education

Academic Background

Formal degrees, competitive science, and continuous self-learning.

2023
2023

BEng (Hons) Software Engineering

IIT — University of Westminster (UK)

Jan 2023 – Present

Actively involved in IEEE student activities, participating in hackathons and building full-stack, mobile, and AI projects across every year of study.

2022
2022

Online Courses & Certifications

LinkedIn Learning · WSO2 · Various

2022 – Present

Continuously upskilling through LinkedIn Learning (Java, Spring Boot, Angular, Python, HTML/CSS, OOP) and 13 WSO2 platform certifications spanning Choreo, Asgardeo, Ballerina, and API Manager.

2017
2017

Advanced Level — Physical Science Stream

Taxila Central College, Horana

2017 – 2020

Studied Mathematics, Physics, and Chemistry. Participated in programming competitions and science exhibitions that sparked a path into software engineering.

2007
2007

G.C.E. Ordinary Level — General Curriculum

Kalutara Vidyalaya

2007 – 2017

Completed O/Levels with 9 A passes. Honoured multiple times at school prize givings. Represented school in All Island ICT Exams and zonal educational competitions. Active in football, chess, art competitions, and zonal academic contests.

Community

Writing & Community

Open source answers, technical writing, and community contributions.

Contact

Let's work together.

Open to opportunities, collaborations, and interesting projects.

GitHub

dileepapeiris

LinkedIn

dileepa-peiris

Sri Lanka
© 2026 Dileepa Peiris