NH

Cove

A field service CRM built for the businesses that keep everything running.

Role

Founding Product Designer

Duration

May 2026 – Present

In Development

Scope

0 to 1 End-to-end

Claude Code, Next.js, Tailwind

Team

Solo designer

1 founder

01. The Brief

A friend came to me with a problem he kept seeing in service businesses. Owners were running their entire operation through text threads, spreadsheets, and gut instinct. He wanted to build a CRM designed specifically for that world. I came on as the founding designer and built the product from zero, owning everything from the design system through a fully functional interactive prototype.

02. The Problem

Small service businesses have no good software built for them. Cleaning companies, auto detailers, pest control operators, anyone who travels to their clients. Enterprise CRMs are too complex. Generic tools do not account for routing, employee dispatch, or the job-by-job payment model these businesses run on. The owner is usually also the scheduler, the salesperson, and the technician. They need something that thinks like they do.

01

Jobs live in text threads

02

Scheduling is manual and error-prone

03

No visibility into revenue or patterns

04

Client history is scattered or nonexistent

03. Design System

Built in Code First

Rather than designing in Figma and handing off to a developer, I built the design system directly in code using Claude Code. Every design decision was immediately testable in the real product rather than approximated in a mockup. A token file defines every color, spacing value, border radius, and shadow level as CSS variables consumed throughout the app. Components were built on top of Shadcn/UI with Tailwind utilities mapped to the token system.

Cove Design Tokens

tokens.css

Indigo brand · warm neutrals · Geist · 4px base

Brand · indigo

--color-primary-*

50

100

200

300

400

500

600

700

800

900

950

600 is the brand default. Logo, primary actions, focus ring.

Neutral · warm gray

--color-neutral-*

50

100

200

300

400

500

600

700

800

900

950

Semantic

success · warning · error · info

Success

#16A34A

Warning

#F59E0B

Error

#EF4444

Info

#0EA5E9

Type scale

Geist Sans

5xlCove48px
3xlCove30px
xlCove20px
baseCove16px
xsCove12px

Spacing

4px base

1
4px
2
8px
4
16px
6
24px
12
48px
24
96px

Radius

xs → 3xl

sm

4px

base

8px

lg

10px

xl

12px

2xl

16px

3xl

24px

Elevation

--shadow-*

xs

md

xl

04. Core Product

The Product

Cove covers the full operational surface of a service business: scheduling, client management, payments, team communication, and business intelligence. Every screen was designed around one principle. The owner should be able to understand the state of their business in under 10 seconds.

01

Dashboard

The dashboard leads with four YTD stat cards so the most important numbers are visible immediately. The revenue chart sits below rather than above the stats because context matters more than the chart itself. Recent activity on the right keeps the owner aware of what is happening without requiring navigation.

02

Creating a Booking

Creating a booking is a four-step guided flow in a slide-over panel: choose the client, pick the service, set the schedule, and confirm. A progress bar tracks each step. Client details like address and contact pull straight from the profile so the owner never re-enters the same information. The schedule step shows an inline calendar with flagged days, 30-minute time slots, and employee assignment. On confirm, a success animation plays and the new booking appears instantly on the calendar, the bookings list, and the dashboard.

03

Bookings and Calendar

We tested a list view first. Owners kept asking where their Tuesday was. Calendar became the default. Job pills are color coded by status so the owner can scan the week at a glance. Clicking a day opens a side panel rather than navigating away, preserving the calendar context.

04

Job Detail and Status Timeline

An earlier version buried the status timeline below the job details. Owners were missing it entirely. We moved it to the top. Each state has a timestamp and a one line description. Marking a job complete is the primary action because it is the most frequent interaction in the product.

05

Client Profile

Booking history is the first thing visible on a client profile because service businesses live on repeat customers. The re-engagement signal surfaces clients who have not booked recently so the owner does not have to go looking.

06

Payments

Weekly view was chosen over monthly because service businesses get paid job by job and need to see patterns at that resolution. Overdue rows have a soft red tint so nothing slips through without the owner noticing.

07

Phone

The conversation interface mirrors a familiar messaging pattern because most of these owners communicate with clients over text. The business number is shared across employees so client conversations are never trapped on one person's phone.

05. AI Integration

Intelligence Built In

The original scope had AI everywhere, on every page and every action. We cut it down to three moments where it saves real time and stays invisible everywhere else. Every feature that did not survive that cut was removed because it added decisions for the owner rather than removing them.

01

Payment Follow-ups

On the Payments page, opening the AI panel surfaces a revenue summary tailored to that screen. A month-over-month comparison of this month versus last, a list of overdue invoices each with a one-tap send reminder, and a forward projection of where the month will land if pending payments clear.

02

Post-Job Communication

When a job is marked complete a single card slides in with a pre-written follow up message ready to send. One tap sends it. We considered putting this in the phone page as a chip menu with multiple options. Owners did not want to choose. They wanted it done.

03

Dashboard Insights

The dashboard surfaces two or three proactive insights the owner would otherwise have to go looking for. We capped it at three cards maximum. More than three and owners stopped reading them entirely.

06. Reflection

What I Learned

Building Cove taught me that the hardest product decisions are not about features. They are about what to leave out. The original scope from the brief was enormous. Getting to a focused and coherent product meant constantly asking which screen matters most and which interaction does the most work. The AI integration was the sharpest version of that question. Every AI touchpoint in the final product survived because it removed a real decision for the owner, not because it was technically possible.

What I would do next

A mobile companion app for employees in the field, a client facing booking portal, and a live Supabase backend replacing the seed data.