Available for new opportunities

Front-end engineerbuilding thoughtful interfaces.

I'm Adib — I design and build fast, accessible web apps end-to-end. React, TypeScript, Node, and the unglamorous bits that make products feel solid.

scroll
01 / About

I care about the part of software people actually touch — but I'm comfortable anywhere in the stack.

My day-to-day is React, TypeScript and Next.js — composable UIs, strict types, animations that feel right rather than just look busy. I obsess over performance budgets, keyboard support and the little details users feel before they can name them.

On the backend I design REST APIs with Node and Express, model data in MongoDB and MySQL, validate boundaries with Zod, and ship with GitHub Actions and PM2. It means I can take an idea from sketch to production without hand-offs getting in the way.

  • 5+
    Years building for the web
  • 20+
    Production projects shipped
  • Full-stack
    Capable, front-end focused
02 / Stack

Tools I reach for

A focused toolkit chosen for shipping reliable, maintainable products — not for the resume.

Frontend

01
  • React
  • TypeScript
  • Next.js
  • Vite
  • Tailwind CSS
  • Framer Motion

Backend

02
  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • MySQL
  • REST APIs

Tools

03
  • Zod
  • Git
  • GitHub Actions
  • PM2
  • Docker
  • Vitest
03 / Selected work

A couple of case studies.

Two recent projects that show how I approach product problems — not just the pretty bits.

Khorshid interface mockup
01Case study

Khorshid

Full-stack commerce platform with AI-assisted product onboarding.

  • Node.js
  • Express
  • MongoDB
  • MySQL
  • LLM
Problem
Operators were drowning in manual order entry, ad-hoc invoicing in spreadsheets, and a product catalog scraped from dozens of suppliers with inconsistent categories.
Solution
An Express + MongoDB platform unifying orders, transactional invoicing on MySQL, and an LLM-powered autofill that maps messy scraped categories to the internal taxonomy.
Technical challenges
  • Designing a transactional invoicing flow across two databases without losing ACID guarantees on the financial path.
  • Keeping the LLM mapping cost predictable while still recovering from low-confidence predictions safely.
  • Building a Zod-validated boundary so dirty scraped data never reached the order pipeline.
Outcome
Cut catalog onboarding time from hours to minutes and replaced spreadsheet invoicing with a single, auditable workflow.
Chain Store interface mockup
02Case study

Chain Store

Three-surface retail platform — storefront, customer panel, admin.

  • Vite
  • React
  • TypeScript
  • Tailwind
Problem
A growing retail brand needed one cohesive product across a public storefront, a logged-in customer area, and an internal admin — without three codebases drifting apart.
Solution
A single Vite + React + TypeScript monorepo with a shared design system and role-aware routing, deployed as three focused apps from one source of truth.
Technical challenges
  • Sharing primitives across surfaces without leaking admin-only types into the public bundle.
  • Designing an admin that stays usable as the catalog and order volume grow.
  • Keeping bundle size honest across three apps that each have different performance budgets.
Outcome
Shipped a consistent brand experience across all three surfaces with shared components, typed APIs, and a unified release flow.
04 / Resume

A short timeline.

The longer version, with proper formatting, lives in the PDF.

  1. 2023 — Now

    Front-end Engineer (Freelance) · Independent

    Building production React/Next.js apps for startups — from design systems to typed APIs and deployment.

  2. 2021 — 2023

    Full-stack Developer · Khorshid

    Led the rebuild of the commerce platform: Express/Mongo backend, React admin, LLM-assisted catalog tooling.

  3. 2019 — 2021

    Junior Web Developer · Early projects

    Cut my teeth on smaller React and Node projects, learning the discipline of shipping under real constraints.

05 / Contact

Have something in mind?

Whether it's a full-time role, a freelance build, or just a hello — the inbox is open.