Principal software engineer / Builder & writer

Good software.
A little soul.

I’m Dilusha. I build platforms, backend systems, and products people use. I’ve been building software professionally since 2012, and I’m still curious enough to lose track of time making something work.

My work spans infrastructure, web and native apps, performance problems, and AI integrations. I help founders and teams build, improve, and ship software. Available for focused, part-time freelance projects.

Platforms / Backend systems / Web & native / AI

Engineering since 2012
The landscape from my original corner of the webAn observatory for ideas.
A note to myself{dilusha}
2,121 thoughts to wander through
Dilusha GonagalaEngineer. Writer.
Still figuring things out.

01 / The workshop

Something stuck?
Let’s move it forward.

A clear problem, a manageable scope, and someone who cares about the details.

A few connected obsessions

Follow what
pulls you in.

Useful software, unlikely beginnings, and questions I haven’t finished asking. Pick a point on the map.

From the notebook / Where it began

Windows 95. Around 64 MB of RAM.

My first computer, in 2004. That’s where my engineering journey began.

By around 2006, I was making a calculator out of roughly 2,000 PowerPoint slides, before I understood what programming was. Seventeen hours later, it worked.

Range / From systems to interfaces

Different kinds
of building.

I work across the platform, the application, and the experience people use. The tools change with the problem.

Platforms & infrastructure

The foundations that keep a product running.

Cloud infrastructure, repeatable environments, deployment pipelines, and production troubleshooting. I work with AWS, Terraform, and CI/CD, including release paths for web products and native apps.

Backend systems

The work behind the interface.

Node.js, TypeScript, and NestJS. APIs, payments, background processing, data access, and performance work. My experience includes commerce products and financial processing where slow queries and system limits matter.

Web & native applications

Software people can actually use.

React, Angular, and Astro for the web. Swift and SwiftUI for macOS. React Native and Expo for iPhone. Projects range from creator tools and learning experiences to menu-bar apps, widgets, and timers.

AI integration & experimentation

Build it, then question the output.

Model integrations, output validation, and evaluation of generated text. I also experiment with Python, LoRA, and QLoRA fine-tuning, including training and evaluating a writing-style adapter. That work is an experiment, not a claim that the quality problem is solved.

Experience / Behind the interface

The work
underneath.

A few problems I’ve worked through, the decisions they needed, and what came out of the work.

Financial systems / Reliability

A processing window that could not keep slipping.

A credit card statement-processing system was struggling to finish within its processing window. Bottlenecks, slow queries, and hard system limits constrained how much work it could get through.

What I worked through

I worked through those constraints with the team, finding several ways to optimize processing and improve slow queries. Where incremental changes were not enough, we rewrote parts of the system from scratch to address the performance problems.

The combination made processing faster and helped the system handle more work within its deadline. The engineering decision was where to improve what we already had, where a rewrite was justified, and how to get more out of a system with limits we still had to work within.

Company details, volumes, and implementation specifics stay private.

AgentsEye / Integration & reliability

An alert is only useful if you can trust it.

Usage readings arrive with different limits and reset cycles. An old reading or a fresh quota window can tell the wrong story if treated as continued consumption.

What I worked through

I built the logic that distinguishes fresh, stale, and unavailable readings, tracks usage across reset cycles, and avoids repeating the same alert.

The app can show when a reading needs attention instead of presenting every refresh as a success. Local history, native widgets, and signed updates make that work useful beyond the first install.

Useful when a product depends on several integrations agreeing about what just happened.

DeSlop / AI product quality

A smoother sentence can still be wrong.

A rewrite can sound better while changing a detail, a time reference, or the meaning of the original.

What I worked through

I worked on validation that compares proposed edits with the source, checks protected details and meaning, and keeps the result editable so the writer has the final say.

The workflow checks proposed changes rather than treating fluent output as proof of correctness. It combines automation with inspection and user control.

Useful when adding AI to a workflow where plausible output is not enough.

FastRight / Mobile & data continuity

An update should not erase someone’s progress.

A timer is simple until the app restarts, its data format changes, or a widget needs to show the same state as the app.

What I worked through

I built around saved timestamps, versioned data migrations, and shared app and widget state. Backup restoration validates the incoming data and keeps a recovery copy before replacing existing progress.

The app is designed to resume ongoing timers and preserve history across restarts and upgrades. People can manage their progress without creating an account.

Useful when software needs to remain dependable between sessions and across releases.

The person behind the pull request

It started with a calculator.
In PowerPoint. Seriously.

I spent 17 hours making it work, before I even knew what programming was. That feeling never really left. Since then, my work has taken me through equipment manufacturing, e-commerce, and fintech.

This site is also where I think out loud about life, kindness, books, and the messy middle of making things. There’s room for all of it here.

A little more about me

02 / The notebook

Things I’m
thinking about.

Open the whole notebook

A good place to start

Tell me what
you’re working on.

A bug that won’t quit? An integration you haven’t had time for? Start with the problem. We’ll work out the next step.

Find out how we can work together

Agent Dex

Dilusha’s corner of the terminal

A guide to my work and notebook.
My AI stand-in, not me replying live.