chasedesk-invoices

byCrezia

Build ChaseDesk, a modern SaaS web application that helps freelancers and small businesses track unpaid invoices and get paid faster. Users can sign in using Supabase magic-link authentication, upload invoices through CSV files, view overdue invoices grouped by how late they are, and generate editable payment reminder messages in friendly, firm, and final tones. Each invoice should have Email and WhatsApp buttons that open the user's email client or WhatsApp with a prefilled message. The app must support multiple currencies, show overdue totals separately for each currency, and allow users to mark invoices as paid. Use Next.js, TypeScript, and Supabase with PostgreSQL and strict row-level security. Build a clean, responsive, professional interface suitable for international customers. Keep the first version focused on invoice tracking and reminders. Do not add automatic email sending, AI features, accounting integrations, team accounts, or unnecessary features. Important: Start by inspecting the project and proposing the implementation plan with a credit estimate. Do not start coding until I approve the plan.

LandingOverdue InvoicesLoginImport InvoicesInvoice Details
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks

75 tasks
#1

Generate system requirement document

0m 57s0.05 cr used
Done
#2

Generate personas & user flows

0m 9s0.05 cr used
Done
#7

Create flow for Freelancer

0m 8sCredits in parent
Done
#8

Create flow for Small business owner

0m 8sCredits in parent
Done
#9

Landing

3m 28sCredits in subtasks
Done
#23

Fix Landing review finding: Q1 as reviewed now: Mobile headline does not preserve the…

0m 35s0.02 cr used
Done
#18

Landing / Navigation

0m 0s0.85 cr used
Done
#14

Landing / Editorial Hero

0m 24s0.85 cr used
Done
#15

Landing / Currency Readout

0m 31s0.85 cr used
Done
#16

Landing / Reminder Panel

0m 28s0.85 cr used
Done
#17

Landing / Sign In Band

0m 29s0.85 cr used
Done
#19

Landing / Footer

0m 0s0.85 cr used
Done
#22

Fix Landing: Desktop hero composition does not match the explicit three-line headline and adjacent…

0m 56sCredits unavailable
Done
#20

Navigation

0m 18sCredits in parent
Done
#21

Footer

0m 21sCredits in parent
Done
#10

Login

2m 7sCredits in subtasks
Done
#24

Login / Navigation Slot

0m 0s0.85 cr used
Done
#27

Login / Access Context

0m 25s0.85 cr used
Done
#25

Login / Magic Link Panel

0m 34s0.85 cr used
Done
#26

Login / Footer Slot

0m 0s0.85 cr used
Done
#11

Overdue Invoices

5m 4sCredits in subtasks
Done
#42

Fix Overdue Invoices review finding: Tablet bucket numbers overlap and obscure the lateness…

0m 21s0.02 cr used
Done
#28

Overdue Invoices / Header

0m 0s0.85 cr used
Done
#29

Overdue Invoices / Overdue Ledger Heading

0m 17s0.85 cr used
Done
#30

Overdue Invoices / Overdue Invoice Ledger

1m 16s0.85 cr used
Done
#31

Overdue Invoices / Footer

0m 0s0.85 cr used
Done
#41

Fix Overdue Invoices: Tablet bucket numbers overlap and obscure the lateness headings; see selectors , , and .

1m 3sCredits unavailable
Done
#12

Import Invoices

4m 13sCredits in subtasks
Done
#32

Import Invoices / Header

0m 0s0.85 cr used
Done
#33

Import Invoices / Heading

0m 14s0.85 cr used
Done
#34

Import Invoices / Import Workflow

0m 51s0.85 cr used
Done
#35

Import Invoices / Footer

0m 0s0.85 cr used
Done
#13

Invoice Details

6m 22sCredits in subtasks
Done
#44

Fix Invoice Details review finding: Invoice Details renders empty states rather than the…

1m 2s0.02 cr used
Error
#43

Fix Invoice Details: Invoice Details renders empty states rather than the requested invoice facts and…

1m 3sCredits unavailable
Error
#36

Invoice Details / Navigation

0m 0s0.85 cr used
Done
#37

Invoice Details / Heading

0m 17s0.85 cr used
Done
#38

Invoice Details / Facts

0m 33s0.85 cr used
Done
#39

Invoice Details / Composer

0m 47s0.85 cr used
Done
#40

Invoice Details / Footer

0m 0s0.85 cr used
Done
#5

Architecture

0m 25s0.05 cr used
Done
#45

Create backend_modules diagram

0m 21sCredits in parent
Done
#46

Create er_diagram diagram

0m 21sCredits in parent
Done
#47

Create frontend_modules diagram

0m 21sCredits in parent
Done
#48

Create sequence diagram

0m 21sCredits in parent
Done
#49

Create service_network diagram

0m 20sCredits in parent
Done
#6

Workspace task plan

2m 39s0.05 cr used
Done
#50

Display per-currency overdue totals; Retry overdue invoice view fetch; Mark an overdue invoice as paid from Overdue Invoices; View overdue invoices grouped by lateness with per-cur

100 cr estimated
To Do
#51

Explain unreadable or missing-column CSV on Import Invoices and allow fix and re-upload; Upload invoices via CSV; Upload CSV and confirm import into signed-in user's account; Prese

100 cr estimated
To Do
#52

Load invoice facts and default reminder on Invoice Details; Mark invoice as paid; Mark invoice as paid to keep overdue view and per-currency totals accurate; Mark an invoice as pai

