CRM your small team will actually use

One conversation. I built a complete sales CRM — pipeline board, contact management, activity tracking, and a live dashboard. No setup, no migration, no monthly seat fees. Describe what you need. Start closing deals.

Overall stats

  • Prompts: 5
  • Time: ~ 19 min
Category
Business
Features
DatabaseDrag & DropSearch & FiltersInteractive ChartsForms & Input
Author
Macaly
Database

1. Build the core CRM

One prompt. I create four views, a real-time database, and a Notion-inspired design. Dashboard with live stats, contacts table, kanban pipeline, activity log. Everything connected from the start.

Build a CRM for a small sales team. I need four views: a dashboard with pipeline value, won/lost revenue, conversion rate, average deal size, and a monthly performance chart. A contacts page with a searchable table showing name, company, email, status, and total deal value. A pipeline view as a kanban board with columns for lead, contacted, proposal, negotiation, won, and lost. And an activity log for calls, emails, meetings, and notes. Design it clean and minimal, inspired by Notion. Use a dark sidebar with navigation icons.

Search & Filters

2. Add smart filters

Now the data is actually usable. Filter contacts by status, company, deal size. You stop scrolling through lists and start finding who you need in two clicks.

Add filters to the contacts page. I want to filter by status (lead, active, inactive), by company (dropdown populated from existing companies), and by deal size range — no deals, under $10K, $10K–$50K, $50K–$100K, and $100K+. Add a clear filters button when any filter is active.

Forms & Input

3. Streamline contact creation

I removed the friction from the most common workflow. Adding a deal or linking a contact? You don't leave the screen. Searchable picker, inline form. Stay in flow.

When adding a deal, replace the plain contact dropdown with a searchable contact picker — let me type to filter by name, company, or email. Add a "New contact" button that opens an inline form right there so I can create and select a contact without leaving the dialog. Do the same in the deal detail sidebar — add a "New contact" button at the bottom of the contact picker with an inline form.

Forms & Input

4. Improve the editing experience

No more accidental saves on blur. Click a field, see it highlight, make your change, hit Save or Enter. A green checkmark confirms it worked. Small details. They add up.

Redesign how editable fields work in both contact and deal detail views. When I click a field, it should enter edit mode with a highlighted background. Show Save and Cancel buttons at the bottom, plus keyboard hints — Enter to save, Esc to cancel. After saving, show a brief green "Saved ✓" indicator for 2 seconds. Auto-select the text on focus so I can start typing immediately.

Drag & Drop

5. Add drag & drop to the pipeline

Grab a deal card, drag it to another stage, drop it. The column highlights on hover. Empty columns say "Drop here." The database updates instantly. Now it feels like a real tool.

Add drag & drop to the pipeline so I can move deals between stages by dragging the cards.

What the agent did

  • Kanban pipeline with drag & drop

    Six stages — lead, contacted, proposal, negotiation, won, lost. Each column shows deal count and total value. I built native HTML5 drag and drop: grab a card, drag it across, drop it. The stage updates in real time. No extra libraries. No loading spinners.

  • Contact management with smart filters

    Full contact table with inline search, status badges, and deal value per contact. Three filter types — status, company, deal size range — that work together. Filters populate dynamically from your real data. Not hardcoded dropdowns. Your data.

  • Real-time dashboard with live analytics

    Six stat cards: pipeline value, won revenue, lost revenue, conversion rate, average deal size, total deals. Plus a 6-month line chart for won vs lost trends. All numbers update live as you move deals through the pipeline. No refresh needed. I already took care of it.

  • Inline contact creation everywhere

    I added a searchable contact picker to the deal creation dialog and the deal detail sidebar. Both include a "New contact" form that opens inline — create a contact and link it to a deal in one flow. No page navigation, no context switching. Because who wants to leave the screen just to add a name.

  • Editable fields with clear feedback

    Every field uses the same interaction: click to edit, Save/Cancel buttons, keyboard shortcuts, confirmation checkmark. I built three reusable components — text, select, and value fields — all following the same pattern. Consistency isn't a feature. It's the baseline.

  • Activity tracking across every touchpoint

    Log calls, emails, meetings, and notes against any contact or deal. Each activity shows who, when, and the full description. Filter by type, search by keyword. The timeline builds itself as your team works.

  • Real-time database, no backend setup

    I provisioned a Convex database with four tables — contacts, deals, activities, and next steps — plus search indexes and relational queries. Every change syncs in real time across all open tabs. No API routes, no caching logic, no polling. You said "CRM." I handled the infrastructure.

  • Notion-inspired design system

    Dark sidebar, muted colors, consistent spacing. Charcoal primary, rounded cards, subtle borders, typographic hierarchy that makes dense CRM data feel calm. Not a template. I looked at your content and designed around it. Because a CRM that looks cluttered won't get used.

Winner winner chicken dinner