Currently — Software Engineering Intern at Tortil Inc.

Pavan Epa

I like understanding how things work, then building them better.

Final-year Computer Science & Engineering undergraduate at the University of Moratuwa, working as a software engineering intern at Tortil Inc. — across cloud infrastructure, frontend engineering and the interface design that sits between them.

What I build

Five areas I keep coming back to. Ordered by how much of my time they take, not by how impressive they sound.

Selected work

Products, systems and the odd experiment. A few of these are running in production; one of them is still being written.

01Product · E-commerceLive

Moramerc

An online merchandise store built for the University of Moratuwa community, running in production at shop.uom.lk.

  1. Catalogue
  2. Browse
  3. Order
The problem
Merchandise for the university community needed somewhere real to live — a storefront people could actually browse and order from, rather than an ad-hoc channel.
My role
Contributed across the product: interface work and storefront engineering.
Approach
A catalogue-driven storefront aimed at a general audience rather than a technical one: browsing has to be obvious, and ordering has to be short enough that people finish it.

02Product · Public webLive

Geologz

A public-facing product site, live at geologz.com — front-of-house engineering where the interface is the product.

  1. Public site
  2. Responsive layout
My role
Frontend and interface engineering for the public site.
Approach
Built for the constraints a public-facing product carries: fast first paint, and responsive behaviour that holds up on the range of devices real visitors actually arrive on.

03Final year projectIn progress

MCdC Framework

My final year research and engineering project at the University of Moratuwa. In progress — the interesting part is still being written.

  1. In progress
My role
Final year project, University of Moratuwa — ongoing.
Approach
Still under active development. I would rather leave this section thin than describe results that do not exist yet; it will be filled in as the work lands.

04Mobile application

EventBn

An event booking application — discovery, event detail and a booking flow designed for a phone rather than a shrunken desktop screen.

  1. Discovery
  2. Event detail
  3. Booking
  4. Confirmation
The problem
Finding an event and actually booking a place at it are two different jobs, and most booking flows treat them as one long form.
My role
Product thinking and mobile implementation.
Approach
Discovery and booking are separated: browsing stays lightweight and scannable, and the booking path is a short, linear flow with the commitment step kept unambiguous.
What made it interesting
Mobile booking is unforgiving about state — a user can background the app mid-flow, lose signal, or return hours later, and the interface has to still make sense.

05Academic · Software engineering projectYear 3

Resume Rover

A blockchain-based resume reviewing system, built as the third-year software engineering group project.

  1. Submission
  2. Review
  3. On-chain record
  4. Verification
The problem
A resume is a claim about yourself that the reader has no cheap way to verify, and the reviewing process around it is scattered across people and documents.
My role
Third-year software engineering project, built as a team.
Approach
Resume review records are anchored on-chain so that a review, once written, is tamper-evident and independently checkable rather than something a single party can quietly rewrite.
What made it interesting
Deciding what actually belongs on-chain. Putting everything there is expensive and leaks data; putting nothing there defeats the purpose. Most of the design work was drawing that line.
  • Blockchain
  • Software engineering practice

Also built

Smaller projects, mostly built to learn something specific

06Institutional system

Ethical Research Clearance System

A system for the Faculty of Medicine, University of Colombo, digitising the ethical clearance process for research submissions.

  1. Submit
  2. Review
  3. Revise
  4. Decision
The problem
Ethical clearance is a multi-party approval workflow with a real paper trail — researchers submit, a committee reviews, decisions have to be recorded and found again later.
My role
Built for the Faculty of Medicine, University of Colombo.
Approach
The workflow was modelled as it actually runs — submission, review, revision, decision — rather than reduced to a form. The value is in the process being legible and traceable to everyone involved, not in the software being clever.
What made it interesting
The users are researchers and committee members, not software users. Anything that needed explaining was a design failure.

07Cloud · Personal project

Java Application on AWS

Deploying a Java application onto a three-tier AWS architecture, to learn the infrastructure by building it rather than reading about it.

  1. Web tier
  2. App tier
  3. Data tier
The problem
Writing an application and running one are different skills. I wanted the second one.
My role
Personal project — architecture, provisioning and deployment.
Approach
A conventional three-tier layout: a public web tier, an application tier in private subnets, and a data tier isolated behind it, with traffic between them controlled rather than assumed.
What made it interesting
Networking is where the learning actually happened — subnets, routing and security groups are unforgiving, and an application that runs perfectly on a laptop tells you nothing about whether it can reach its database in a VPC.
  • Java
  • AWS
  • VPC & networking
  • Linux

08Personal project · LLM systems