100 cr estimated
To Do
#53

Compose reminder message and hand to external client; Open reminder in user's email client or Whats App with text prefilled; Display invoice facts and reminder composer; Compose edi

100 cr estimated
To Do
#54

Send magic link primary action; Require login before accessing product data; Re-request magic link on Login when link does not arrive; Publicly reachable Login page owning the magi

100 cr estimated
To Do
#55

Drill into a currency bucket or row; Render lateness bucket sections with numbered margins and lateness signal bars; Animate totals count-up on first paint; Compute and display ove

100 cr estimated
To Do
#56

Overdue Invoices working surface with currency-totals rail pinned above lateness buckets (1–15, 16–30, 31–60, 60+ days late) and invoice rows aligned to a tabular grid; Mark an inv

100 cr estimated
To Do
#57

Sign in with Supabase magic link; Enter email address and request a magic link; Verify first-use magic link; Verify returning-user magic link; Restore authenticated session and inv

100 cr estimated
To Do
#58

Review overdue invoices grouped by lateness; Review remaining overdue invoices; Show empty Overdue Invoices state pointing to Import Invoices; Display per-currency totals rail; Ref

100 cr estimated
To Do
#59

Open user's own Whats App client via Whats App deep link; Reminders leave the product prefilled and ready to send; Generate and edit reminder text, then hand off prefilled message to

100 cr estimated
To Do
#60

Enforce signed-in-user row-level security for invoice data; Return or modify only signed-in user's owned rows; Handle out-of-scope request with no data or error and clear UI messag

100 cr estimated
To Do
#61

Recovery: return to Overdue Invoices; Open composed reminder in user's own email client or Whats App with message prefilled; Chase Desk never sends; Invoice Details surface for a sin

100 cr estimated
To Do
#62

Return to Overdue Invoices after import; Continue reviewing remaining overdue invoices; Show populated rail and buckets on success; Mark overdue invoice as paid from row control; R

100 cr estimated
To Do
#63

Verify emailed magic link and establish authenticated session; Restore session from returning link

100 cr estimated
To Do
#64

Require login before marking an invoice as paid; Enter email address and request magic link; Authenticate via Supabase magic link with email delivery; Sign in with Supabase magic l

100 cr estimated
To Do
#65

Mark overdue invoice as paid from Invoice Details; Mark invoice paid with failure and retry; Mark invoice paid after sending reminder from external client; Mark invoice as paid via

100 cr estimated
To Do
#66

Import invoices from CSV into the signed-in user's account

120 cr estimated
To Do
#67

Overdue invoice browsing, per-currency totals, and mark-as-paid

120 cr estimated
To Do
#68

Complete sign-in by following the emailed magic link

100 cr estimated
To Do
#69

Application-owned authentication for Chase Desk

100 cr estimated
To Do
#70

Hand the composed reminder to the user's external client

80 cr estimated
To Do
#71

Scope every invoice record to its signed-in owner

120 cr estimated
To Do
#72

Signed-in users reach Overdue Invoices through the sign-in path

80 cr estimated
To Do
#73

Wire the Login page to live magic-link sign-in

120 cr estimated
To Do
#74

Landing page sign-in path and hero motion

80 cr estimated
To Do
#75

CSV import with preview, confirmation, and error recovery

120 cr estimated
To Do
#76

Live overdue ledger with per-currency totals and mark-as-paid

120 cr estimated
To Do
#77

Invoice details with tone-based reminder handoff and mark-as-paid

120 cr estimated
To Do
Landing design preview
Landing: Read product promise
Login: Enter email address
Login: Request magic link
Login: Re-request magic link
Login: Follow emailed link
Overdue Invoices: View empty state
Import Invoices: 1. Drop CSV file
Import Invoices: 2. Review preview table
Import Invoices: 3. Fix file and re-upload
Import Invoices: Confirm import
Import Invoices: Review import summary
Overdue Invoices: 1. Review per-currency totals
Overdue Invoices: Focus search with slash
Overdue Invoices: 2. Retry failed fetch
Overdue Invoices: Open invoice row
Invoice Details: Select reminder tone
Invoice Details: Edit message body
Invoice Details: Open in Email
Invoice Details: Open in WhatsApp
Invoice Details: Copy message manually
Invoice Details: Mark invoice paid
Overdue Invoices: 1. Mark invoice paid from row
Overdue Invoices: 2. Retry failed mark-as-paid
Overdue Invoices: Continue reviewing invoices
Landing design preview
Landing: Read product promise
Login: Enter email address
Login: Request magic link
Login: Re-request magic link
Login: Follow emailed link
Overdue Invoices: View empty state
Import Invoices: 1. Drop CSV file
Import Invoices: 2. Review preview table
Import Invoices: 3. Fix file and re-upload
Import Invoices: Confirm import
Import Invoices: Review import summary
Overdue Invoices: 1. Review per-currency totals
Overdue Invoices: Focus search with slash
Overdue Invoices: 2. Retry failed fetch
Overdue Invoices: Open invoice row
Invoice Details: Select reminder tone
Invoice Details: Edit message body
Invoice Details: Open in Email
Invoice Details: Open in WhatsApp
Invoice Details: Copy message manually
Invoice Details: Mark invoice paid
Overdue Invoices: 1. Mark invoice paid from row
Overdue Invoices: 2. Retry failed mark-as-paid
Overdue Invoices: Continue reviewing invoices