Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Surfaces

inbox-folders-default

Surfacecanonicalverified 2026-07-11

SURFACE.WEB.APP.INBOX.FOLDERS-DEFAULT

Inbox folders (default)

Summary

Default Inbox view — left rail renders the 12-bucket identity tree (Tax · Banks · Employer · Investments · Loans · Insurance · Health · Assets · Retirement · Business · Identity documents · Other) plus a virtual "Needs your attention" bucket at the bottom. Doc list on the right is grouped Needs-you / Confirmed. Right-most rail shows "Inbox is free" + "Continue to Tax Review" + Suggested uploads. Dropzone opens the global upload modal.

Tree structure

Fixed 4-level tree per bucket:

Bucket → Identity → Year → Document
  • Level 1 — fixed set of 12 buckets per identity-buckets (Tax always first, Other always last, "Needs your attention" pinned at the bottom).
  • Level 2 — one row per users/{uid}/identities that maps to this bucket (via bucketOf(identity_type)). Ordered active first, closed by closed_year desc; Employer ordered by tenure most-recent first.
  • Level 3 — year, keyed per bucket: AY YYYY-YY for Tax + Employer, FY YYYY-YY for Banks + Investments + Loans + Insurance + Retirement + Business, calendar YYYY for Assets, skipped for Identity documents + Other.
  • Level 4 — individual doc rows, ordered uploaded_at desc (or event_date desc for Health / Assets).

Tax bucket is a virtual view — its docs live physically under Employer / Banks / Investments / Loans / Insurance / Assets identities and cross-list into Tax when their parsed fields drive an AY.

Raw wireframe

  • .context/designs/web/inbox/inbox.html

Copy

(verbatim user-visible strings TBD — see wireframe)

Flows that touch this surface

(none yet — populate when flows migrate)

Entities referenced

Sources

  • .context/wiki/surfaces/* § "/app/inbox"
  • .context/designs/web/inbox/inbox.html

Every project of mine is written down like this.

Read the résumé