Imagine the operational backbone of a 35-year business, finally designed for the people running it.
Midtown is one of the most trusted names in US home improvement, 35+ years in market, 10,000+ customers, branches across multiple cities. The internal CRM tied together leads, appointments, jobs, sales, and service tickets, serving salesmen, telemarketers, telemarketing managers, and canvass managers from the same crowded surface. They needed a partner who could redesign every module and ship the implementation in ReactJS alongside their backend team. We did both.
Midtown is one of the most trusted names in US home improvement: 35+ years, 10,000+ customers, multi-branch operations across decking, fencing, roofing, siding, gutters, windows, and doors. The internal CRM was the operational backbone managing leads, appointments, jobs, sales, and service tickets. Years of feature growth had left it crowded, inconsistent, and increasingly slow. The audit named four costs: five workflows on one cluttered surface, one UI for every role, branch as an afterthought rather than a first-class axis, and a field-services CRM stuck on the desk.
The brief was to redesign every module, ship role-specific surfaces, and ship the implementation in ReactJS alongside Midtown’s backend team. We rebuilt the IA with branch as a primary axis (St. Louis, Kansas City, Nashville, Chicago, Atlanta plus an All-Branches roll-up), designed five surfaces on one data model (salesman, telemarketer, telemarketing manager, canvass manager, operations leadership), and translated every design directly into ReactJS with API integration and mobile-responsiveness across every flow. The partnership is still active.
Branch scorecards as the front door. Integrated modules (Contacts, Job Management, Appointments, Service Tickets, Sales CRM). Salesman, telemarketer, telemarketing manager, canvass manager, and operations leadership each open the platform to the version of it that’s actually for them, sharing the same components and data underneath.
Most CRM revamps die in the handoff. We didn’t hand off. Designs translated directly into a component-based ReactJS codebase, APIs integrated with Midtown’s backend, performance tuned for the table-heavy views, and mobile-responsive across every flow. The component system shipped alongside production, so new modules after our work get assembled, not redrawn.
The dashboard is the surface every Midtown user opens first. We rebuilt it as operational truth at a glance. Branch & Production Scorecards across all five cities plus an All-Branches roll-up, each surfacing Total Written, Average Sale, Sales %, Leads Issued / Ran, Total Sales, Total Collected, Total Released. A persistent date-range filter and Add-New-Lead CTA stay pinned to the header, so the most-used action is always one click away.

Five modules now share primitives, share data, and let the user move between them without re-orienting. Contacts (lead lifecycle from inquiry through job completion), Job Management, Appointment Management, Service Ticketing, and the Sales CRM. The Contact detail surface is where the integration shows up most: one record carries contact info, location with Zillow + Google, inquiries, activity, email history, and folder-organized job history across every product line. The customer record is finally one record.


Salesman, telemarketer, telemarketing manager, canvass manager, operations leadership, each opens the platform with a different set of questions. The Salesman view is personal (my sales %, my volume, my appointments, my delayed jobs). The Canvass Manager view is operational, with a multi-filter toolbar and STATS / ISSUE toggle for cross-team triage. The Telemarketer gets direct-call functionality embedded in the contact detail. Same data model, five different jobs.


Most CRM revamps die in the handoff, intent gets lost, components mismatch, performance regresses. We didn’t hand off; we shipped the ReactJS ourselves alongside Midtown’s backend team. Designs translated directly into a component-based codebase, with API integration, performance optimization for the table-heavy views, and full mobile responsiveness so the field team has the same access as the office. The component system shipped alongside production work, new modules after our engagement get assembled, not redrawn.
The new CRM streamlined Midtown’s operational workflows across every role: salesmen, telemarketers, managers, and the leadership above them. Per the case file, feedback at every level was positive on usability, clarity, and efficiency. The partnership is still active; we keep building modules and primitives as Midtown’s operations grow.
Book a free sprintFive working days, a senior product designer on the most painful module in your CRM, with frontend on the table when you need it. If it doesn’t click, keep every file we ship.
Embedded design + frontend pod for a Silicon Valley real-estate platform. The other design+engineering long engagement, acquired by EquityMultiple.