Uzzair Web Studio

Kuala LumpurMYTOpen for work

TenderDB

Reworked TenderDB's user panel so search and listings load faster.

TenderDB.com pulls tender opportunities from newspapers, online portals, and other sources, then pushes them to contractors and suppliers via web, smartphone, and email.

The platform had been running for years. It worked until the listings database got big enough that it didn't. Pages loaded slowly. Search results took too long to appear. Users trying to catch time-sensitive tenders were stuck waiting on a tool that was supposed to save them time.

I started with a performance audit to find where things were breaking down. The database was the worst of it: queries were written without indexes, fetching far more data than any page needed. I rewrote the slow ones, added the missing indexes, and cut the redundant calls.

From there I replaced the bulk data loads with pagination and lazy loading. The browser stopped trying to render everything at once. Server-side and client-side caching went in next, so repeat requests stopped going to the database at all.

On the frontend, I stripped out assets that had accumulated over the years: unused scripts, unminified files, resources blocking the initial render. Load times dropped.

I also cleaned up the user panel. The layout had grown cluttered alongside the database. Finding a tender, filtering the list, tracking something: each took more clicks than it should. I simplified the structure so those jobs took fewer clicks.

The platform is faster now, and it stays fast as the listings keep growing.