From 9777fe6e2549e24d0b26e17de87ca9865754dd30 Mon Sep 17 00:00:00 2001 From: Keysat Date: Fri, 19 Jun 2026 09:13:59 -0500 Subject: [PATCH] Align BRIEF.md grid card with locked investor model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop 'type badge'/INVESTOR-PROSPECT category and the create-flow 'type' field (no investor type — Existing-Investor is auto-derived from committed $). Card now specs the existing-investor star/accent, Priority as the only corner badge, the 4-stage chip shown only when in pipeline, and last-contact staleness (grey->amber->red, 'Nd stale'). --- design/BRIEF.md | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/design/BRIEF.md b/design/BRIEF.md index 19da1ee..40567cf 100644 --- a/design/BRIEF.md +++ b/design/BRIEF.md @@ -38,7 +38,8 @@ the on-the-go core; everything else stays desktop-only. editable on mobile is **investor name**, **contacts (name + email)**, **notes / communication / outreach log** (logging activity, not composing/sending — see §3a Backend reality), **pipeline stage**, and **reminders** — *and* **creating a new investor** - (name + one or more contacts + type/stage). Still **desktop-only**: commitments/amounts, the + (name + one or more contacts; no type field — Existing-Investor is auto-derived, pipeline stage + optional). Still **desktop-only**: commitments/amounts, the full 20+ column set, column structure, bulk ops, and CSV. So mobile is "create and manage the core investor record + log activity," not the full spreadsheet. - **Create/edit investors go through the Grid — the canonical write path — never Contacts.** @@ -90,8 +91,20 @@ never a wide table. - **View switching, up top (high priority):** a tappable current-view name → **bottom-sheet view picker** (Main / Follow-up / All Investors / … a growing set), plus search. Switching re-filters the card list in place. -- **Card:** ~5 at-a-glance fields — **name · type badge · committed amount · pipeline stage · - last contact**. Tap → **full-screen investor detail** (today's slide-over, promoted). +- **Card:** at-a-glance — **name · committed amount · pipeline stage · last contact**, plus two + derived indicators below. Tap → **full-screen investor detail** (today's slide-over, promoted). + *(Card model is locked — see ROADMAP "Pipeline stages + investor flags/labels — LOCKED SPEC.")* + - **Existing-Investor indicator** (auto-derived from any committed $): a quiet **star by the name + or a thin left accent edge** — *not* a per-card banner. Existing LPs are special; unmistakable + but restrained, in the blue accent. + - **Priority** is the **only top-right corner badge** — a star/pill when flagged, empty otherwise. + Graveyard is not a corner badge (those rows filter out / render muted). Priority + Graveyard are + the only two disposition flags; there is **no investor "type"** — drop any INVESTOR/PROSPECT chip. + - **Pipeline stage** chip shows **only when the row is in the pipeline** (`Lead → Engaged → + Diligence → Commitment`); most rows have none. + - **Last contact** carries staleness: grey when fresh → **amber → red** by age, appending "stale" + past one global threshold (e.g. "35d stale"). Derived from one server value, so grid + mobile + color-code identically. - **Detail + edit:** the full field set is grouped into sections and **read-only**, *except* the editable set: **investor name**, **contacts (name + email — the contact "pills")**, **notes / communication / outreach** (a text area or "log a note" entry), **pipeline stage** @@ -99,8 +112,9 @@ never a wide table. in a **bottom sheet**, one field at a time — no spreadsheet grid. Commitments/amounts and the rest of the columns stay read-only on mobile. - **Add investor (`+` on the Grid):** a create flow capturing **investor name + one or more - contacts (name, email) + type + stage** — the minimum to start a record; the rest is filled - later on desktop. **Search-as-you-type on name first** and offer existing matches before + contacts (name, email)** — the minimum to start a record (no "type" to choose — Existing-Investor + is auto-derived from committed $; pipeline stage is optional, set only if adding to the pipeline); + the rest is filled later on desktop. **Search-as-you-type on name first** and offer existing matches before creating, so a phone-added investor doesn't duplicate one already in the grid. - The full multi-column spreadsheet (commitments/amounts, column reorder, bulk/CSV) stays **desktop-only**. @@ -202,13 +216,16 @@ information density made thumb-friendly. **Fundraising Grid:** > This is a 20+ column editable data table; each row is one investor (contact pills + per-fund > commitments) — unusable as a wide table on a phone. Design a mobile **investor card list**: -> card shows name, type badge, committed amount, pipeline stage, last contact. At the top, a +> card shows name, committed amount, pipeline stage (only if in the pipeline), and last contact +> (which color-shifts grey→amber→red as it goes stale); plus an auto-derived Existing-Investor star +> and a Priority corner badge — there is **no** investor/prospect type chip. At the top, a > **tappable current-view name that opens a bottom-sheet list of saved views** (Main, Follow-up, > All Investors, and a growing set of filtered cuts) plus search; switching a view re-filters > the list. Tapping a card opens a **full-screen detail**: most fields read-only **except** the > editable set — **investor name**, **contacts (name + email)**, **notes/communication/outreach**, > **pipeline stage**, and **set a reminder** — each edited in a bottom sheet. Add a **`+` to -> create a new investor** (name + one or more contacts with name/email + type + stage), with +> create a new investor** (name + one or more contacts with name/email; no type, pipeline stage +> optional), with > search-as-you-type on name to surface existing matches before creating (avoid duplicates). > Commitments/amounts and the full column set stay read-only / desktop-only.