01About

Hi, I’m OshadhaWijayarathne.

I'm a Computer Science and Engineering undergraduate at the University of Moratuwa. I build backend services, full-stack products, and developer tools, and I'm looking for a software engineering internship.

Developer IDCSE · UoM

Oshadha Wijayarathne

Software Engineering Undergraduate

Based in
Galle, Sri Lanka
GitHub
@oshadhaw63
Focus
Backend services, full-stack products, and developer tools
Location
Galle, Sri Lanka
Education
B.Sc. Eng. (Hons) CSE, University of Moratuwa
Interests
State transitions, service boundaries, and dependency tracing
Currently
Open to software engineering internships

I like the parts of engineering where correctness meets product behaviour.

I like the parts of engineering where correctness meets product behaviour: modelling state transitions, drawing sensible service boundaries, tracing dependencies, and making a complicated workflow understandable to the person using it.

Most of my work so far has been in university projects and team builds, ranging from a C++ matching engine to an authenticated mobile app and an operations backend. Each project page here says what is actually implemented, what is not, and which parts were mine.

I am looking for an internship where I can contribute to maintainable software and learn from people who care about it.

See what I’ve built

02Skills

The elements I build with.

A periodic table of the languages, frameworks, and tools on my CV, grouped by layer from languages to testing.

03Work

Six things I’ve built.

Each with what it does, what it does not do, and which parts were mine. Open a case study for the full story.

Illustration

01 / 06Developer tooling

RepoLens

Solo project · In progress

An explorer that turns a JavaScript or TypeScript repository into a searchable dependency map.

Key features
  • Scans a local workspace or a public GitHub repository for JavaScript and TypeScript files.
  • Extracts imports, exports, functions, and classes from the AST instead of matching text.
  • Builds folder and import edges, then renders the graph with React Flow.
  • Ranks search results across filenames, paths, summaries, symbols, and imports.
  • Suggests a six-file reading path and flags files with rule-based risk signals.
  • Next.js
  • TypeScript
  • TypeScript Compiler API
  • React Flow
  • Tailwind CSS
Illustration

02 / 06Mobile & identity

UniAttend

Team of 4 · In progress

A React Native student attendance app where I own the login and session layer.

Key features
  • Expo Router app foundation with shared UI components and typed feature services.
  • Keycloak login using the Authorization Code Flow with PKCE.
  • Token persistence in device secure storage, with expiry margin, restoration, refresh, and logout.
  • Authentication-based route protection and a tested student profile flow.
  • Jest, React Native Testing Library, and GitHub Actions checks for types, lint, and tests.
  • React Native
  • Expo
  • TypeScript
  • Keycloak
  • OpenID Connect
  • PostgreSQL
  • GitHub Actions
Planner dashboard showing planning stages and fleet status

03 / 06Backend & operations

Pharma Availability Control Tower

Team of 4 · Working MVP

A planning tool for pharmaceutical supply: shortage forecasts, dispatch plans, approval, and audit trails.

Key features
  • FastAPI endpoints for dashboard data, inputs, orchestration, plan review, reports, and demo operations.
  • Approval creates reservations and transfers, while separate business events move physical stock, so the audit trail stays intact.
  • Vessel and lorry arrival simulators that exercise the operational state transitions.
  • Render deployment configuration and a planner shell that works on smaller screens.
  • FastAPI
  • Next.js
  • SQLAlchemy
  • MySQL
  • Docker
  • Render
Illustration

04 / 06Distributed systems

Disaster Response System

Team of 20 · Completed

The web command centre for a 20-person platform: incidents, alerts, resources, and role-aware access.

Key features
  • Command centre pages for alerts, analytics, incoming reports, resources, and the incident map.
  • Authentication context, reusable route guards, typed permissions, and role-aware navigation.
  • Unit tests covering permissions, filters, validation, and dashboard statistics.
  • Graceful behaviour when the database is unavailable, plus later work on alerts and audit access.
  • Next.js
  • TypeScript
  • Socket.IO
  • Kafka
  • PostgreSQL
  • Docker
  • Vitest
