Front-end developer · Dhaka, Bangladesh

Hi, I'm Rumi. I build the front end of products people use.

Front-end developer working in React, Next.js and TypeScript — with AI in the loop for the parts it's good at. Six years shipping real interfaces: dashboards, storefronts, checkout flows, a visual builder. Started as a fresher and learned it on the job.

Open to full-time roles, freelance contracts, and remote work.

Abu Hasan Rumi
scroll

Selected work

Four problems worth talking through.

Each one was “figure it out and don't break anything in production.” The details matter more than the logos.

01DevsNest OPC · 2023–24

Schema-driven widget engine

Replaced hand-coded UI components with a JSON schema and a renderer.

The Dynamatic dashboard (React + Laravel) was built feature by feature by a small team with no shared architecture.

Problem
Every dashboard widget was near-identical hand-written code, built independently. Shipping one took about two weeks, and each copy drifted further from the last — styling bugs, inconsistent props, no shared behaviour.
Approach
A senior pointed me at schema-driven UI; I spent a week stuck before it clicked. I designed a JSON schema that describes a widget declaratively, and a renderer that turns any valid schema into a live storefront component. Adding a widget became editing one file. The renderer owns layout, theming and edge cases in one place.
Outcome
Build time dropped from ~2 weeks to a day. Other engineers could ship widgets without touching component code, and fixing the renderer once fixed every widget at the same time.

This was the project that changed how I think about UI work. A widget stopped being something you write and became something you describe — and the surface area for bugs collapsed once the renderer was solid.

  • TypeScript
  • React
  • JSON Schema
~2 wks → 1 day
to ship a new widget
1 renderer
owns every widget's behaviour
Whole team
able to add widgets, not just me
02DevsNest OPC · 2024

Resilient checkout

Error visibility plus a fallback path so a broken component never blocks an order.

Moved from the dashboard to the Dynamatic storefront cart drawer — a handful of merchants, each with a massive customer base. I'd assumed the storefront was the easy half. It wasn't.

Problem
If the cart or checkout button goes down, nobody can pay — and failures were silent. If a component threw, the customer just saw a broken button, and we'd only hear about it through support tickets hours later.
Approach
I read the codebase end to end, asked the person who owned it, and used AI honestly to move faster. Then I added two things: structured error logging that reports the exact failure (message, store, context) to Slack in real time, and a fallback checkout button that always renders — stripped to just “submit the order” so it has almost no way to break itself.
Outcome
Failures now surface in seconds instead of hours, and even during an incident customers can still complete checkout. It reframed reliability for me as a design problem, not just a monitoring one.

The fallback is deliberately dumb. When the real cart throws, we don't try to recover it — we swap in a minimal button whose only job is to submit the order. No upsells, no options, no styling risk. The bar for that path is “money keeps moving,” nothing more.

  • TypeScript
  • Storefront JS
  • Error tracking
  • Shopify
Seconds
to detect a failure, down from hours
Always renders
the fallback checkout path
High-traffic
merchant stores in production
03DevsNest OPC · 2025

Post-Purchase builder

A visual flow builder and its storefront runtime, built from scratch in two weeks.

A large merchant would migrate from a competitor if we could ship a Post-Purchase product we didn't have yet.

Problem
Post-Purchase offers show after checkout but before the confirmation page — a fiddly surface with strict platform rules. We had nothing built, I'd never worked on it, and it needed a node-based flow editor (React Flow).
Approach
I spent the first days not coding: mapping the competitor's flows, every edge case, and what ours would do differently. Then I built both halves — the dashboard flow editor and the storefront runtime — leaning on platform docs, AI and my teammates for the parts I didn't know.
Outcome
Shipped in two weeks. CEO, CTO, my manager and the merchant all signed off; the merchant migrated and stayed. After that the harder briefs started coming to me by default.

The two weeks only worked because week zero went into planning. By the time I opened the editor, the unknowns were small and specific instead of large and scary.

  • React
  • React Flow
  • TypeScript
  • Checkout Extensions
14 days
from empty repo to shipped
React Flow
node-based visual editor
1 merchant
won from a direct competitor
04DevsNest OPC · 2025–present

Recommendation feed, rebuilt live

Turned a basic rules list into a real recommendation engine — with merchants live on it the whole time.

By this point I owned the front-end across five product lines shipping at once. The recommendation feed was the one you couldn't afford to get wrong.

Problem
The existing Rules Feed just showed a static list. Merchants wanted actual recommendations — but they were already running the old version in production, with no maintenance window and no appetite for a regression.
Approach
Same instinct as the checkout fallback, applied to a rollout: ship behind flags, keep the old path alive as a fallback, migrate stores in batches, and verify each merchant on the new engine before switching off the old one. Meanwhile I kept Bundles, Product Options, AB Testing and UGC moving with the team.
Outcome
All five product lines shipped without a single broken store. Over the year, MRR went from $3k to $10k across the ~12-person team I coordinated on the front-end.

Leading didn't change the method, just the scale of it: every risky change ships behind a switch, small before big, and merchants hear about it before it lands — not after.

  • React
  • TypeScript
  • Feature flags
  • Recommendation logic
