Product UI Sprints for SaaS workflows and React apps

One awkward product workflow redesigned in Figma, built in React, or both. Clear states, responsive layouts and accessible components on your existing stack.

Coral, lavender and amber interface tiles connecting along curved node paths into a structured browser window with a bar chart, toggle and cursor on a cobalt-blue grid.

Most products don’t need a full redesign to feel much better. They have one workflow where users hesitate, such as a dashboard that buries the main action, an onboarding flow that asks for too much at once, or a set of forms that grew without a plan. I take that one workflow, work out the layout and edge states, and deliver it in Figma, in your React codebase, or both.

  • One workflow, end to end

    We pick the specific journey to fix, such as onboarding, a dashboard view, or a settings area, and agree every screen and role it touches before starting.

    Three connected interface cards on a lavender grid showing a coral sign-in step, a white settings step with a toggle, and a blue completion step with a mint checkmark.
  • Every state accounted for

    Empty views, loading skeletons, validation errors, confirmations and narrow screens are designed alongside the happy path instead of left to guesswork.

    Four square interface cards in a 2x2 grid on a sky-blue background showing an empty state with a dashed border and plus icon, a loading skeleton state, a coral error state with a warning icon, and a blue completion state with a green checkmark.
  • Figma, React, or both

    Hire me for the Figma redesign, bring your own Figma files for React implementation, or have me design and build the workflow in one pass.

    A white design canvas with vector handles on the left connected to a blue code editor and component preview window on the right on a royal-blue blueprint grid.
  • Built on what you already use

    I reuse the components, tokens and library your product already has, and only introduce new pieces where the workflow genuinely needs them.

    Existing UI controls and a color token bar feeding into a composed chart card on a warm peach grid background.
  • Responsive and accessible

    React deliverables are tested for keyboard navigation, focus order, contrast and responsive layout at the screen sizes we agree in the quote.

    Desktop and mobile device frames showing the same layout connected by an orange-amber keyboard focus path to an arrow key tile on an aqua-mint grid.
  • Yours to keep, with 14 days of fixes

    You get a clean Figma file or a documented pull request in your repository, plus 14 days of bug fixes on the work I delivered.

    A merged git branch card with a green checkmark alongside a two-week calendar grid on a periwinkle-blue blueprint background.

You don’t need to commission a full Design System to fix one part of your app. Every sprint starts with a free review of the target workflow, and the written quote names the routes, states, screen sizes and deliverable format before you commit.

Why start with one workflow.

When a product grows fast, the rough edges rarely spread evenly. Sign-up might be fine while the main workspace feels crowded, or the core feature works well until someone tries to filter a table, invite a teammate or recover from a failed form submission. Fixing the one journey people use every day gives you a visible improvement in a week or two, without pausing the rest of your roadmap.

A crowded team settings page with four competing header buttons, an invite form that only says Invalid input, eight permission checkboxes, an eight-column members table, a pending invites table reading No data and a raw status code 422 error toast.
The same members page after a sprint: one Invite people action, an invite panel that flags each rejected email with its reason and still sends the valid one, three explained role choices, a simple team list and a designed empty state for pending invites.

The hardest part of most UI work isn’t drawing the default screen. It’s the decisions around it, like what happens when a new account has no data yet, which fields actually need to be on step one, how an inline error behaves when a request fails, and what stacks or collapses on a smaller laptop screen. Leaving those questions until implementation means engineers have to invent them under a deadline.

An AI-generated Token Monitor dashboard with a health score ring, four colour-bordered metric cards repeating the same numbers, a flat rainbow stacked area chart, a donut chart and a cramped nine-column runs table.
The same Token Monitor dashboard after a sprint: a dark summary card stating that instructions are 78% of weighted tokens and above the 75% limit with one Inspect Run 03 button, a limits panel with watch and high bands, a daily chart highlighting Run 03, a token mix list and a simplified runs table.

That gap shows up even faster in apps built or extended with AI tools like Cursor, Lovable or v0. A prompt can generate a working screen in minutes, but three prompts often produce three different ways to filter a list, save a form or show an error. A sprint pulls that workflow onto one clear pattern in your existing React codebase, without pretending you need a backend rewrite.

And when the same person designs the flow and writes the React components, nothing gets lost in a handoff doc. If your engineers prefer to build it themselves, I hand over structured Figma screens with every state spelled out. If you already have approved Figma files and need them in code, I can start straight from there.

What are we improving?

A sprint works best when we can point to one part of the product and say what feels slow, confusing or unfinished. Pick your workflow and how you’d like it delivered to see what’s involved.

Which part of the product needs work?

Good for:

  • Clarifies what belongs at a glance and what belongs in a drill-down or filter.
  • Covers empty, loading, filtered and zero-result states alongside the populated view.

Keep in mind:

  • New metrics or filter combinations need your API to expose the underlying data.
  • Heavy custom charting or real-time streaming is scoped after reviewing your data shape.
How should I deliver it?

