Skip to content

I build interfaces that don't get in the way.

Aditya Dwi Wicaksono · Frontend Engineer

Currently on web engineering at Stockbit / Bibit. Before that, four years on Tokopedia's Digital Goods web platform team.

02 · Selected Work

Work that shows how I operate

A few examples of how I actually work.

Stockbit / Bibit · 2026

Migrating 229 files to React 19 and Ant Design v6

Ant Design v6 shipped a long list of breaking API changes. It landed at the same time the app needed to move to React 19, so any regression during that window could have come from either upgrade.

I audited every affected call site across 229 files first, keeping React 19 compatibility issues separate from Ant Design’s API breaks. Then I rolled the migration out in reviewable batches so the rest of the team could keep shipping on the same codebase.

No user-facing regressions, and no freeze on other feature work.

  • React 19
  • Ant Design v6
  • TypeScript

Stockbit / Bibit · 2026

Designing an explorable shareholder network graph

Ownership data is relational: investors, companies, cross-holdings, all connected. A static table or chart doesn’t let you explore any of that. Drawing the graph itself turned out to be the easy part. Getting someone unfamiliar with the data to trace a relationship without losing their place took more work.

I focused on the interaction model first. Nodes expand on demand instead of rendering the whole network at once, there are clear affordances for tracing a path between two entities, and the UI stays legible as the graph grows.

It shipped in 2026 and is live in the product.

  • React
  • TypeScript
  • Data viz

Tokopedia · Mid 2022-Early 2026

Rebuilding how Tokopedia creates promos

Tokopedia’s promo and voucher creation ran through several legacy tools, each with its own quirks and rough UX. I was loaned from the Digital Goods team to Promo for a project to unify them into one platform.

I owned the hardest part of the form: the Benefit and Criteria steps. Promos come in many benefit types and eligibility criteria, so instead of one static form I built a dynamic one that only renders the fields a given promo type actually needs, driven by what the business team configures. That meant nested form lists inside a form that was already changing shape, keeping the API payload correct as fields appeared and disappeared, and validating individual fields without breaking validation on the rest.

Centralizing terms-and-conditions input and redesigning the benefit and criteria steps cut a real source of human error in promo creation, and removing duplicate fields and redundant approval steps shortened how long it took to create a promo end to end. The platform later went on to support promo tooling for both Tokopedia and TikTok Shop after the integration.

  • React
  • TypeScript
  • Dynamic forms

Tokopedia · Mid 2022-Early 2026

Building the system behind Tokopedia's Digital Goods pages

Pages like tokopedia.com/top-up-tagihan, /donasi-online, and /kartu-prakerja all render from one dynamic page engine my team built. The backend response decides which components appear, so the same engine can produce completely different pages depending on what it’s fed.

The first 7 components on each page render server-side, so crawlers can index the content and low-end devices still get a fast first paint. Everything after that hydrates on the client.

I also set up ByteDance’s interaction tracking (byteio) across these pages. That part was fiddlier than it sounds: every page, and every component within it, needed its own distinct tracking values, and getting those right across a growing set of pages took real care.

  • React
  • TypeScript
  • SSR

Tokopedia · Mid 2022-Early 2026

Adding payment method selection to Digital Goods checkout

This was my last big project at Tokopedia, on a roughly three-day deadline: bring payment method selection into the Digital Goods checkout page.

The checkout API expected the payload as an HTML form submission instead of JSON, and it wasn’t documented anywhere I could find. A malformed payload sent the user straight to a failed-payment page with no useful error to work from. I found the actual payload shape and got a working payment flow live on day one, ahead of the Android and iOS versions of the same feature. The rest of the three days went into edge cases with QA, including installment (tenure) payments.

  • React
  • TypeScript
  • Payments

Tokopedia

More from Tokopedia

  • Partner dashboard

    Maintained features on Tokopedia's partner-facing dashboard for managing digital goods products, including migrating parts of it from JavaScript to TypeScript.

  • Internal tools

    Built and maintained a long list of internal CRUD tools for Digital Goods' product, business, operations, and backend teams. Unofficially, I was the team's professional internal tools builder.

  • MyPortal (Cloud Platform team)

    Contributed to MyPortal, a CRUD dashboard that helped Tokopedia engineers migrate their own environments onto ByteDance's infrastructure after the acquisition.

03 · About

About

I'm a frontend and web platform engineer based in Indonesia. I focus on interfaces that are fast, accessible, and hold up under real production load.

Since March 2026, I've been at Stockbit / Bibit, Indonesia's largest stock investment app. I started on some user-facing work during probation, and now focus on internal and backoffice tools, including internal broker tools built with Tauri. Before that, I spent just under four years (mid-2022 to early 2026) on Tokopedia's Digital Goods team, working across public-facing pages, checkout flows, and internal tooling, including the frontend for a unified promo platform used across Tokopedia and, later, TikTok Shop.

Current stack

  • React
  • TypeScript
  • Next.js
  • Ant Design
  • Redux
  • Tailwind CSS
  • Node.js
  • Tauri

04 · Contact

Let's talk

Open to frontend and web platform roles, remote-first. The fastest way to reach me is email.

adityad.wck@gmail.com

© 2026 Wicak