---
title: "Omise payments merchant dashboard — case study"
description: "Three years architecting the merchant dashboard for Omise's payments platform in React, GraphQL and styled-components, including a major UI architecture refactor."
canonical: "https://asmyshlyaev177.dev/projects/omise-payments-dashboard"
image: "https://asmyshlyaev177.dev/og_image.png"
---

[All projects](https://asmyshlyaev177.dev/projects.md)

3 years on a production payments platform

# Omise — payments merchant dashboard

The merchant-facing dashboard for Omise's payments platform: three years architecting and maintaining it in React, GraphQL, and styled-components, plus an internal D3.js analytics dashboard and a JavaScript SDK bridging a native mobile wrapper to JS mini-apps.

## The challenge

A merchant dashboard is how a business watches its own money move, so the correctness bar sits higher than a typical CRUD UI — and it has to keep holding while the product, the codebase, and the team all grow around it.

## My role

Frontend engineer. Architected and maintained the production merchant dashboard, drove a major UI architecture refactor, and defined API contracts with the backend engineers up front so less work had to be redone. Prototyped a JavaScript SDK bridging a native mobile wrapper to JS mini-apps, built an internal D3.js dashboard for telemetry, and reviewed code across the team.

## Result

Ran in production throughout, including across the architecture refactor. Agreeing the API contracts before implementation cut rework between frontend and backend.

## Built with

-   React
-   GraphQL
-   styled-components
-   D3.js
-   Payments
-   SDK

[Omise](https://omise.co/)

I'm available for full-time remote work in EU timezones. Happy to talk through anything here in more detail.

[Get in touch](https://asmyshlyaev177.dev/#contact)

---

Site summary for LLMs: <https://asmyshlyaev177.dev/llms.txt> · Blog: <https://asmyshlyaev177.dev/blog>
