RaSoft
Dec 2018 — Feb 2021
INTERNAL SYSTEMS · 0-TO-1
Staff got an actual system for employment management instead of ad-hoc process, and visitors to the company site could find and contact the business on any device.
Employment Management System & company web presence · Sri Lanka
Stack
UI · reference build
Dashboard
+ NewTue 1 Jul · Colombo HQ · single source of truth for HR & ops
Present today
112 / 128
88%On leave
9
Pending approvals
7
3 due todayOnboarding
2
Needs your action
Annual leave · Dilani P.
5 days · 14–18 Jul · Engineering
Sick leave · Ruwan J.
1 day · today · Finance
WFH request · Nadeesha K.
2 days · 3–4 Jul · Support
Attendance correction · Kasun M.
Missed clock-out · Mon 30 Jun
Attendance this week
91%avg attendanceA reference build of the flow, drawn in code to show the shape of the work. The production app is under NDA.
The pattern, in code
The lesson from this role, written as the rule I have followed since — the measurement picks the target, not the instinct.
# What I did here: optimized components on instinct, measured nothing.
# What I do now, in this order:
$ npx vite-bundle-visualizer # what actually ships, and to whom
$ npx lighthouse <url> --only-categories=performance
$ node --cpu-prof server.js # where the time really goes
# Only then: code-split, lazy-load, cache. Measure again, and report the
# before/after against the baseline — not as a causal claim.Illustrative — written to show the shape of the decision. Client code is under NDA and none of it appears here.
01 · Context
RaSoft is where I started — first as a Frontend Engineer Intern in December 2018, then as a Frontend Engineer through February 2021. It was seed-stage, which in practice means there is no separate frontend team, no design system, and no one else to hand the hard part to. Two problems sat in front of me. The company's own website was underperforming: the UI was dated, it wasn't responsive, and people dropped out before they ever made contact. And internally, employment management had no system at all — it needed to be designed and built.
02 · The decision
I took end-to-end ownership of the UI rather than picking up tickets. On the site, I revamped the interface around responsive layout and accessibility, on the theory that most of the lost conversions were friction rather than persuasion. On the EMS, I delivered the whole thing from concept to production in React.js, JavaScript, HTML, and SCSS — designing the interactions with the backend engineers rather than waiting for a spec. In a startup that small, the choice on every feature is speed versus a structure that survives the next six months, and I made that call consciously each time instead of always defaulting to speed.
03 · The trade-off I made
Rapid delivery vs. scalable architecture. The honest answer is that I leaned slightly toward architecture and shipped a little slower than I could have — refactoring components rather than duplicating them, and improving performance at the component level while features were still landing. At seed stage that's a defensible but not free choice: some things reached users later than they might have. What I'd defend is the direction, because the EMS was going to be lived in daily, and the site was the company's front door.
04 · What I measured
The site had a number: UX and conversion improved ~15% after the responsive redesign and accessibility work — reported internally, over the months after launch, and it was one of several things changing at once. The EMS was the other half of the job: an internal system that did not exist, designed and built end to end.
05 · Outcome
A complete Employment Management System delivered from concept to production with end-to-end UI development, and a company site rebuilt for responsiveness and accessibility that lifted conversion ~15%. Along the way I ran code reviews and pair-programming sessions to hold quality, improved performance through refactoring and component-level optimization.
06 · What I'd do differently
What I'd do differently: I optimized components before I had any measurement, which is guessing with extra steps. Now I'd profile first and let the numbers pick the target — a habit that later turned into the 40% and 15% load-time wins at Kodez and Axinom, both of which started from a measurement rather than an instinct. The lesson I carry from RaSoft: pair programming and code review were where I actually learned to write maintainable code, and both cost time that always felt like it could be spent shipping. It couldn't.
What it moved
Reported figure
Reported internally at RaSoft over the months after the responsive and accessibility rebuild of the company site.
A business figure I was told rather than one I instrumented, and several things changed at once — a contribution, not an isolated cause.
Engineering practices in play
Own it end to end
Delivered the Employment Management System from concept to production as the sole end-to-end UI owner, rather than implementing a spec handed down.
Accessibility is conversion
Rebuilt the company site around responsive layout and accessibility improvements, lifting UX and conversion ~15%.
Review is where quality happens
Ran code reviews and pair-programming sessions at a seed-stage startup where nothing forced them, to keep the codebase maintainable as it grew.
Each one maps to a specific decision above — the reasoning is on record, not asserted as a trait.