$3k → $10k
MRR in a year
5 products
shipped in parallel
0 stores
broken in the rollout

Experience

Where I've been putting the hours.

May 2023 – Present

DevsNest OPC

Front-end Developer

Joined as a fresher; grew into the senior front-end role on a Shopify app suite used by high-traffic merchants, and picked up team and delivery responsibilities along the way.

  • Rebuilt the Dynamatic dashboard's widgets (React + Laravel, no shared architecture) as a JSON-schema system with one renderer — new widgets went from a two-week build to a one-file change, and the whole team could ship them.
  • First Shopify Checkout Extensions work, on Navidium Shipping Protection: made a JS-injected checkout widget install cleanly across the mess of different Shopify themes.
  • Own the Dynamatic storefront cart & checkout UI: real-time error reporting to Slack plus a fallback checkout button that always renders when the main component fails.
  • Built Post-Purchase from scratch in two weeks — a React Flow visual builder and its storefront runtime — to win a merchant off a competitor. CEO, CTO and the merchant signed off.
  • Drove the front-end across five product lines (Bundles, Product Options, AB Testing, UGC, a rebuilt recommendation feed); MRR went from $3k to $10k in a year, with a ~12-person team and no broken stores.
  • Plan architecture with the CTO, talk to merchants directly, and use AI throughout — scaffolding, review, refactors — while keeping the design and reliability calls my own.
  • React
  • TypeScript
  • Next.js
  • Laravel
  • Shadow DOM
  • React Flow
  • Checkout Extensions

2021 – Present

Independent

Freelance & personal projects

Front-end-led products, some for real users, some to learn a tool properly. Available for contract work.

  • Shipped an offline-first PWA for a student house to manage shared meals and balances (React + Firebase).
  • Built a gamified LMS with AI-generated quizzes, an accessibility-first form builder, and a Chrome extension that extracts design tokens from any page.
  • Comfortable taking a project from empty repo to deployed — UI, state, data model, auth, CI.
  • Next.js
  • Prisma
  • PostgreSQL
  • React Native
  • Firebase

Beyond the code

Learns by asking
First instinct on anything new is questions and a slow read of the codebase — not a guess.
Owns mistakes
Took a client's checkout extensions live-down as a junior. Owned it, apologised, got another chance — it's why I ship small and safe now.
Calm under pressure
The fear of a big deploy turned into a process I can hand to other people: learn, ship small, ship big.
Looks after the team
Make sure the people around me deliver — and that each of them gets paid properly for it.
Talks to the people using it
Direct lines to merchants about their problems, not a game of telephone through a PM.

What I work with

Front-end first — and fluent enough everywhere else to ship on my own.

I go deep on the interface: state, motion, accessibility, the slow network, the code the next person reads. AI handles the boilerplate; I own the decisions.

Core

  • JavaScript
  • TypeScript
  • React
  • Next.js
  • HTML
  • CSS

Front-end craft

  • Tailwind CSS
  • Framer Motion
  • GSAP
  • Redux
  • Zustand
  • Web Components / Shadow DOM
  • Design systems
  • Accessibility (a11y)
  • Web performance
  • PWAs
  • Responsive / cross-browser

AI in the workflow

  • Claude / GPT for scaffolding & review
  • Prompt design
  • LLM API integration
  • AI features (quizzes, assist flows)
  • Cursor / agentic editors

Reaching into the back end

  • Node.js
  • Express
  • GraphQL
  • REST
  • PostgreSQL
  • Prisma
  • Firebase
  • Shopify APIs

More projects

Things I've built to learn — and kept because they work.

About

I'm Rumi — a front-end developer from Dhaka who likes shipping real things.

I joined my first job as a nervous fresher with a folder of pet projects and no idea how a real team ships. So I asked a lot of questions and read a lot of code line by line, and a few years later I was leading that team.

It wasn't a straight line. I made real mistakes early — including taking a client's checkout extensions live-down by accident. I owned it, apologised, got another chance, and proved it on a harder problem. That's where “ship small, ship safe” comes from. I care about the parts of the front end that don't show up in a demo: the empty state, the error state, the slow network, the code the next person has to read.

These days I build with AI in the loop — for scaffolding, for review, for the features themselves — and I help run a small team day to day, which mostly means making sure the people around me can do their best work and get paid properly for it.

Off the clock it's cricket, too much chai, and mountain trips with friends. I think teams that spend real time together build better software.

Abu Hasan Rumi on a mountain trip
Name
Abu Hasan Rumi
Based
Dhaka, Bangladesh
Focus
Front-end, AI-assisted
Currently
Senior front-end at a product studio
Open to
Full-time · contract · remote
Languages
English, Bengali

Contact

Let's talk — I'm open to a few kinds of work.

Full-time

Onsite in Dhaka or remote — product teams that care about craft.

Contract

Scoped freelance builds: web apps, Shopify apps, MVPs.

Remote

Long-term remote roles with real timezone overlap.

The fastest way to reach me is email or a quick call. No pitch, no pressure — just tell me what you're building.