Good for:

  • We agree the screens and states in Figma first, then I build them in your React codebase.
  • The person who designed the interaction writes the component and route code, so nothing gets lost in handoff.

Keep in mind:

  • Starts at $1,000 for a single workflow.
  • Works against your existing API or a mocked data layer we agree before starting.

For code delivery, the stack is React with TypeScript, and usually Tailwind CSS and shadcn/ui, Radix or Base UI. If your product uses another component library or custom CSS, I work with what’s there. I can build against your live API or a mocked data layer we agree upfront. Authentication, database changes, backend endpoints and brand identity creation stay outside the sprint, or are scoped separately if you need them.

Workflows I’ve designed and built.

For My Next Filing, a browser-only tax planner for Indian freelancers that made the top 10 out of 13,694 entries in Build What Moves India, the whole product came down to two workflows. One is a questionnaire that adapts to how you earn, and the other is a plan view that tells you the single next action to take.

The plan opens on one card showing what to do next, how much is left to pay, the due date and the official portal.

Every new income type made the form longer, so half the design work went into cutting questions back down. Fields appear only when earlier answers make them relevant, plain-language help text sits where tax jargon would stop someone cold, and users can’t mark a tax payment complete while the balance is still owed.

The five-step questionnaire in React 19, Tailwind CSS and shadcn/ui on Base UI.

WeKeep, the accounting platform I’m building now, uses the same approach across invoicing, bookkeeping and admin workflows, with clear hierarchy on data-heavy screens, keyboard-friendly forms and shared React components that behave the same way in light and dark mode.

Before WeKeep, I ran Drool, a design studio for early-stage startups. For SellScale, we redesigned the campaign builder, analytics dashboards and onboarding across more than 200 screens so sales teams could set up multi-step outreach without getting lost.

SellScale's multi-step campaign builder and management workflow

For MyDrip, an AI shopping app, we mapped and designed the onboarding and preference-capture flow so users could upload photos and get outfit recommendations without a heavy setup wall.

MyDrip's web onboarding flow

Priced by workflow, quoted after a review.

A settings page and a multi-role onboarding journey aren’t the same job, so I quote a fixed price after reviewing your workflow. Every quote names the screens, states, responsive breakpoints and deliverable format included. These examples show where most sprints land.

  • Workflow design

    One workflow redesigned in Figma, or built in React from your approved Figma.

    From $500

    About 1 week

    • Review of the target workflow and its friction points
    • Revised layout and interaction flow for the agreed screens
    • Empty, loading, error and confirmation states
    • Desktop and mobile breakpoints where the workflow needs them
    • Structured Figma handoff or a React PR from your existing designs
  • Design and React build

    One workflow redesigned in Figma and implemented in your React app.

    From $1,000

    1–2 weeks

    Everything in Workflow design, plus:

    • React components and routes built on your existing UI stack
    • Connected to your live API or an agreed mocked data layer
    • Keyboard, focus and WCAG 2.2 AA contrast checks on the changed screens
    • Delivered as a documented pull request with 14 days of bug fixes
  • Multi-flow overhaul

    Several connected workflows redesigned and built in React.

    From $2,500

    2–4 weeks

    Everything in Design and React build, plus:

    • Multiple connected flows, such as onboarding through to the main dashboard
    • Shared components extracted so the flows stay consistent
    • Milestone reviews as each workflow lands

For a $500 sprint, payment is upfront before work starts. On larger quotes, you pay a non-refundable deposit of 25% of the quote or $500, whichever is more, and the balance at handoff or across agreed milestones. On a $2,500 quote, the deposit is $625. Once you accept the quote, the price stays fixed for the agreed scope.

When one workflow turns into more.

Starting with one workflow keeps the commitment small. If you later want to go further, overlapping work is never charged twice.

Additional workflows can be booked one at a time or in batches once the first sprint ships.

A full Design System makes sense when the same buttons, forms and tables are drifting across several parts of the product or across multiple apps. Any components and tokens we establish in a sprint carry straight into the system.

Ongoing frontend work is available on a monthly retainer if you want me to keep designing and shipping new product flows with your team.

From review to handoff.

You work with me directly at every step. Most single-workflow sprints take one to two weeks from deposit to handoff, and nothing gets built in code until you’ve approved the direction.

For Figma-only or React-only sprints, we skip straight to the half you need. Every checkpoint is reviewed before moving on.

The review starts with a short call or a recorded walkthrough of the workflow you want to improve. For a live product, a demo account or staging link with sample data helps me test the current states before quoting. Within two working days, you get a written scope naming the screens, states, deliverables and fixed price. The review and quote are free.

Before we start.

These are the questions people usually ask first. If yours isn’t here, ask me directly.

Let’s look at your workflow.

Tell me which workflow needs attention and whether you want Figma designs, React code, or both. I’ll get back to you within two working days. The review and quote are free, and submitting this form doesn’t commit you to anything.

Step 1 of 2: Your details

Who should I reply to?

Your details

Other services.