RAG Agent

A retrieval-augmented generation agent built alongside the NVIDIA certification — a learning project, not a production system.

  1. Chunk
  2. Embed
  3. Retrieve
  4. Generate
The problem
Retrieval-augmented generation is easy to describe and much harder to make behave, which is a good reason to build one.
My role
Personal project, built while working through the certification.
Approach
The standard shape — documents chunked and embedded, retrieved by similarity at query time, and passed to the model as grounding context — implemented end to end so that each stage could be broken and observed.
What made it interesting
Retrieval quality dominates everything downstream. A confident, fluent, wrong answer is almost always a retrieval problem wearing a generation costume.
  • Python
  • LLaMA
  • Retrieval
  • Embeddings

Experience

Where the work stopped being for a grade and started being for someone else.

  1. 2025 — 2027Current

    Tortil Inc.

    Software Engineering Intern

    Working as an engineer inside a real team rather than on my own projects — across cloud, the frontend, and the interface design that sits between them.

    • Cloud
    • Frontend engineering
    • UI/UX engineering
  2. 2023 — 2024

    Sensus Hub Services Pty. Ltd.

    Web Development

    About a year of web development work — the year the fundamentals stopped being coursework and started being someone else's requirements.

    • React.js
    • Tailwind CSS
    • CSS
  3. 5 years

    Fiverr

    Freelance Developer & Designer

    Five years of client work. Scoping something from a two-line brief, asking the question that reveals what the client actually wants, and shipping on a deadline are skills you only get by doing it repeatedly — and by getting it wrong early.

Academic journey

Four years at Moratuwa, read as a progression: a game, then a system, then a team, then research.

  1. Before

    Curiosity, then a deliberate choice

    Computers were the thing I took apart before I could build anything with them. Getting into Computer Science & Engineering at Moratuwa meant treating A/Ls and the first semester as the entry requirement they are — it was the one department I wanted.

  2. Year 1

    Mystic Mayhem

    A computer game, built in the first year. A game is an unusually honest first project: it either runs at a playable frame rate and makes sense to someone who did not write it, or it does not.

  3. Year 2

    Supply Chain Management System

    The step from a single program to a system — entities that relate to each other, state that has to stay consistent, and users who are not you.

  4. Year 3

    Resume Rover

    The software engineering project: a blockchain-based resume reviewing system, built as a team, with the process — requirements, division of work, integration — mattering as much as the code.

  5. Year 4Ongoing

    MCdC Framework

    The final year project, currently in progress alongside the internship at Tortil.

Beyond code

Roles where the hard part is people and coordination rather than the codebase — and where design, communication and engineering end up being the same job.

Sri Lanka IoT Challenge 2025

Chairman

In collaboration with SLT-Mobitel

Chairing a national-scale technical competition run with an industry partner — the organisational counterpart to building software.

Recognition

  • IEEE Emerging Volunteer of the Term

    IEEE Student Branch, University of Moratuwa2023/24

Certifications

  • Building RAG Agents using Llama
  • Building Transformer-Based NLP Processing Applications
  • C++ Beginner to Advanced
  • Programming with JavaScript for Beginners
  • Game Development and Esports Management

About

The interest arrived early, and it arrived as a question rather than a plan: how does this actually work?

Wanting the answer badly enough turned out to be useful later. Computer Science & Engineering at Moratuwa is a narrow door, and A/Ls and the first semester were the price of walking through it. I paid it deliberately — it was the one department I wanted to be in.

Most of what I know since then came from building something and watching it fail in a specific, informative way. I like the point where a system stops being an abstraction: the request you can trace, the deployment that will not come up, the interface that confuses someone who did not build it. That is usually where the real problem was hiding, and it is the part of the work I enjoy most.

These days that means cloud and frontend engineering at Tortil, a final year project that is very much still in progress, and a steady habit of starting small side projects to learn one specific thing properly.

Degree
Computer Science & Engineering
University
University of Moratuwa
Year
Final year
Now
Software Engineering Intern, Tortil Inc.

Currently

Updated as things change

Studying
Final-year Computer Science & Engineering, University of Moratuwa
Working
Software Engineering Intern at Tortil Inc.
Building
MCdC Framework — final year project, in progress
Exploring
Retrieval-augmented systems, Terraform, observability tooling
  • Cloud & infrastructure
  • Frontend engineering
  • UI/UX engineering
  • Systems and deployment

Contact

Let’s build something interesting.

I am always up for a conversation about a system worth building, a role worth taking, or a problem that has been annoying you for weeks. Internships, graduate roles and collaborations all welcome — so is a question about anything on this page.