Client results dashboard
A dashboard a client signs into and sees one number that matters, this month against a baseline, with a five-line note you write once a month and an email that sends it on the first.
What you'll have at the end
A published dashboard with email login, a metrics table filled by a daily Make run, access rules that stop one client reading another's numbers, a monthly note you write in the app, and an email that arrives on the first of the month with the numbers and the note.
What it proves
Accounts to create
What it costs: Free tiers: one Lovable project, the Supabase project you already have, and a Make scenario that runs twice a month plus once a day. No model usage at all.
Have this ready
- The lead-scoring app from the previous build, with its Supabase project and its two test users
- At least six leads in that project's leads table, some of them scoring 70 or more
- Both email addresses you used there, because each one becomes a client here
- A Google account Make is allowed to send mail from
- If you have not built the lead-scoring app, any table with created_at, score and owner_id works; those three columns are the only ones this build reads
How it fits together
- leads table: written by the lead-scoring build
- write_metrics_for_all_clients: counts one day, per client
- Make, every morning: one call, yesterday's date
- metrics table: one row per client per day
- Dashboard: hot leads, against the baseline
- Make, on the 1st: the numbers and your note by email
The steps
1. The tables the client will read
Four small tables beside the leads table you already have: who the clients are, which people may see which client, one row per client per day, and the monthly note. The dashboard in Step 4 reads nothing else.
2. One function that counts a day
The counting itself, written once, in the database. The workflow in the next step only decides when it runs and for which day; it never decides what a number means.
3. A scenario that runs it every morning
One Make module, once a day. It gives the function yesterday's date and nothing else, so the same run can be repeated on any day without changing a number twice.
4. The dashboard the client signs into
The part the client sees: one number that matters, the same number against the baseline, and a box where you write five lines once a month.
5. Proving one client cannot read another
The test that separates a report from a product. Two people, one table, and each of them sees only their own numbers. Then the dashboard goes to a published address.
6. The note that leaves by itself on the first
The last piece of a client-facing product: a report the client receives without opening anything. One scenario, once a month, with the numbers and the five lines you wrote.