Product Requirements Document — Trackmint (working name) v2.2
Date: July 19, 2026
Status: v2.2 Changelog: v2.2 July 19 2026 — compliance requirements integrated from ABA Op 512 / state bar / HIPAA / PCI / IOLTA / UPL research. v2.1 July 19 2026 — three-layer architecture formalized; QuickBooks feature absorption + payment methods; QuickBooks sync integration. v2.0 July 18 2026 — merged feature-adoption plan from 7-tool competitor study (15-feature-adoption.md). v1 July 18 2026 — initial draft. Sources: persona-insight.md, complaints.md, deepresearch-findings.md, profession-map.md, market-financial.md, asana.md, jira.md, practicepanther.md, glade.md, 15-feature-adoption.md (adds MyCase, Housecall Pro, Clio deep-dives), quickbooks-research.md, 21-compliance.md (compliance & trust research)
1. Overview & Goals
Trackmint is a modular work platform for professionals who bill clients by the hour (or by the case) and also need real work tracking. Its core idea is simple: the work item you track is the same thing you bill. Time logged on an issue or matter flows directly into budgets, invoices, and payments — no export, no second tool, no paid marketplace add-on.
Today these users are forced to stitch together two or three products. Software contractors combine Jira or Asana with Harvest/Toggl and a separate invoicing tool. Small law firms combine PracticePanther (no boards, no AI document prep) with Jubilee or Glade (no time billing). Every seam between those tools is a place where hours go unbilled, budgets go untracked, and data gets re-keyed.
Trackmint ships three connected modules on one data model:
- Work tracking — issues/matters on Kanban boards, with optional sprints.
- Business management — reliable timers, workload assignment, budgets, expenses, client invoicing, and online payments.
- AI document scanning — clients upload source documents (W-2s, pay slips, bank statements); AI extracts the data and fills official forms, starting with bankruptcy Chapter 7/13 petitions.
The modules are sold as cumulative tiers that map onto the three product layers (Section 1A) — Basic (Layer 1: Foundation), Mid (adds Layer 2: Billing Engine), and Mid + Pack (adds Layer 3: a vertical pack) — detailed in Section 8, and flavored through profession packs. v1 ships two packs:
- Software Dev pack — “Jira × QuickBooks”: issues + hours + expenses + invoices. No official forms; the AI module is off.
- Legal pack — matters + billing + AI form filling (bankruptcy Ch 7/13 first).
Goals for v1:
- G1. A user can go from “work exists” to “client paid” inside one product: issue/matter → time entry → rate card → budget → invoice → online payment.
- G2. Deliver the complete core flow on both web and mobile — mobile weakness is a top-cited complaint against every competitor studied (13 sourced complaints across four products).
- G3. For the Legal pack, cut per-case data entry for bankruptcy petitions dramatically via AI extraction with a human review step (Glade claims 14 min → 38 sec per document; we treat that as the bar to match, not a fact to repeat).
- G4. Win trust through the things incumbents are worst at: transparent pricing, fast UI, no seat games, no paywalled basics.
Non-goals for v1 are listed in Section 9 (notably trust/IOLTA accounting, e-filing, and Chapters 11/12). Features deliberately deferred to v2 are listed in Section 10; the promises we make against incumbent bad behavior are in Section 11.
1A. Product architecture — three layers (new in v2.1)
Trackmint is built and sold as three stacked layers. Every feature in this PRD belongs to exactly one layer. The layers are cumulative: Layer 2 sits on Layer 1; every Layer 3 pack sits on Layers 1+2.
| Layer | Name | What it is | What it contains | Sold as |
|---|---|---|---|---|
| Layer 1 | FOUNDATION | The engine. Common to all professions — nothing in it knows what business you are in | Boards, work items, assignment, My Tasks, views (board/list/calendar), search, custom fields, templates, notifications — on mobile and web | Basic tier — priced low deliberately; this is the top of the funnel |
| Layer 2 | BILLING ENGINE | Common to everyone who bills clients, regardless of profession | Timers, rate cards, budgets, expenses, MoneyFinder, invoicing, payments | Mid tier |
| Layer 3 | VERTICAL PACKS | Profession-specific add-ons, shipped over time | Legal-Bankruptcy pack and Software Dev pack at v1; General Contractor pack and further packs later. Each pack = vocabulary, templates, workflows, and (where relevant) official-form output for one profession | Mid + Pack tier — pack price on top of Mid |
Two architectural rules keep the layers honest:
- The specificity rule: any feature that names a specific document, court, or regulation is pack-only (Layer 3). If a feature makes sense for a plumber and a lawyer alike, it belongs in Layer 1 or 2 — never inside a pack.
- The shared-engine rule: the AI document-scanning engine (upload, OCR, extraction, confidence scoring, source tracing — Section 5.3 pipeline) is shared infrastructure, built once. What differs per pack is only the output form library it fills (bankruptcy petitions for Legal, future pack-specific forms elsewhere). New packs add form libraries, not new engines.
2. Personas
Persona A — Sam, software contractor / small consultancy (2–8 people)
- Needs: issue tracking with Kanban and sprint/progress tracking (Jira-style); logging working hours per issue; charging those hours to a client at a rate; sending an invoice and getting paid.
- Today: forced to combine Jira or Asana with Harvest/Toggl and an invoicing tool, or buy Tempo-style marketplace apps. Jira has no billable flag, no rates, no invoicing; Asana has no native timer below its $24.99 Advanced tier, and even its $5.99/user/mo Timesheets & Budgets add-on stops short of invoicing (“export to external tools”).
- Sensitive to: per-seat cost creep, seat banding, apps that tax every seat (Tempo “you have to pay for 100 users, even if only four people use it”), and slow UIs.
- Success looks like: finishes a sprint, hits “draft invoice for March,” reviews, sends; client pays online.
Persona B — Dana, solo/small law firm attorney (1–10 attorneys), consumer bankruptcy focus
- Needs: matter tracking with assignment and workload visibility; time logging → billing → invoicing; AI document scanning that turns client uploads (pay stubs, tax returns, bank statements) into filled Chapter 7/13 petition packets she can review and file.
- Today: PracticePanther (or similar) for billing — but its tasks are “kind of useless,” it has no Kanban boards, no workload views, no matter budgets, and no AI document prep — plus Jubilee/NextChapter/Glade for petitions, which have no hourly time billing. Two systems, double data entry.
- Sensitive to: buggy timers (“timer will reset itself back to zero on the app”), messy invoices clients can’t understand, slow payment deposits, annual-contract lock-in, and opaque pricing (Glade and Best Case both quote-only).
- Success looks like: client uploads documents through the portal; AI drafts the petition schedules; Dana reviews each extracted field against the source document, fixes two low-confidence fields, exports the packet; her hours on the matter are already on a draft invoice.
Market context (market-financial.md): legal willingness-to-pay is 3–6× horizontal PM ($49–$149/user vs $8–$25), only ~37% of solos use practice-management software, and per-case AI pricing is validated by NextChapter’s case-tiered model. The Software Dev pack rides the same engine at PSA-band pricing rather than trying to win the saturated horizontal PM market on its own.
3. Problem Statements
Derived from the ten cross-tool complaint themes (145 sourced complaints, complaints.md):
- P1 — Time tracking is missing, buggy, or paywalled (18 complaints). Asana has no timer without a top tier plus an add-on; Jira worklogs can’t even be date-filtered for invoicing; PracticePanther’s timers reset themselves on mobile. Hourly billers cannot rely on the single feature their income depends on.
- P2 — No bridge from tracked work to a client invoice (14). Jira needs paid apps just to invoice from worklogs; Asana has no invoicing concept at all; PracticePanther invoicing is inflexible (no line-item discounts, messy invoices, broken multi-lawyer splits).
- P3 — Aggressive pricing, paywalls, and seat/contract games (24). The largest theme: Asana seat banding and no solo license, Jira’s 153% Enterprise hike and automation caps, PracticePanther’s no-refund annual lock-in, quote-only pricing at Glade and Best Case.
- P4 — Slow, unreliable software (15). “4 minutes to load a ticket” (Jira), “just absolutely dog slow” (Asana), session timeouts (PracticePanther), freezes and miscalculations (Best Case).
- P5 — UX complexity and clutter (17). Click-heavy configuration, redesign backlash, weak search, notification overload.
- P6 — Mobile apps far behind desktop (13). Every competitor’s mobile app is a reduced, buggier copy: Asana “check-only,” Jira iOS gaps unfixed for years, PracticePanther “functions more like a browser webpage.”
- P7 — Broken/fragile integrations and stale APIs (10). PracticePanther’s API “not updated in 10 years” — a reviewer built web scrapers instead.
- P8 — Support decline (13). Unreachable, offshored, docs-only, or hallucinating AI agents.
- P9 — Legal tools lack modern boards; PM tools lack legal context (12). PracticePanther has no Kanban; Clio’s task management is rated “basic” with no native Kanban (deepresearch-findings.md); Asana/Jira have no matters, rates, or trust concepts.
- P10 — Document automation and data-entry drudgery (13). “Ridiculous” templates, double entry in bankruptcy tools, forms lagging court changes, and Glade — the only AI-native player — is quote-only with zero independent reviews.
4. Product Principles
Each principle is a direct inversion of a complaint theme.
| # | Principle | Inverts |
|---|---|---|
| PR1 | Transparent pricing, published on the site. No sales-call gate, ever. | P3; Glade/Best Case opaque quotes |
| PR2 | No seat banding, no minimums. Buy exactly N seats, including N=1. Scale down anytime. | P3; Asana 5-seat bundles, 2-seat minimum |
| PR3 | Timers are included wherever time tracking exists. Every tier that has time tracking (Mid and above) gets reliable timers at no extra cost — never a paid add-on, never a per-seat tax. | P1; Asana tier-gating, Tempo tax |
| PR4 | Fast UI as a feature. Hard performance budgets in CI; the app must feel instant. | P4 |
| PR5 | Mobile parity for core flows. If you can bill it on web, you can bill it on your phone. | P6 |
| PR6 | No paywalled basics; tiers add whole modules, not crippled versions. Boards, custom fields, search, assignment, and reasonable automation exist in every tier including Basic. Higher tiers add complete new modules (billing, AI) — a feature that exists in a tier is fully functional there. | P3, P5; “nickel-and-diming” |
| PR7 | Simple by default, deep by configuration. A new user reaches a working board + timer in under 10 minutes; profession packs pre-configure everything else. | P5; Jira config “PITA” |
| PR8 | AI proposes, humans approve. Every AI-extracted value carries a confidence score and a link to its source document region. Nothing is filed or sent without review. | P10; “attorneys still need a process to verify the work” |
| PR9 | API-first. Every UI action is a public, versioned API call from day one. | P7; decade-stale APIs |
| PR10 | Quiet by default. Digest-first notifications; granular controls. | P5; notification overload |
| PR11 | Easy to leave. Online cancellation, prorated refunds on seat reductions, full data export. Trust is the moat. | P3; lock-in and cancellation friction |
| PR12 | Humans answer support. Published response-time targets; no docs-only dead ends. | P8 |
These principles are made concrete as customer-facing promises in Section 11 (Anti-Feature Promises).
5. Feature Requirements by Module
Priorities: P0 = MVP (must ship for v1 launch), P1 = fast-follow (within ~2 quarters of launch), P2 = later. The “Why” column ties each requirement to a complaint theme (P1–P10 from Section 3) or a named competitor gap. The “Borrowed from” column (new in v2.0) names the competitor whose proven feature we deliberately adopt, per the 7-tool feature-adoption study; “—” means the requirement is our own inversion of a gap rather than a borrow.
Tier mapping (see Sections 1A and 8): Module 1 (5.1) is Layer 1 (Foundation) — the BASIC tier; Module 2 (5.2) is Layer 2 (Billing Engine) — added at MID; Module 3 (5.3) ships inside Layer 3 vertical packs — sold as MID + PACK (this replaces the flat “Advanced” naming used in v2.0). Priorities below are build priorities within each module, independent of tier — e.g., a P0 item in Module 2 ships at launch but is sold in Mid and above.
5.0 The core flow (P0, both packs)
The defining end-to-end path. Every step is native; no step requires an add-on or export:
Issue/matter → time entry (timer or manual) → rate card → budget tracking → invoice draft → send → online payment.
5.1 Module 1 — Work / Issue Tracking
| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| W1 | Work items (issue/matter per pack) with title, description, assignee(s), status, due date, labels, attachments, comments, watchers | P0 | — | Table stakes; multiple assignees inverts Asana single-assignee gripe (P9) |
| W2 | Kanban boards with drag-and-drop, WIP limits, swimlanes; safe drag (optimistic UI with undo, never data corruption) | P0 | Jira (boards, swimlanes; WIP limits may land v2) | P9: PracticePanther/Clio have no boards; Jira drag-drop corrupts tickets mid-load |
| W3 | Multiple views — board, list, and calendar — on the same work items, switchable per project with no data duplication | P0 | Asana | Cheap once the data model is right; users expect it; baseline parity with Asana/Jira views |
| W4 | Optional sprints: backlog, sprint planning, estimates, burndown — off by default, on in Dev pack | P0 (Dev pack) | — | Persona A needs Jira-style progress; “optional” preserves PR7 simplicity (full sprints toggle + burndown for all packs is v2 — Section 10) |
| W5 | Fast global search (items, clients, documents) with filters incl. NOT/OR logic | P0 | — | P5: “weak search” (Asana, Jira); PracticePanther AND-only tags |
| W6 | Custom fields (all tiers) | P0 | Jira | PR6: Asana/PracticePanther gate custom fields behind paid tiers |
| W7 | Workflow statuses editable per board without an admin console (custom column names yes; full transition rules/validators no — that is Jira’s complexity trap) | P0 | — | P5: Jira needs dedicated admins |
| W8 | Sub-items that keep parent/project context everywhere | P1 | — | Asana subtasks lose context in My Tasks |
| W9 | Simple automation rules (when status → then assign/notify), generous limits in all tiers | P1 | — | P3: Jira automation caps kill workflows mid-month (preset rule library is v2 — Section 10) |
| W10 | Project/pack templates: profession-pack templates that seed boards, fields, and checklists (e.g., Ch 7 matter checklist; sprint project) | P0 | Asana (project templates) | P9/P10: manual per-case task setup complaint (PracticePanther); this IS profession packs |
| W11 | Dependencies + timeline view with auto-adjusting successors | P1 | — | Asana Gantt doesn’t auto-adjust; paywalled Timeline |
| W12 | Workload view: open items + logged/planned hours per person | P1 | — | Persona B assignment need; PracticePanther has no workload views; Asana gates it at $24.99 |
| W13 | Notification digests, per-project mute, no duplicate emails | P0 | — | P5/PR10: notification overload |
| W14 | Court-deadline/date-chain rules for Legal pack | P2 | Clio (court-rules engine — v2, via licensed vendor; Section 10) | PracticePanther needs LawToolBox add-on; valuable but not core-flow |
| W15 | My Tasks personal view: one place showing everything assigned to me across all projects/boards, sortable by due date and priority | P0 | Asana (My Tasks) | Solo users live here; simple to build; both personas start their day from it |
| W16 | Work item types: a small set of issue types per pack (bug/feature/task in Dev pack; matter types in Legal pack), each with its own default fields | P0 | Jira (issue types) | Core of the Software Dev pack; kept to a few types to avoid Jira’s config maze (P5) |
5.2 Module 2 — Business Management (time, money, invoicing)
| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| B1 | One-click timer on any work item; multiple concurrent timers; idle detection; timer state synced server-side so it never resets or loses time, including on mobile | P0 | PracticePanther (multi-timers, time entry from anything — fixed to be reliable) | P1: “timers are always so buggy,” resets on mobile (PracticePanther); Asana no timer |
| B2 | Manual time entry (duration or start/stop), backdating, draft entries pending review | P0 | — | P1: PracticePanther has no draft entries; Jira log-work weak |
| B3 | Billable/non-billable flag on every entry; per-entry notes | P0 | — | Jira has no billable flag at all |
| B4 | Rate cards: default rate per person, overridable per client, per project/matter, per activity type | P0 | PracticePanther / Clio (custom rates by user/matter/activity) | P2: Jira has no rates natively; PracticePanther custom rates are a strength to match |
| B5 | Budgets / job costing per project/matter: hours or currency; budgets + expenses rolled together into live cost-vs-budget; alerts at configurable thresholds (e.g. 80%); works for flat-fee matters | P0 | Clio (matter budgets) + Housecall Pro (job costing on all plans) | PracticePanther: “no way to check whether you are about to exceed the budget” on flat fee; Asana budgets are a paid add-on; job costing = budgets + expenses done right |
| B6 | Expense logging at project/matter level; receipts attached; flows into invoices and into job costing (B5) | P0 | Housecall Pro (job costing) | Core flow; PracticePanther parity; Asana/Jira absent |
| B7 | Invoice drafts generated from unbilled time + expenses, filtered by date range, client, project | P0 | — | P2: Jira “can’t filter worklogs by date range for invoicing — a big hole” |
| B8 | Invoice editing: line items, line-level and fee-only discounts, write-offs, clean client-readable layout, custom branding/templates | P0 | — | P2: PracticePanther “invoices messy,” discounts can’t target line items |
| B9 | Send invoice by email + client payment link; card and ACH; payment status tracking; automated reminders | P0 | — | Core flow; embedded payments are the proven all-in-one monetization (HoneyBook, 8am) |
| B10 | Fast, predictable payouts with published processor fees; instant fee refund when a payment is refunded | P0 | — | PantherPayments: week-long deposits, “keep fees on money you immediately refund” |
| B11 | Batch invoicing (all clients with unbilled time, one run) with review queue and next/previous navigation | P1 | PracticePanther / MyCase (batch invoice generation) | PracticePanther: no batch invoicing, 50-invoice print cap, no “next” button; month-end batch is the standard billing rhythm |
| B12 | Timesheet views (week grid per person; project rollups) and time reports exportable CSV/PDF | P0 | — | P1/P2; Asana reporting export gaps |
| B13 | Reports: A/R, unbilled work, utilization, budget status — with correct arithmetic covered by automated tests | P0 | — | PracticePanther shipped broken report math for 2+ years |
| B14 | Recurring invoices and retainer/deposit tracking (non-trust prepayments with clear labeling) | P1 | — | Persona demand; full trust accounting deferred (Sec. 9) |
| B15 | Multi-user fee splits / origination reporting | P1 | — | PracticePanther multi-lawyer compensation reporting broken; “3–4 hours lost per billing cycle” |
| B16 | QuickBooks/Xero export (CSV first, sync later) | P1 | — | P7: users expect it; sync quality must beat PracticePanther’s breakage. Superseded and expanded by Section 5.6 (2-way QBO sync, free accountant seat, always-available export) |
| B17 | LEDES/UTBMS invoice format (Legal pack) | P2 | — | Needed for insurance-defense work; not core for consumer bankruptcy/solo |
| B18 | MoneyFinder — unbilled-work radar: a standing view that flags every logged activity, time entry, and expense not yet on any invoice, so no billable hour is ever lost | P0 | PracticePanther (MoneyFinder) | Directly serves “stop losing billable hours” — a killer small feature; feeds B7 invoice drafts |
| B19 | Payment plans on invoices: installment schedules with auto-charge and status tracking, available on any invoice | P0 | PracticePanther / MyCase / Clio (always-on payment plans) | Consumer bankruptcy runs on installments; table stakes in consumer legal; also useful for contractor milestone billing |
| B20 | Payments included at every paid tier that includes invoicing (Mid and above) — never a separate add-on, upsell, or gated processor | P0 | MyCase / 8am (payments-at-every-tier strategy, LawPay rails, next-day deposits) | The biggest lesson of the all-in-one study: payments revenue subsidizes seats (see PM8) |
5.3 Module 3 — AI Document Scanning & Form Fill (Legal pack)
Pipeline: client upload → OCR/extraction → review screen (confidence + source tracing) → form fill → export (P0) / e-file (P2).
| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| A1 | Automated client document requests: portal upload with a checklist of requested documents per matter type, drag-and-drop, mobile camera capture, and automated follow-up reminders for missing docs | P0 | Glade (automated doc requests + follow-ups) | Doc collection is half the pain; Glade parity; P10 data-entry drudgery |
| A2 | OCR + AI extraction from core source docs: pay stubs, W-2s, tax returns, bank statements | P0 | Glade (doc-to-form thesis, made multi-profession) | The pillar; same source-doc engine reuses across future packs (family law FL-150, SSDI — profession-map.md) |
| A3 | Automatic document classification and per-matter organization; flag illegible/expired docs back to the client | P1 | Glade (legibility review, expiry detection) | PracticePanther document chaos |
| A4 | Review screen: every extracted field shows a confidence score and click-through to the highlighted source region in the original document. Low-confidence fields visually queued for review | P0 | Glade (confidence scores + source tracing — their best design) | PR8; category-wide “attorneys must verify before filing”; differentiator vs Glade’s opaque claims |
| A5 | Cross-document conflict detection (e.g., income differs between pay stub and tax return) surfaced as review items | P1 | Glade (surfaces conflicts) | Trust-building; attorneys must see where every number came from |
| A6 | Form fill for bankruptcy Chapter 7 and 13: B101, B106 schedules, B107 SOFA, B122A-2 means test, creditor matrix | P0 | — | Matches Glade/NextChapter/Best Case scope; the Legal pack’s reason to exist |
| A7 | Court-ready PDF export of the complete petition packet; attorney downloads and files via existing CM/ECF workflow | P0 | — | Ship value without the e-filing certification burden |
| A8 | Means-test calculation with visible inputs and jurisdiction data (IRS standards) with dated versioning | P0 | — | Best Case/NextChapter calculation-error complaints; forms lagging court changes (Jubilee) |
| A9 | Audit trail: who reviewed/edited each field, when, from which source | P1 | — | Professional-liability comfort; verification-process complaint |
| A10 | Amended schedules workflow | P1 | — | Jubilee can’t file amended schedules — known pain |
| A11 | CM/ECF e-filing integration (district-by-district rollout) | P2 | — | Best Case’s ECF “broken” complaint shows risk; export-first de-risks v1 |
| A12 | Credit report import | P2 | — | NextChapter parity, but their wrong-address imports show quality bar; not core-flow |
| A13 | Second form target from the same extraction engine (family law FL-150 or SSDI SSA-3368 — decide per Section 13) | P2 | — | Profession-map ranked expansion; validates the “engine reuse” thesis |
5.4 Profession packs & platform
| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| K1 | Pack = bundle of vocabulary (issue vs matter), templates, enabled modules, default fields | P0 | Asana (templates as the seeding mechanism) | Core architecture; enables future packs without forking |
| K2 | Software Dev pack: sprints on, AI forms off, dev-flavored templates, Git-friendly issue keys | P0 | — | Persona A |
| K3 | Legal pack: matters, client/contact model (multiple contacts per matter), AI module on, bankruptcy templates | P0 | — | Persona B; PracticePanther can’t link multiple contacts to a matter |
| K4 | Client portal (both packs): shared items, invoices, payments, uploads, messages | P0 | — | Invoicing flow requires it; PracticePanther portal parity (full intake forms are v2 — Section 10) |
| K5 | eSignature on engagement letters and documents | P2 | MyCase (unlimited built-in eSignature — v2, Section 10) | PracticePanther Business-tier parity; not core-flow |
| K6 | Webhooks + Zapier/Make connectors | P1 | — | P7; meet users’ existing automation |
5.5 QuickBooks feature absorption (new in v2.1)
Features we build natively so that a Trackmint user does not need QuickBooks Online for day-to-day billing (source: quickbooks-research.md). QBO stays the ledger of record (see 5.6); Trackmint owns the daily work-to-cash flow. Each item targets a documented QBO weakness or bolt-on tax.
| ID | Feature | Priority | Layer/Tier | Notes |
|---|---|---|---|---|
| Q1 | Estimates → progress invoicing by % or by phase, done RELIABLY | P0 | Billing Engine (Mid) | QBO has this on all plans but it is chronically buggy — broken math, estimate↔︎invoice links breaking, the setting turning itself off. Reliability IS the feature |
| Q2 | Card + ACH/bank transfer on every invoice via embedded processor | P0 | Billing Engine (Mid) | Part of the payment methods matrix (below); extends B9/B20 |
| Q3 | Zelle / Venmo / PayPal as offered payment options | P1 | Billing Engine (Mid) | Payment handle/link shown on the invoice; reconciliation is manual (user marks paid) |
| Q4 | Check recording | P0 | Billing Engine (Mid) | Mark an invoice paid by check with a reference number |
| Q5 | Automatic payment reminders + late-payer nudges | P1 | Billing Engine (Mid) | Extends B9’s reminders with escalating nudges for habitual late payers |
| Q6 | Instant payout option | P2 | Billing Engine (Mid) | Fee-based fast deposit; see also v2 roadmap (Section 10) |
| Q7 | Receipt capture with LINE-ITEM extraction | P0 | Mid + Pack (uses the shared AI engine) | Beats QBO’s header-only OCR (date/amount/vendor only, review backlogs) — our AI extraction engine already does line items |
| Q8 | Mileage tracking | P2 | Billing Engine (Mid) | Mobile GPS capture; QBO parity feature |
| Q9 | Contractor/sub self-onboarding | P2 | GC pack (Layer 3) | Invite subs to enter their own W-9-style info; QBO’s stickiest contractor feature |
| Q10 | Per-project true profitability with burdened labor rate | P1 | Billing Engine (Mid) | Cost each hour at a burdened rate, not just the billing rate; QBO gates this to Plus+ and needs QB Payroll to automate |
| Q11 | Price-lock guarantee | P0 | All tiers | Marketing promise, engineering-free: your price is locked (see PM10/AF8). Directly attacks QBO’s relentless price hikes (“400% in 3 years”) |
Payment methods matrix (every invoice, Mid tier and above):
| Method | How it works | Priority |
|---|---|---|
| Card | Embedded processor; pay link on invoice | P0 |
| ACH / bank transfer | Embedded processor; pay link on invoice | P0 |
| Check | Recorded manually with reference number | P0 |
| Zelle / Venmo / PayPal | Handle/link displayed on invoice; manual reconciliation | P1 |
5.6 QuickBooks integration (sync, not war — phase 1)
We do not fight QBO for the general ledger — accountants choose QBO, and businesses follow their accountants. Phase 1 strategy: absorb daily billing (5.5) and write perfect books into the system the accountant already uses. This supersedes and expands B16.
| ID | Requirement | Priority |
|---|---|---|
| QI1 | 2-way sync of invoices, payments, expenses, and customers to QuickBooks Online (Xero later) — sync quality must beat the documented Clio→QBO mismatch pain | P1 |
| QI2 | Free accountant seat — the client’s accountant gets read/report access at no charge, in every tier | P1 |
| QI3 | Clean export always available — full, well-structured export of all financial data at any time (extends PR11) | P0 |
Accounting roadmap (phase 3+): an optional native accounting module (general ledger, bank reconciliation) following the PantherAccounting / Clio Accounting path — offered only after vertical packs have proven traction, and never forced on users: sync-to-QBO/Xero remains a first-class, permanently supported path.
6. Platforms
Hard requirement: Trackmint ships as BOTH (a) a web portal/app and (b) full-featured native mobile apps for iOS and Android, with feature parity between web and mobile for all core flows, at launch. Neither surface is optional and neither is a companion to the other. This applies to every tier: whatever a customer’s tier includes on web (Basic boards, Mid timers/invoicing, pack-tier document capture and review approvals), it includes on mobile per the parity list below.
6.1 Web app (P0)
Responsive SPA/PWA; primary surface for board management, invoice editing, and the AI review screen.
6.2 Mobile apps — iOS & Android (P0)
Full-featured apps in the Apple App Store and Google Play at launch. Mobile is a launch requirement, not a fast-follow, because mobile weakness is a top complaint about every competitor (P6). Feature parity list for core flows — all P0 on mobile:
- Create/edit/move work items on boards; comment; search
- Start/stop/switch timers with server-synced state (no lost time, ever) and offline buffering
- Manual time entry and draft review
- Log expenses with camera receipt capture
- Review and send invoice drafts; see payment status
- Client document capture via camera (Legal pack) feeding the AI pipeline
- Notifications with the same granular controls as web
- Budget alerts and workload glance views
Explicitly not required on mobile at v1: sprint planning ceremonies, invoice template design, pack configuration, the full AI field-by-field review screen (view + approve high-confidence extractions is P1 mobile; deep review remains web).
Offline behavior (P1): timers, time entries, and item edits queue locally and sync — Asana’s “app reloads itself losing changes” is the anti-pattern.
6.3 API-first (P0)
- Public, versioned REST API covering every core object (items, time entries, rates, budgets, expenses, invoices, clients, documents, extraction results) — the same API the web and mobile clients use. Inverts P7 (“worst public-facing API I have ever seen. Not updated in 10 years”).
- API keys + OAuth in all paid tiers; no tier-gating of API access (PR6).
- Changelog and deprecation policy published; webhooks (P1).
7. Non-Functional Requirements
7.1 Performance (inverts P4 — a top-3 complaint theme)
| Metric | Target |
|---|---|
| Open a work item (warm) | < 500 ms perceived |
| Board render, 500 items | < 1 s |
| Board render, 1,000 items | < 1 s (promise AF5, Section 11) |
| Search results | < 1 s |
| Timer start/stop | < 200 ms perceived, optimistic |
| Invoice draft generation (1 month of entries) | < 5 s |
| AI extraction per document | Asynchronous with progress; review-ready target < 60 s/doc |
| Cold app load (web) | < 3 s on median broadband |
Performance budgets enforced in CI; regressions block release. “Jira replaced by a faster browser to get tickets from 4 minutes to 10 seconds” is the cautionary tale.
7.2 Reliability
- 99.9% monthly uptime target for the app; public status page.
- No data-losing operations: optimistic UI always undoable; drag-and-drop never corrupts an item (Jira anti-pattern).
- Sessions last a workday; no forced re-login every few minutes (PracticePanther/Best Case anti-pattern).
- Financial arithmetic covered by property-based tests and reconciliation checks (PracticePanther “$1+$2=$4,000”).
7.3 Security & compliance
- Encryption in transit and at rest; role-based permissions; audit log of financial and document actions.
- SOC 2 roadmap: Type I within 12 months of launch, Type II within 24 (budget ~$30–60K first year per market-financial.md).
- SSN and sensitive-field handling: store full values encrypted with masked display and permissioned reveal — Best Case/NextChapter’s refusal to store full SSNs forces users into side systems.
- Data retention/export: full account export at any time (PR11).
- Trust accounting compliance explicitly out of scope for v1 (Section 9) — the product must clearly label retainers as non-trust prepayments to avoid implying IOLTA compliance.
- AI: no training on customer documents; per-tenant isolation; documented data-flow for state bar diligence.
- Full compliance and trust requirements — the research basis (ABA Op 512, state bar guidance, UPL/§110, Rule 9037, SOC 2, PCI, IOLTA, FCRA, WH-347, HIPAA) and the build-order checklist — are specified in 21-compliance.md; the binding product requirements are C1–C14 in Section 7A.
7.4 Support
- Human email/chat support in all paid tiers; published first-response targets (e.g., 8 business hours); no AI-only support dead ends (P8).
7A. Compliance Requirements (new in v2.2)
Derived from the compliance & trust research in 21-compliance.md (ABA Formal Opinion 512 and state bar AI guidance, UPL / 11 U.S.C. §110, Fed. R. Bankr. P. 9037, SOC 2, PCI DSS, IOLTA rules, FCRA, WH-347, HIPAA). Each requirement is binding on the phase indicated: MVP items are launch gates; Phase 2 lands within the first 12 months; Phase 3 ships with the pack that needs it.
| ID | Requirement | Priority | Phase |
|---|---|---|---|
| C1 | Zero-retention + no-training LLM pipeline: all LLM/OCR vendors under zero-data-retention, no-training API terms; prompts and outputs excluded from application and vendor logs; per-tenant isolation | P0 | MVP |
| C2 | AI consent controls: per-firm AI toggle, per-matter AI opt-out, and a client-consent record field on the matter (ABA Op 512 / Florida 24-1 informed-consent capture) | P0 | MVP |
| C3 | Attorney-in-the-loop gate: “AI-generated — attorney review required” gate on all extractions and drafts; nothing exports or sends unreviewed; review status tracked | P0 | MVP |
| C4 | Security baseline: AES-256 at rest, TLS 1.2+, MFA, matter-level RBAC (ethical walls), immutable audit log, encrypted backups, US hosting, public trust page | P0 | MVP |
| C5 | Contract stack: ToS state customer owns all content with no vendor use rights (privilege protection); 72-hour breach notice; DPA with subprocessor list available to all customers | P0 | MVP |
| C6 | UPL positioning: attorney-only sales for the Legal pack; platform-not-law-firm disclaimers; no consumer-direct petition preparation (11 U.S.C. §110 / In re Reynoso) | P0 | MVP |
| C7 | Rule 9037 auto-redaction: SSNs truncated to last-4 on all court-bound PDFs; full SSN stored field-level encrypted with masked display and permissioned, logged reveal | P0 | MVP |
| C8 | Payments scope: SAQ-A only (hosted checkout; card data never touches our servers); trust-safe fee routing — processing fees and chargebacks never debit a trust-designated account | P0 | MVP |
| C9 | SOC 2: Type I audit underway at launch (status on trust page); Type II report within 12 months | P0/P1 | MVP → Phase 2 |
| C10 | IOLTA module (Legal pack): three-way reconciliation, negative-balance blocking on client trust ledgers, 5-year immutable trust records (retention configurable upward per state) | P1 | Phase 2 |
| C11 | FCRA credit-report import: licensed credit-report reseller integration with the attorney as certified end user; report data inherits SSN-grade encryption and access controls | P1 | Phase 2 |
| C12 | State privacy: DPA covering state comprehensive-privacy laws + deletion-request workflows with legal-hold / records-retention carve-outs | P1 | Phase 2 |
| C13 | WH-347 certified payroll (GC pack): auto-truncate SSN to last-4 on form output; full SSN encrypted at rest | P2 | Phase 3 |
| C14 | HIPAA-ready mode: per-firm switchable HIPAA mode with BAA program (Trackmint + subprocessors) for the SSDI/PI pack | P2 | Phase 3 |
8. Pricing Model Requirements
Product structure (decided): tiers ARE the layer model (Section 1A). Each tier adds a complete layer, never a crippled preview of one (PR6). “Mid + Pack” replaces the flat “Advanced” tier naming used in v2.0.
| Tier | Layer(s) | Includes | Illustrative price* |
|---|---|---|---|
| BASIC | Layer 1 — Foundation | Kanban boards, work-item (issue/matter) tracking, assignment, My Tasks, views, search, custom fields, templates, notifications — on core web and mobile apps | $12/user/mo |
| MID | Layers 1+2 — + Billing Engine | Everything in Basic + time tracking (reliable timers included — PR3), rate cards, budgets, expense tracking, MoneyFinder, invoicing, full payment methods matrix (5.5), and online payments; timesheets and financial reports; client portal for invoices/payments | $29/user/mo |
| MID + PACK | Layers 1+2+3 — + one or more vertical packs | Everything in Mid + the chosen profession pack(s): vocabulary, templates, workflows, and pack-specific AI form output over the shared scan engine (Legal-Bankruptcy: client upload → OCR/extraction → confidence + source-traced review → Chapter 7/13 form filling) | Mid + per-pack price; AI metered per case (PM5) |
*Prices are illustrative placeholders for the layer model, not commitments; final bands per PM4.
Notes: at v1, “Mid + Pack” is meaningful for the Legal-Bankruptcy pack (official forms); the Software Dev pack has no official forms (profession-map.md), so Dev-pack customers land on Basic or Mid until a pack-level AI capability relevant to their business exists. A customer can buy multiple packs on one Mid subscription.
Remaining requirements, grounded in market-financial.md and the P3 complaint theme (the single largest, 24 complaints):
| ID | Requirement | Rationale |
|---|---|---|
| PM1 | All three tier prices published on the website; self-serve signup, upgrade, downgrade, and cancellation | Glade/Best Case quote-only is a trust liability; PR1, PR11 |
| PM2 | Per-seat pricing with no banding and no minimums in every tier — 1 seat costs 1 seat; add a 6th user without buying 10 | Asana seat-banding complaints; PR2 |
| PM3 | Solo plan allowed at every tier: a single user can buy Basic, Mid, or Mid + Pack at 1-seat price with no feature penalty | Asana has no solo license; PracticePanther “pricey for solo firms”; solos are the wedge (40% of law firms) |
| PM4 | Tier price bands reflect willingness to pay: Basic in the PM band, Mid in the PSA band (~$15–35/user/mo target for Dev pack; higher for Legal), pack tiers in the vertical band (~$49–99/user/mo target for Legal), reflecting the 3–6× legal WTP difference | market-financial.md WTP data |
| PM5 | Within packs that include AI form-fill, AI is metered per case on top of seats — N included cases/mo, then a per-case fee | Validated by NextChapter’s case-tiered model (~$40–100/case); aligns cost to value and to our inference cost |
| PM6 | Every feature in a tier is complete there: Basic gets full boards/search/custom fields/API; Mid gets timers with no add-on and invoicing with no export-to-elsewhere; no feature is artificially degraded to force an upgrade | PR3, PR6; inverts “most key features require the Advanced plan” and Asana’s timesheets add-on |
| PM7 | Monthly billing available on all tiers; annual discount optional but never mandatory; prorated refunds when reducing seats or downgrading tiers | PracticePanther annual lock-in complaints |
| PM8 | Payments revenue (processing margin, Mid and above) planned as a first-class revenue line; payments are included at every paid tier that has invoicing (B20) | HoneyBook/8am/MyCase pattern: embedded payments subsidize seat price |
| PM9 | No guest tax: client-portal users are always free and unlimited in every tier | Asana “guests consume paid seats… seems like a scam” |
| PM10 | Price changes: 90-day notice, grandfathering for at least 12 months; no feature re-gating after purchase (promise AF8, Section 11) | Jira 153% hike / Best Case annual-hike resentment / MyCase price-creep-with-re-gating pattern |
9. Out of Scope for v1
| Item | Reason / revisit trigger |
|---|---|
| Trust/IOLTA accounting (three-way reconciliation, trust ledgers) | Material, jurisdiction-specific engineering with professional-responsibility risk (PracticePanther got it wrong). Revisit post-SOC 2 Type I; until then integrate/export to TrustBooks-class tools and label retainers clearly |
| CM/ECF e-filing | District-by-district complexity; incumbents’ e-filing is a complaint magnet. v1 exports court-ready PDFs (A7); e-filing is P2 (A11) |
| Bankruptcy Chapters 11 and 12 | Glade also skips them; consumer Ch 7/13 is the volume market (574K filings CY2025) |
| Forms beyond bankruptcy (immigration, FL-150, SSDI) | One vertical done excellently first; engine designed for reuse (A13) |
| Full accounting (GL, P&L) / QuickBooks replacement | Sync, not war (Section 5.6): 2-way QBO sync + free accountant seat; optional native accounting is phase 3+ only |
| Financial forensic analysis (preference/fraudulent-transfer detection) | CounselPro’s niche; possible later differentiator vs Glade |
| Native email client, CRM/marketing automation, court-rules calendaring engine | Integrations (K6, W14 P2); court-rules engine planned for v2 via licensed vendor (Section 10) |
| Additional profession packs (accounting, agencies, insurance) | After both v1 packs prove retention; GC (general contractor) pack features sketched in Section 10 |
| Enterprise: SSO/SAML, data residency, on-prem | Target market is solo/small teams; SSO at P2 when demanded |
10. v2 Roadmap (Adopt-Later)
Features from the 7-tool feature-adoption study that are proven in the market but deliberately deferred to the first year after launch (v2). Each is real value; none is worth delaying the core flow for. (v3/expansion items — e-filing, post-filing automation, new-pack template libraries, memberships — stay in Section 9 and the adoption plan.)
| v2 feature | Borrowed from | Summary |
|---|---|---|
| Sprints toggle + burndown | Jira | Opt-in sprints/backlog per board for any pack, with burndown/velocity reports once sprints exist. Contractors often don’t sprint — keep it a toggle, never a default |
| Preset automation rules | Asana / Jira | A library of 5–10 preset rules (“when card moves → do X”), not a rule builder — Asana’s builder complexity is the complaint trap to avoid |
| Client portal + intake forms | PracticePanther / Clio / Asana (forms) | Extend the v1 portal (K4) with structured intake forms that create matters/items and feed Legal-pack document collection |
| Automated customer comms + review requests | Housecall Pro | Their #1 loved feature, generalized: hearing reminders for lawyers, status updates for dev clients, plus automated review requests after matter/job completion — a cheap growth engine |
| eSignature | MyCase | Unlimited built-in eSignature on engagement letters and documents; undercuts DocuSign cost for small firms (K5) |
| Text-to-pay + instant payouts + financing partner | Clio / Housecall Pro / MyCase | Text-to-pay is a proven collection booster; Instapay-style ~30-min payouts for a fee; “Pay Later” consumer financing via a fintech partner (Wisetack/Affirm pattern) |
| Court-rules deadline engine | Clio | Trigger date → deadline chain for the Legal pack — licensed from a LawToolBox-class vendor rather than building 1,000 jurisdictions ourselves (W14) |
| Trust/IOLTA accounting | PracticePanther (done right) | Compliance-heavy; revisit post-SOC 2 Type I once the Legal pack has traction (Section 9) |
| AI summaries | MyCase IQ / Clio Duo | Case/matter summaries and drafting help — table stakes we add after form-filling AI ships; our AI budget goes to forms first |
| GC (general contractor) pack features | Housecall Pro | Drag-and-drop dispatch calendar, price book of standard line items, and good/better/best quotes — core for a future field-service pack, irrelevant to devs/lawyers at v1 |
11. Anti-Feature Promises
These are not features — they are promises, taken verbatim from the 145-complaint study. They are customer-facing commitments, each inverting a documented incumbent behavior, and they hold across all tiers and all future versions.
| # | Promise | Inverts |
|---|---|---|
| AF1 | Public prices on the website, always. No quote walls, no sales-call gate | Glade / Best Case / Accelo quote-only pricing |
| AF2 | No seat banding. Pay for exactly the seats you use; a solo plan exists at every tier | Asana 5-seat bundles and no solo license |
| AF3 | Timers in every plan that has time tracking — never a paid add-on | Asana tier-gating + add-on; Jira’s Tempo tax |
| AF4 | Self-serve cancellation with prorated refunds | Housecall Pro / PracticePanther / MyCase cancellation friction |
| AF5 | Speed budget: board loads in under 1 second at 1,000 items — enforced in CI (Section 7.1) | Jira / Asana slowness |
| AF6 | Mobile parity on core flows, with Android treated equal to iOS | Every competitor’s second-class mobile app; HCP’s Android neglect |
| AF7 | A real, versioned public API from day one | PracticePanther’s decade-stale API |
| AF8 | No feature re-gating after purchase. A feature in your tier stays in your tier | MyCase price-creep-with-re-gating pattern ($39→$50 entry) |
12. Success Metrics
| Area | Metric | v1 target (12 months post-launch) |
|---|---|---|
| Core-flow adoption | % of active workspaces that sent ≥1 invoice generated from tracked time | ≥ 50% |
| Time-to-value | Median time from signup → first running timer | < 10 min |
| Billing loop | Median time from signup → first paid invoice | < 30 days |
| AI module | % of extracted fields accepted without edit (precision proxy) | ≥ 90%, trending up |
| AI module | Median attorney review time per petition packet | < 45 min (vs hours of manual entry) |
| Mobile | % of WAU using mobile weekly; timer events from mobile | ≥ 35%; ≥ 25% |
| Performance | p75 item-open latency | < 500 ms, monitored publicly |
| Retention | Logo churn (monthly, solo tier) | < 3%/mo |
| Revenue mix | Payments + per-case AI revenue as % of total | ≥ 25% (validates PM5/PM8) |
| Pricing trust | % of churned users citing pricing/contract issues in exit survey | < 10% |
| Support | First-response time SLA attainment | ≥ 95% |
13. Open Questions & Risks
Open questions
- Second form vertical: family law FL-150 (same source docs, ~670K divorces/yr, no AI incumbent) vs SSDI (federal standardized forms, unserved) — profession-map.md ranks family law #1; decide by month 6 based on Legal-pack customer overlap.
- Glade economics unknown: no public pricing, no independent reviews, ~$2.4M ARR rumor (low confidence). How sticky are its customers? Affects how aggressively we price PM5.
- Dev pack demand risk: market-financial.md calls the horizontal “Jira+QuickBooks for everyone” a no-build. Does the Dev pack earn its keep as a wedge/second market, or should v1 resources concentrate on Legal? Needs a pre-launch signup test.
- Payments provider: build on Stripe Connect vs a legal-payments partner (Confido/LawPay-class) — affects payout speed (B10) and trust-account readiness later.
- Per-case pricing unit: what counts as a “case” for AI billing — per petition filed, per matter opened, per document bundle processed?
- Mobile build strategy: cross-platform (React Native/Flutter) for parity speed vs native for timer reliability and camera quality — parity requirement (Sec. 6.2) is the constraint either way.
- How much of the review screen must exist on mobile at launch without violating the parity promise?
Risks
- R1 — Two fronts closing (high). Incumbents are shipping AI (Clio Manage AI GA since Oct 2024) while AI-natives add practice management (Glade). Mitigation: the specific combination — boards + hourly billing + AI forms with transparent pricing — is what no one offers; speed matters.
- R2 — Scope is three MVPs (high). PM + billing/payments + AI form compliance is triple the surface of a normal MVP (market-financial.md). Mitigation: ruthless P0 discipline; the core flow is the only launch gate; e-filing and trust accounting deferred.
- R3 — Form-accuracy liability (high). A wrong means-test number harms a real debtor. Mitigation: PR8 (confidence + source tracing + mandatory review), versioned jurisdiction data (A8), audit trail (A9), E&O-friendly documentation.
- R4 — All-in-one depth trap (medium). PSA history shows all-in-ones “win finance visibility, lose day-to-day PM usability.” Mitigation: board/timer UX is held to Linear-class quality bars, tested against P4/P5 budgets.
- R5 — Payments/compliance drag (medium). Payment processing brings underwriting, disputes, and money-movement compliance. Mitigation: partner (Stripe Connect-class), don’t build.
- R6 — Solo-founder/base-rate reality (medium). 70% of micro-SaaS never pass $1K MRR; median ~2yr 9mo to $1M ARR. Mitigation: per-case + payments revenue reduce dependence on seat count; solo tier drives volume.
- R7 — Small-firm unbundling (medium). ABA data shows solo practice-management adoption falling (45%→37%) on price fatigue. Mitigation: PM3’s genuinely generous solo tier is the counter-bet — priced so unbundling isn’t worth the seams.
End of document.