Software engineer · front-end & product lead

Fresher to product lead in four years. Still shipping the front end.

I joined a Shopify app company as a fresher and now lead the product while still writing the front end myself. Along the way I built the dashboard's architecture, added a fallback for checkout failures, and shipped a React Flow builder in two weeks from an empty repo. Most days I work in React, Next.js and TypeScript, reaching into Laravel when the feature needs it.

Abu Hasan Rumi

Open to full-time, contract, and remote work. Replies within a day.

Selected work

A vague brief, a live product, and no room to break production.

Every project started with a vague brief and the same expectation: figure it out without putting production at risk. The details tell the story better than the logos.

01DevsNest OPC · 2023–24

Schema-driven widget engine

I replaced hand-written widgets with a JSON schema and one renderer.

The Dynamatic dashboard ran on React and Laravel. A small team had built it feature by feature, without a shared architecture to tie the pieces together.

Problem
Every dashboard widget was almost the same hand-written code, built independently. Shipping one took about two weeks, and each copy drifted further from the last. Styling bugs appeared, props became inconsistent, and shared behaviour was hard to share.
Approach
A senior pointed me toward schema-driven UI. I designed a JSON schema to describe a widget and built a renderer that turns any valid schema into a live storefront component. Adding a widget became a one-file edit. Layout, theming and edge cases lived in the renderer instead of being copied into every component.
Outcome
Build time dropped from ~2 weeks to a day. Other engineers could ship widgets without touching component code, and a fix in the renderer reached every widget.

This project changed how I think about UI work. A widget became something we could describe instead of rewrite. Once the renderer was solid, there were fewer places for bugs to hide.

02DevsNest OPC · 2024

Resilient checkout

A broken component should not be able to stop a customer from checking out.

I moved from the dashboard to the Dynamatic storefront cart drawer, used by a handful of merchants with large customer bases. I had assumed the storefront would be the easy half. It was not.

Problem
When the cart or checkout button went down, nobody could pay, and we often did not know right away. A component error looked like a broken button to the customer, then arrived for us hours later as a support ticket.
Approach
I read the codebase end to end, asked the person who owned it, and used AI to move faster. Then I added structured error logging that reports the exact failure (message, store, context) to Slack in real time. I also built a fallback checkout button that does one thing, submit the order, so there is very little surface area left to fail.
Outcome
Failures now reach us in seconds instead of hours. When the main component fails, the fallback still gives customers a way to complete checkout. I started to see reliability as something you design into a product, then monitor.

The fallback is deliberately simple. When the real cart throws, we do not 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 simple: money keeps moving.

03DevsNest OPC · 2025

Post-Purchase builder

I built a visual post purchase upsell flow builder and its storefront runtime from scratch in two weeks.

A large merchant was ready to migrate from a competitor if we could ship a Post-Purchase product we did not have yet.

Problem
Post-Purchase offers appear after checkout and before the confirmation page, under strict platform rules. We had nothing built, I had never worked on that surface, and the product needed a node-based flow editor using React Flow.
Approach
I spent the first few days away from the editor, mapping the competitor's flows, the edge cases, and what ours would do differently. Then I built both halves, the dashboard flow editor and the storefront runtime, using platform docs, AI and my teammates when I reached something I did not know.
Outcome
We shipped in two weeks. The CEO, CTO, my manager and the merchant all signed off; the migration went through and the merchant stayed. After that, the harder briefs started coming to me by default.

The two weeks only worked because the first days went into planning. By the time I opened the editor, the unknowns were small and specific rather than large and vague.

04DevsNest OPC · 2025–present

Recommendation feed, rebuilt live

I replaced a basic rules list with a recommendation engine while merchants stayed live.

By then I owned the front end across five product lines shipping at once. The recommendation feed was the change we had to handle carefully.

