From Figma to Production in 48 Hours: How I Redesigned a SaaS Dashboard

A SaaS dashboard redesign in 48 hours — from audit to Figma to production React components. Here's the exact process, decisions, and tools that made it possible.

amejia
amejia
· 3 min read

A client came to me with a SaaS dashboard that worked but didn’t feel right. Users could complete their tasks, but the interface was cluttered, the navigation was confusing, and the most important metrics were buried under three clicks. They wanted a redesign — and they needed it fast because a major customer was evaluating the product the following week.

I did the redesign in 48 hours. Here’s every step of how it happened.

Hour 0–3: Audit and Prioritize

I started by using the existing dashboard as a real user would. I signed up, imported sample data, and tried to accomplish the three core tasks their users care about most: checking performance metrics, managing team members, and exporting reports.

Within an hour, I had a list of 23 issues. Navigation was inconsistent — some actions were in the sidebar, some in dropdown menus, some behind contextual buttons. The information hierarchy was flat — everything was the same size, the same weight, the same color. And the dashboard’s most important feature (the analytics overview) required navigating away from the home screen.

I ranked every issue by impact and feasibility. The top 5 became the scope. Everything else went to a “v2” list.

Hour 3–12: Design in Figma

I designed three key screens: the main dashboard, the team management page, and the reports view. Not pixel-perfect mockups — high-fidelity wireframes with real data, real copy, and the actual color system.

Key changes:

  • Analytics moved to the home screen. The first thing users see is the data they care about most — total performance, trends, and alerts. No clicks required.
  • Navigation consolidated. Everything lives in one left sidebar with clear groupings: Dashboard, Team, Reports, Settings. No mystery meat navigation.
  • Visual hierarchy established. Primary metrics are large and bold. Secondary data is smaller and muted. Actions are clearly differentiated from informational elements.
  • Data density reduced. Instead of showing everything, show the top-level numbers with expandable detail views. Users who want depth can drill in. Users who want an overview see it immediately.

Hour 12–36: Build with Tailwind + React

I built directly from the Figma designs using React and Tailwind CSS. No intermediate steps. No handoff documentation. I’m the designer and the developer, so the translation from design to code is instant.

Tailwind made this fast. The utility-first approach means I’m writing the design directly in the markup — bg-white rounded-xl shadow-sm p-6 instead of context-switching to a CSS file to define .dashboard-card. For a 48-hour sprint, this saved hours.

I used a component-first architecture. Dashboard cards, metric widgets, data tables, and navigation items are all reusable components. This means the three screens share a consistent look without copying code.

Hour 36–44: Polish and Edge Cases

The last 8 hours were all about the details that make a product feel finished:

  • Loading states with skeleton screens instead of spinners
  • Empty states with helpful messaging (“No team members yet — invite your first one”)
  • Responsive layout that works on tablets (the client mentioned users sometimes check dashboards on iPads)
  • Dark mode support using CSS custom properties
  • Keyboard navigation for all interactive elements

Hour 44–48: Handoff

I delivered a working frontend with real component architecture, responsive layouts, and documentation. Not a prototype — production-ready React components that their engineering team could connect to the existing API.

The client’s feedback: “This is exactly what we needed. How did you do this in two days?”

What Made This Possible

Being both designer and developer. No handoff friction. No misinterpretation of designs. No “the developer built something different from the mockup.” The design and the code are the same artifact.

Using tools I know deeply. Figma, React, Tailwind — I’ve built hundreds of interfaces with this stack. There was zero time spent learning or experimenting with tools.

Ruthless prioritization. 48 hours means you can’t do everything. I did the five things that mattered most and deferred the rest. The product felt dramatically better without touching 80% of the interface.

Working with real data. Every screen was designed with real numbers, real names, and real scenarios. This caught problems that would’ve been invisible with placeholder content.