Gyloop B2B application
The first migration — React and ANTD onto Next.js.
Interface
Representative interface stills.
- Role
- Frontend Engineer Intern
- Organisation
- PT Gyloop Asa Global
- Period
- May 2023 – Nov 2023
- Stack
- React
- Next.js
- TypeScript
- Tailwind
- ANTD
Short explanation
A B2B application built on React, Bootstrap and ANTD that had grown without structure. I contributed to moving it onto Next.js, TypeScript and Tailwind, and introduced a component-based folder structure across it.
This was the first of the three migrations, and the one where I learned what the pattern was.
- React + Bootstrap + ANTD to Next.js, TypeScript and Tailwind.
- A component-based folder structure across 10+ pages and 20+ components.
- Refactoring aimed specifically at maintenance cost, not at features.
The actual problem
The symptom was that every new page cost more than the last one. The cause was that there was no structure to put anything in — two UI libraries layered on top of each other, no convention for where a component lived, and so no way to find out whether the thing you needed already existed.
That's the shape I've now seen three times. The stack is rarely the real problem. The absence of a place to put things is.
Before: two UI libraries, no convention
Bootstrap and ANTD, overlapping.
Original B2B interface built on React, Bootstrap and ANTD
After: one structure
10+ pages and 20+ components, organised by feature.
Restructured application on Next.js and Tailwind
What I'd tell you in an interview
I was an intern and I did not lead this. What I did was refactor existing code specifically to make it cheaper to maintain — which is unglamorous work that nobody asks for, and the only reason the later pages were quick to build.
It's also where I first noticed that I liked this. Being handed an application that already exists, already has users and already has history is a more interesting problem than an empty repository.
Built inside a company, so the live product isn't public. The stills on this page are representative, not captures of the real system. Happy to walk through the architecture and the decisions in a conversation.