Problem
The existing Rules Feed showed a static list. Merchants wanted real recommendations, but the old version was already running in production. There was no maintenance window and no tolerance for a regression.
Approach
I used the same approach as the checkout fallback during the rollout. We shipped behind feature flags, kept the old path available, moved stores in batches, and checked each merchant on the new engine before turning the old one off. At the same time, I kept Bundles, Product Options, AB Testing, and UGC moving with the team.
Outcome
All five product lines shipped while merchants stayed live. Over the same year, MRR across the app suite went from $3k to $10k, with a ~12-person cross-functional team I was leading by then.

Leading did not change the method. It changed the scale. Risky changes still ship behind a switch, small before big, and merchants hear about them before they land.

Experience

The work that got me here.

May 2023 – Present

DevsNest OPC

Software Engineer · front-end / product lead

I joined as a fresher and grew into the proper engineer on a Shopify app suite used by high-traffic merchants. Now I lead the product day to day with a team across front end, back end, QA and support, while still owning the front end hands-on.

  • The Dynamatic dashboard had no shared widget architecture, so I rebuilt its widgets around a JSON schema and one renderer. A new widget went from a two-week build to a one-file change, and the whole team could ship them.
  • On my first Shopify Checkout Extensions project, I made Navidium Shipping Protection's JavaScript-injected checkout widget install cleanly across different Shopify themes.
  • I own the Dynamatic Slide Cart Drawer, including real-time error reporting to Slack and a fallback checkout button for main-component failures.
  • Built Post-Purchase from scratch in two weeks: a React Flow visual builder and its storefront runtime. The feature unblocked a merchant migration, and the CEO, CTO and merchant signed off.
  • Drove the front end across five product lines: Bundles, Product Options, AB Testing, UGC and a rebuilt recommendation feed. MRR across the suite went from $3k to $10k in a year while merchants stayed live.
  • Lead a ~12-person team across front end, back end, QA and support. I plan architecture with the CTO, talk to merchants directly, and still handle front-end implementation myself.
  • React
  • TypeScript
  • Next.js
  • Laravel
  • Shadow DOM
  • React Flow
  • Checkout Extensions

2021 – 2023

Independent

Freelance & personal projects

Before and around my first job, I built front-end-led products for real users and used personal projects to learn tools properly.

  • Built an offline-first PWA for a student house where people could manage shared meals and balances (React + Firebase).
  • Built an LMS with AI-generated quizzes, squads, streaks and certificates; an accessibility-first form builder; and a Chrome extension that extracts design tokens from any page.
  • I can take a project from an empty repo to deployment, including the UI, state, data model, auth and CI.
  • Next.js
  • Prisma
  • PostgreSQL
  • React Native
  • Firebase

Beyond the code

Learns by asking
When something is new, I start with questions and a slow read of the codebase. Guessing comes later, if at all.
Owns mistakes
When something I ship goes wrong, I say so, fix it, and carry the lesson into the next decision. That is why I ship small and safe now.
Calm under pressure
The fear of a big deploy became a process I can hand to other people: learn, ship small, then ship big.
Talks to the people using it
I prefer talking to merchants about their problems directly instead of passing everything through a PM.

What I work with

I go deep on the front end and far enough across the stack to finish the job.

Most of my attention goes to the interface: state, motion, accessibility, the slow network, and the code the next person has to read.

Production experience

Interface systems

  • React Flowproficient
  • Zustandproficient
  • TanStack Queryproficient
  • React Hook Formproficient
  • Zodproficient
  • Immerproficient
  • Shadow DOMproficient
  • IndexedDBcomfortable
  • Chrome APIscomfortable
  • PWA APIscomfortable

Used in Post-Purchase builder · FlexiForm · WebPeekr

Shopify platform

  • Checkout Extensionsproficient
  • Shopify Liquidcomfortable
  • Shopify CLIcomfortable
  • Shopify Polariscomfortable
  • Shopify Functionscomfortable
  • Shopify APIscomfortable

Used in Resilient checkout · Post-Purchase builder

Full-stack delivery

  • Reactproficient
  • Next.jsproficient
  • Node.jsproficient
  • GraphQLproficient
  • REST APIsproficient
  • MongoDBproficient
  • Firebaseproficient
  • PostgreSQLcomfortable
  • Prismacomfortable
  • OpenAI APIscomfortable
  • JWTproficient
  • RBACproficient

