Legacy styles, new library
Moving from Perfect Scrollbar to ng-scrollbar broke the old .ps styles. I updated them and reset min-height where only one column should scroll.
I'm Pansilu, a Senior UI/UX Engineer at GTN Tech. I turn complex product problems into clear, useful experiences, then build the systems that make them real.
I'm a UI/UX engineer who designs and builds. I started by designing and coding websites for university projects and designathons, and designing posts for the Gavel Club of the University of Colombo. Since 2023 I've been at GTN Technologies, turning Figma designs into React and Angular. I do my best work with cross-functional teams, in the space between a Figma file and a shipped product.
Outside work, I've taught maths in rural schools and helped undergraduates with spoken English and public speaking.
I'm part of the UI team in GTN's front-end engineering group, working alongside our Senior and Associate UI/UX Leads. I design and code UI across GTN's products, and I support other teams on their projects.
Reworking onboarding into a clearer journey for new customers.
Turning Figma designs into production-ready React components.
Fixing Angular 17 upgrade issues on a platform used by 130+ clients.
UI/UX and front-end support for other teams across the company.
I design on top of a design system: variables, components and auto layout in Figma. The same decisions carry straight into code. Switch the view to see a real service card from a wedding package and pricing screen as a design, a spec and a component.
Dressing, hair & makeup per bridesmaid; booked alongside a bridal package.
// Figma variables map one-to-one to classes export function ServiceCard({ name, description, price, tag, meta }) { return ( <article className="flex flex-col gap-2 p-4 w-full rounded-lg border"> <header> <h3 className="text-lg font-semibold">{name}</h3> <p className="text-muted">{description}</p> </header> <div className="flex items-center justify-between"> <span className="text-xl font-semibold">{price}</span> <Badge>{tag}</Badge> </div> <p className="text-sm text-muted">{meta}</p> </article> ); }
Two projects in depth: a freelance product built on its own design system, and a confidential UX review for a fintech platform.
A parent app that brings fees, attendance, weekly reports, teacher chat and events into one place, designed on a system of 270 variables and 162 button variants.
A review of the multi-section application corporate clients complete before they can trade: ten usability issues found, each paired with a proposed solution.
Moving from Perfect Scrollbar to ng-scrollbar broke the old .ps styles. I updated them and reset min-height where only one column should scroll.
Other styles were overriding the grid's row highlights. I found the conflicting rules and fixed them.
I build from shared components, and flag design inconsistencies early so the team can settle them before they reach code.
A concept app for real travel stories shared by other travellers, instead of polished influencer content. I led every step, from framing the problem and user stories to information architecture, wireframes, visual design and a prototype.
Read the case study ↗Promoted twice in three years at GTN Technologies. I bring a systems mindset to every screen, whether I'm designing a flow or debugging the last 10%.
Every screen I design ends up as a grid of tiny squares. Drag the slider to change the pixel size, and hover over the portrait to read any pixel's colour, like the colour picker in Figma.
Open to freelance UI/UX projects and conversations about design and front-end roles. Send a note and I'll get back to you.