All services Service · UI/UX & Product Design

Prove the interface works before the code gets written

Most design problems are cheap to fix in a prototype and expensive to fix in production. We research the people who will actually use the thing, map the flows, build something clickable, and only then write code. What ships has already been argued about.

Prototype firstClick through the real flows before a line of code is written
Design systemComponents, tokens and states — not a folder of loose screens
Research-ledWe watch the actual work happen before we draw anything
Web + mobileOne product language across browser, iOS and Android
Overview

Design that survives contact with real users

Design here is not a decorative layer applied at the end. It starts with the awkward questions — who opens this every morning, what are they doing either side of it, what happens when the data is messy or half-entered. We have designed for university administrators in Kuwait, school staff in Pakistan and American vets working between appointments, and a fair amount of our work is reshaping products that are already live and already have users to protect.

The output is a working prototype and a design system, not a folder of attractive screens. Because the same studio builds what it designs, nothing gets drawn that we cannot ship: every component maps to a set of Tailwind classes, a React component or a React Native screen. If a design would cost three weeks of engineering for a marginal gain, we say so during the design, not after you have signed off on it.

  • Research firstWe talk to the people who use it
  • Clickable before codeablePrototypes tested with real users before engineering starts
  • Systems, not screensReusable components, tokens and documented patterns
  • Built by the same teamDesigners and engineers in one small studio
What's included

What you get with UI/UX & Product Design.

01

Discovery and user research

We interview the people who will live in the product daily — admin staff, instructors, dispatchers, clinic owners — and watch how they work today, spreadsheets and workarounds included. That research becomes the brief, in writing, for you to correct.

02

User flows and information architecture

Before any visual design we map every screen, state and decision point. This is where scope surprises get caught early: the forgotten refund path, the approval step nobody mentioned, the role that only exists at month end.

03

Wireframes and interactive prototypes

Greyscale wireframes to settle structure and hierarchy, then a clickable prototype you can put in front of actual users. Changing a prototype takes an afternoon; changing a shipped release takes a sprint and a migration.

04

Design systems and component libraries

Type scale, colour, spacing, form patterns, empty states, error states and loading states — named, documented and consistent, so a new screen takes hours instead of days. Built to map directly onto Tailwind and React components.

05

Dashboards and data-heavy interfaces

Freight ERPs and learning platforms are mostly tables, filters and reports. We design for density and scanning: sensible defaults, sticky columns, filters that remember what you chose, and print and PDF layouts that hold up when finance sends them on.

06

Handover and front-end implementation

You get annotated files, design tokens and a component inventory. We can also build the front end ourselves in React, Next.js, Tailwind, Alpine or React Native, which is usually the cheapest way to make sure the built thing matches the designed thing.

How we work

From first call to live.

01

Discovery and audit

A short block of interviews, a walk through your existing product or the spreadsheets it will replace, and a look at what competitors get right. We write down what we heard and send it back for you to correct before anything is designed.

02

Flows and wireframes

Structure before styling. We map the journeys end to end and lay out greyscale screens, so the early arguments are about logic, permissions and hierarchy rather than colour choices.

03

Prototype and validate

A clickable prototype goes in front of real users and your internal team. We fix what confuses them, drop what nobody uses, then agree the direction with you in writing before engineering starts.

04

Final UI, system and handover

Finished interface, a documented design system and a handover session with whoever builds it — often us. Design stays open through the build, because real data always reveals something the prototype could not.

Tools we use

The stack behind the work.

Tailwind CSSReactTypeScriptNext.jsReact Native (iOS + Android)Alpine.jsLaravel BladeNodeHTML & CSSBunny CDN (HLS video players)dompdf (print & invoice layouts)
Questions

Things clients ask us.

We already have developers. Is design worth paying for on top of them?
Your developers will make design decisions whether or not a designer is involved — they'll just make them one screen at a time, under deadline, with no record of why. That's where the expensive rework comes from: three different ways to show a form error, a navigation nobody can extend, a mobile view bolted on at the end. Design earns its keep when a product has real users, several roles or a roadmap longer than a few months. If you're building a small internal tool for a handful of staff who'll be trained on it anyway, tell us — we'll say skip the design phase rather than sell you one.
What research do you actually do before designing anything?
We start with the people who use the thing daily, not the people who commissioned it — a dispatcher entering consignments, a registrar opening a new semester, a clinic manager chasing records. We read your support tickets and watch someone complete the workflow in whatever they use today, including the spreadsheet they've quietly built on the side. We also go through your database and current screens, because the data model usually explains half of what confuses users. To be clear about scale: this is a few days of interviews and observation, not a lab study with recruited panels.
What do we receive at handover, and can our developers actually work from it?
You get a Figma file organised as a component library — type scale, spacing, colour tokens, and every component in its real states: empty, loading, error, too much text, long Arabic strings if your market needs them. Alongside it comes a short written spec for the awkward interactions, because a static frame can't explain what should happen when an upload fails halfway through. If your team uses Tailwind, we map the tokens straight into a config so values match rather than get eyeballed. What we won't hand over is code exported from a design tool — that output is never worth maintaining.
Can you redesign our existing product without confusing the people already using it?
The rule we work to is: change the surface freely, change the vocabulary and the navigation slowly. Density, hierarchy, spacing and controls can all be reworked in one release and most users simply find the result easier. Moving where things live is the risky part, so we phase it — one section at a time, old labels kept as signposts, and a note to your users before anything shifts. Be realistic about the cost: staff who've used the old screens for years will be slower for a week or two, which is worth a short training message rather than pretending it won't happen.
Do we get a clickable prototype before the build starts?
Yes — a linked prototype you can open on your own phone and click through with your own content in it, not placeholder text. We'd rather you argue with it at that stage than three sprints into development, so we run a walkthrough with two or three of your real users and revise off the back of what they struggle with. Two honest caveats: it covers the main paths and the states we already know matter, not every edge case, and it tells you nothing about how the screen behaves on a slow connection. Those get settled during the build.

Show us the screen your users complain about

Send a screenshot, a test login or a pile of support tickets. The fastest way to find what is wrong with an interface is to watch where people already get stuck in it.