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
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.
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.
Jobs live in text threads
Scheduling is manual and error-prone
No visibility into revenue or patterns
Client history is scattered or nonexistent
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
Spacing
4px base
Radius
xs → 3xl
sm
4px
base
8px
lg
10px
xl
12px
2xl
16px
3xl
24px
Elevation
--shadow-*
xs
md
xl
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.
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.
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.
