Case study 04 — Personal project · E-commerce admin

ISStore
A store admin that's actually usable.

A complete e-commerce admin dashboard I designed and built end to end, twice: once in Next.js + TypeScript and once in plain HTML, CSS and JavaScript. Sign-in with OTP, orders, products, customers, analytics and settings. Every button works, so try it yourself with the demo login.

RoleDesign & front-end
TypePersonal project
IndustryE-commerce · SaaS admin
Live demosNext.js ↗ · HTML ↗
inshaalshahid.com/isstore
ISStore admin dashboard overview with KPIs and revenue chart

01 — The challenge

Why I built it

Most admin templates look good in a screenshot and fall apart once you click. I wanted to show that I can build a real product interface: dense data, many states, forms that validate, and a layout that holds up from a 375px phone to a wide desktop.

02 — My role

Everything, start to finish

Information architecture, UI design, interaction details and the full front-end build, in two stacks. The Next.js version uses the App Router with real routes, route guards, typed reusable components and Zustand state saved to localStorage, so your changes survive a refresh. The HTML version is a single fast file with no framework at all.

Next.js 16React 19TypeScriptZustandRechartsHTML5CSS3JavaScriptChart.js

03 — What I built

Key screens

  • Auth: sign in, sign up with a password-strength meter, an OTP verification step, forgot password and a one-click demo login
  • Overview: KPI cards, 7/30/90-day ranges, a revenue chart, top products and live recent orders
  • Orders: search, filters, sort, pagination, bulk ship, CSV export and a detail drawer with fulfil and refund actions
  • Products: grid and list views, category filters, and add, edit and delete with full validation
  • Customers: built from order data, with a profile drawer and notes
  • Analytics: a conversion funnel, a category breakdown, traffic sources and top countries
  • Settings: profile, store, notifications, security, avatar upload and a 2FA demo

04 — Front-end craft

The details that matter

  • A single state model: shipping or refunding an order updates the badge, the overview and the customer records together
  • Next.js static export: every route pre-rendered and served from plain hosting, with no server needed
  • A Ctrl/Cmd + K command palette to jump to any page or record
  • A sticky sidebar on desktop and a slide-in drawer on mobile, with no horizontal scrolling
  • Inline validation with clear error messages, loading states on buttons and toast feedback
  • Keyboard support and focus handling in drawers, dialogs and menus

05 — By the numbers

What's inside

2versions: Next.js and HTML
11routes in the Next.js app
30sample orders to filter, ship and refund
375px+responsive, phone to desktop

Demo data only. It's a portfolio project, not a live store. Demo login: [email protected] / demo1234, or one click on "Try demo account".

Next case study → RevolHealth