Used in Recommendation feed · Edulance LMS

More tools +

Supporting toolkit

Platform & reliability

  • AWS Lambdacomfortable
  • CloudFrontcomfortable
  • S3comfortable
  • Cloudflare Workerscomfortable
  • GitHub Actionscomfortable
  • Sentrycomfortable
  • Lighthouseproficient
  • Chrome DevToolsproficient
  • BullMQcomfortable
  • Drizzlecomfortable

Frontend craft

  • JavaScriptproficient
  • TypeScriptcomfortable
  • Tailwind CSSproficient
  • GSAPcomfortable
  • Framer Motioncomfortable
  • Accessibilitycomfortable
  • Vitestcomfortable
  • Vitecomfortable

Personal & familiar

Personal & familiar

  • React Nativefamiliar
  • Anthropic APIscomfortable
  • OAuthcomfortable
  • Clerkproficient
  • Vuecomfortable
  • Railwaycomfortable
  • Turborepocomfortable
  • Buncomfortable
  • Codex · Claude Code · OpenCodeworkflow

Praise

What the people I worked with remember.

These are two LinkedIn recommendations: one from the product lead I worked with directly, and one from the senior engineer who mentored me early on.

“I had the pleasure of working with Rumi while leading a product team, and his performance was nothing short of exceptional. Rumi consistently delivered high-quality work, showed strong ownership, and brought a sharp problem-solving mindset to every challenge. He's proactive, reliable, and a true team player — someone you can count on to elevate any project. Highly recommended.”

MD Zulhaz Uddin Joy

Led the product team Rumi worked on

May 2025

“Such a nice guy who is always eager to learn and listen. I have directly worked on a project with him and he was a great team player too.”

Opu Hasnat

Senior on the Dynamatic team, now Technical Writer @ CHEQ

June 2024

“A cart drawer that can’t go down, five product lines shipped in parallel, and MRR across the app suite from $3k to $10k in a year - with no store broken in the migration.”

The results behind the reviews

DevsNest OPC · 2025-26

See all recommendations on LinkedIn →

More projects

Side projects that started as practice and found a use.

Notes

Recent notes

See all notes

About

I'm Rumi. I build software, lead teams, and keep learning from what goes wrong.

I got here the unglamorous way: leading a small team while still writing the front end myself, because someone had to, and it turned out I was good at both the building and the clearing-the-path part.

I've never been drawn to the kind of engineering that ends at the demo. I care more about what happens afterward: when the network is slow, a user is confused, or the data takes a shape nobody planned for. Software earns trust quietly, by continuing to work when nobody is watching. That is the standard I hold my own work to.

It's also why I ship in small, deliberate steps rather than big leaps. Small changes are easier to reason about, easier to undo, and easier for the next person to read six months from now with no memory of why a decision was made. I'd rather move a little slower and be certain than move fast and hope.

Outside of work, I look for places that pull me out of my routine. I’ve felt the unexpected cold of Nijhum Dip, watched the hills unfold in Sajek, and carried that same curiosity through Bandarban, the Maldives, and Nepal. Now I’m learning to capture those trips with a camera, slowly figuring out how to tell the story of a place instead of simply passing through it.

Abu Hasan Rumi smiling in a blue checkered shirt
Name
Abu Hasan Rumi
Based
Dhaka, Bangladesh
Focus
Front-end craft and system design, leaning into product
Currently
Software Engineer at DevsNest OPC, leading the product
Looking for
A full-time engineering role (contract & remote also open)
Languages
English, Bengali

Contact

Let's talk. I'm looking for a full-time engineering role.

Full-time

The main thing I'm after: product teams in Dhaka or remote that care about front-end craft and shipping safely.

Remote

Long-term remote roles with real timezone overlap.

Contract

Open to scoped freelance builds too: web apps, Shopify apps, MVPs.

The fastest way to reach me is email or a quick call. Tell me what you're building and what kind of help you need.