Work out what is actually needed
Who uses it, what it has to do, what it must not do. Getting this wrong is more expensive than any bug I write later.

I'm Seniru Dilmith, a computer science and engineering undergraduate at Moratuwa. I design and build software across the full stack.
What I work with
Four stages, give or take. In practice they overlap and loop back on each other, but this is roughly the order things happen in.
Who uses it, what it has to do, what it must not do. Getting this wrong is more expensive than any bug I write later.
Data model, routes, and where the boundaries between services sit. All of it is cheaper to change now than after launch.
Screens, state, and the API underneath. Error and loading states get built at the same time, not bolted on at the end.
Deploy, watch what breaks, fix it. Then keep changing it based on what people actually do rather than what I assumed.
Who uses it, what it has to do, what it must not do. Getting this wrong is more expensive than any bug I write later.
Data model, routes, and where the boundaries between services sit. All of it is cheaper to change now than after launch.
Screens, state, and the API underneath. Error and loading states get built at the same time, not bolted on at the end.
Deploy, watch what breaks, fix it. Then keep changing it based on what people actually do rather than what I assumed.
I’m Seniru Dilmith, a computer science and engineering undergraduate at the University of Moratuwa. Most of what I know came from shipping things and then having to fix them.
I tend to care about the parts that get skipped: empty states, what happens on a bad connection, and whether the thing is still usable with a keyboard.
01 / Education
B.Sc. Eng (Hons) in Computer Science & Engineering (Undergraduate)
University of Moratuwa
Where I tend to be most useful on a project.
Interfaces, APIs and the database underneath. I build the whole thing, and I pick the stack that fits the problem rather than the one I used last.
Working out the data model, the service boundaries and the failure modes before any of it gets written down as code.
Shipping a build and keeping it running: Docker containers, orchestration on Kubernetes, CI pipelines, and the monitoring that tells you when something broke.
I’m open to work and freelance projects. If you have something in mind, or just want a second opinion on an approach, send me a message.