CoachDesk

From Notion chaos to one screen management tool: Lovable

A client management tool built for a personal trainer to test Lovable as a vibe-coding tool. Prompting as a design skill.

When
Mar 2026
Type
UX / UIProductPrototype
Tools
LovableClaudeFigmaSupabaseNotion

Overview

A client management tool built for my partner A, a personal trainer. He was running 15+ active clients across Notion, Google Sheets, and WhatsApp with no single view of who needed
attention. I built CoachDesk to fix that ~ and used it as an opportunity to seriously test Lovable as a vibe-coding tool.

Role: Solo ~ product thinking, UX design, AI-assisted development

Stack: Lovable + Supabase + Vercel

The Problem

No renewal alerts. No quick client overview. Program dates tracked manually in Notion, workouts written in separate Google Sheets, client contact split across his phone. When I pulled his actual client data, 10 of 15 active clients had programs expiring within 14 days. One was already overdue.

What I Built

  • Dashboard — renewal alerts sorted by urgency, live stats, WhatsApp quick-launch per client

  • Client roster — filterable by status, sortable, live search, with a slide-in detail panel per client

  • Client profiles — program block with renewal badge, Google Sheets link, editable PT notes, contact links

  • Add / Edit flow — modal with inline validation, avatar preview, date warnings, Supabase persistence

  • Archive, search, loading states, toast notifications

What I Learned

Lovable is a strong scaffolding tool ~ layout, components, and basic Supabase wiring all came out clean. Where it needed steering: stateful data logic, data isolation bugs, and anything requiring precise interaction behaviour. The pattern held throughout: the quality of the output is almost entirely a function of how precisely you write the brief.

Vibe-coding doesn’t replace design judgment. It executes it faster.