Skip to content
All projectsMigrationMay 2023 – Nov 2023

Gyloop B2B application

The first migration — React and ANTD onto Next.js.

Interface

  • Representative interface still for Gyloop B2B application
  • Representative interface still for Gyloop B2B application

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.

After: one structure

10+ pages and 20+ components, organised by feature.

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.