Illustration

05 / 06C++ systems

Flower Exchange

Solo project · Completed

A C++ order matching engine with price-time priority, partial fills, and a live browser dashboard.

Key features
  • Validates required fields, supported instruments, side, price, and quantity before an order reaches the book.
  • Keeps price-sorted buy and sell maps with a FIFO queue at each price level, guarded by a mutex per book.
  • Supports full and partial executions at the resting order's price.
  • Runs either as a batch CSV processor or a multithreaded TCP server.
  • Streams browser orders and execution reports through a Socket.IO to TCP bridge.
  • C++
  • STL
  • TCP/IP
  • Multithreading
  • Node.js
  • WebSockets
  • React
Illustration

06 / 06Programming languages

RPAL Interpreter

Team of 2 · Completed

A Java interpreter for RPAL: scanner, recursive-descent parser, tree standardisation, and a CSE machine.

Key features
  • Regex-backed scanner for identifiers, integers, strings, operators, punctuation, and comments.
  • Recursive-descent parser following the RPAL grammar, producing a child-sibling AST.
  • Standardisation rules for let, where, within, functions, simultaneous definitions, and recursion.
  • CSE evaluation with control and value stacks, environments, closures, tuples, and built-ins.
  • A set of RPAL programs with expected trees and output for manual verification.
  • Java
  • Lexical analysis
  • Recursive-descent parsing
  • AST
  • CSE machine

04Experience

Committees & activities.

Alongside my projects, I have served on these committees.

  1. 01

    Committee role

    Partnership Development Committee Member

    CSESS, University of Moratuwa

  2. 02

    Committee role

    Partnership Development Committee Member

    Hit the Grounds

  3. 03

    Committee role

    Publicity Committee Member

    SLIoT Competition

05Education

Education & training.

From A/Levels in Galle to Computer Science & Engineering at the University of Moratuwa.

  1. 2022

    Richmond College, Galle

    G.C.E. Advanced Level

    Three A passes.

  2. 2023

    Institute of Java and Software Engineering

    Comprehensive Master Java Developer Diploma

    Java, OOP, MySQL, design patterns, Spring Boot, React, and JavaFX over eight months.

  3. 2024— Present

    University of Moratuwa

    B.Sc. Engineering (Hons) in Computer Science & Engineering

    CGPA 3.76 / 4.00. Dean's List in semesters 3 and 4.

    Coursework

    • Data Structures & Algorithms
    • Database Systems
    • Operating Systems
    • Computer Networks
    • Software Engineering
    • Computer Architecture
    • Advanced Software Engineering

06Achievements

Moments I’m proud of.

A few numbers from my studies and projects, each one taken from my CV.

  • 3.76/ 4.00

    CGPA

    B.Sc. Engineering (Hons) in Computer Science & Engineering, University of Moratuwa.

  • 2

    Dean's List semesters

    Named to the Dean's List in semesters 3 and 4.

  • 6

    Projects built

    From a C++ matching engine to an authenticated mobile app and an operations backend.

  • 20

    People on my largest team

    The Disaster Response System, where I built the web command centre.

  • 3

    A passes at A/Level

    G.C.E. Advanced Level at Richmond College, Galle.

07Certifications

Always learning.

Certifications and training outside the degree programme.

  1. 01

    High-Performance and Mission-Critical Software Development Using C++

    LSEG

  2. 02

    AWS Academy Graduate: Cloud Foundations

    AWS Academy

  3. 03

    AWS Academy Graduate: Microservices and CI/CD Pipeline Builder

    AWS Academy

08Contact

Let’s get
in touch.

The quickest way to reach me is email. I am happy to talk about internships, or about any of the projects above.

oshadhaw.23@cse.mrt.ac.lk