Collection UI Mapping
Mapping db.sb collections to UI components and views
Collection UI Mapping
Each db.sb collection category maps to specific UI components, panels, and widgets.
Legal
Contracts
| Field | UI Component |
|---|---|
| status | StatusBadge (Draft→Review→Pending Signature→Active→Expired) |
| document | DocumentPanel, SignaturePanel |
| parties | RelationshipField |
| dates | DateRangeField |
| value | CurrencyField |
Views:
- ListView: TablePanel with status filters
- ShowView: DocumentPanel + SignaturePanel + DetailPanel
- EditView: FormPanel + DocumentUpload
Widgets:
DocumentSigner- Full e-sign flowSignatureCapture- Signature padSigningStatus- Request status trackerContractTimeline- Key dates visualization
Financial
Invoices
| Field | UI Component |
|---|---|
| status | StatusBadge (Draft→Open→Paid→Void) |
| lineItems | LineItemsEditor (ArrayInput) |
| amount | CurrencyField |
| payments | ReferenceManyField |
Views:
- ListView: TablePanel with status/date filters
- ShowView: InvoicePanel + PaymentsPanel
- EditView: TabbedForm (Invoice, Amounts, Timeline)
Widgets:
InvoicePreview- PDF previewPaymentCapture- Payment collectionLineItemsTable- Editable line itemsPaymentHistory- Payment timeline
Payments / Cards / Transfers
Widgets:
PaymentForm- Checkout flowCardManager- Saved cardsTransferWidget- Money movementBalanceCard- Account balance
Sales
Deals
| Field | UI Component |
|---|---|
| stage | KanbanColumn |
| value | CurrencyField |
| contacts | ReferenceManyField |
| activities | TimelinePanel |
Views:
- ListView: KanbanPanel (by stage)
- ShowView: DealPanel + ActivityTimeline + ContactsList
- EditView: FormPanel + StageSelector
Proposals / Quotes
Views:
- ListView: TablePanel with status filters
- ShowView: ProposalViewer + QuoteDetails
- EditView: ProposalBuilder (rich text + quote items)
Widgets:
ProposalBuilder- Rich proposal editorQuoteCalculator- Pricing calculatorAcceptanceWidget- Accept/reject flow
Work
Tasks
| Field | UI Component |
|---|---|
| status | StatusBadge (Pending→Assigned→InProgress→Completed) |
| priority | PriorityBadge |
| assignee | UserAvatar |
| dueAt | DateField + Countdown |
Views:
- ListView: KanbanPanel (by status) or TablePanel
- ShowView: TaskPanel + ActivityPanel
- EditView: FormPanel
Workflows
Views:
- ListView: CardsPanel
- ShowView: WorkflowPanel (visual diagram) + TasksList
- EditView: WorkflowBuilder (drag-drop canvas)
Widgets:
WorkflowDiagram- Visual workflowTaskKanban- Task boardGanttChart- Timeline viewAssigneeSelector- User/agent picker
Projects / Issues
Views:
- ListView: TablePanel or KanbanPanel
- ShowView: ProjectPanel + TasksList + IssuesList
- EditView: FormPanel
Communications
Sequences
| Field | UI Component |
|---|---|
| status | StatusBadge (Draft→Active→Paused) |
| steps | SequenceBuilder |
| enrollments | ReferenceManyField |
| trigger | TriggerSelector |
Views:
- ListView: CardsPanel with status filters
- ShowView: SequencePanel + StepsTimeline + EnrollmentsList
- EditView: SequenceBuilder (step-by-step editor)
Widgets:
SequenceBuilder- Step editorEnrollmentChart- Funnel visualizationTriggerConfig- Trigger setup
Templates / Messages
Views:
- ListView: CardsPanel with previews
- ShowView: TemplatePreview
- EditView: TemplateEditor (rich text + variables)
Widgets:
TemplateEditor- Rich text with merge fieldsMessageComposer- Email/SMS composerVariablePicker- Merge field selector
Marketing
Campaigns
Views:
- ListView: CardsPanel or TablePanel
- ShowView: CampaignDashboard + MetricsPanel + LeadsList
- EditView: CampaignBuilder
Widgets:
CampaignBuilder- Multi-channel setupAudienceSelector- Segment pickerCampaignMetrics- Performance dashboard
Leads
Views:
- ListView: TablePanel with scoring/status
- ShowView: LeadPanel + ActivityTimeline + ScoreCard
- EditView: FormPanel + SegmentTags
AI
Models / Experiments / Evals
Views:
- ListView: TablePanel or CardsPanel
- ShowView: ModelPanel + MetricsPanel + EvalResults
- EditView: FormPanel + ConfigEditor
- BattleView: ArenaPanel (blind comparison)
Widgets:
ModelSelector- Model pickerEvalResults- Comparison chartsPromptEditor- Prompt testingTokenUsage- Usage metricsArenaPanel- Side-by-side blind comparison (pick winner, equal, or both bad)BattleCard- Single comparison vote UILeaderboardTable- Elo/ranking from battlesWinRateChart- Head-to-head stats
Integrations
Webhooks / Triggers
Views:
- ListView: TablePanel with status
- ShowView: WebhookPanel + LogsPanel
- EditView: WebhookConfig
Widgets:
WebhookConfig- Endpoint + eventsTriggerBuilder- Condition builderWebhookLogs- Request/response logs
Tools / Providers
Views:
- ListView: CardsPanel (integration directory)
- ShowView: ToolPanel + ConfigPanel
- EditView: ToolConfig
Success
Customers / Contacts
Views:
- ListView: TablePanel with filters
- ShowView: CustomerPanel + SubscriptionsList + ActivityTimeline
- EditView: FormPanel
Widgets:
CustomerHealth- Health scoreSubscriptionCard- Plan detailsUsageChart- Usage metrics
Content
Documents / Files
Views:
- ListView: GalleryPanel or ListPanel
- ShowView: DocumentViewer
- EditView: DocumentEditor
Widgets:
DocumentViewer- PDF/doc previewFileUploader- Drag-drop uploadVersionHistory- Version timeline
Tech
APIs / Apps / SDKs
Views:
- ListView: CardsPanel
- ShowView: APIPanel + EndpointsList + UsageMetrics
- EditView: FormPanel + ConfigEditor
Widgets:
APIExplorer- Endpoint testingSDKDocs- Code examplesUsageMetrics- API usage charts
VibeCode
Sessions / Templates
Views:
- EditorView: VibeLayout (Chat + Preview + Code)
- ListView: CardsPanel with previews
- ShowView: SessionReplay
Widgets:
ChatPanel- AI conversationPreviewPanel- Live previewCodePanel- Monaco editorTemplateGallery- Starter templates
GitHub-Inspired Patterns
GitHub's concepts map to universal business patterns:
Discussion → Thread/Conversation
| GitHub | Business Equivalent |
|---|---|
| Discussion | Support Thread, Deal Room, Project Chat |
| Comment | Message |
| Reaction | Emoji reaction |
| Category | Channel/Type |
Widgets:
ThreadPanel- Conversation threadCommentInput- Reply composerReactionPicker- Emoji reactionsMentionInput- @mention autocomplete
Issue → Trackable Work Item
| GitHub | Business Equivalent |
|---|---|
| Issue | Task, Bug, Feature Request, Support Ticket |
| Labels | Tags, Categories |
| Milestone | Sprint, Phase |
| Assignee | Owner, Responsible |
Widgets:
IssueCard- Issue summary cardLabelPicker- Tag selectorAssigneePicker- User assignmentMilestoneTracker- Progress toward milestone
Project → Planning Board
| GitHub | Business Equivalent |
|---|---|
| Project | Sprint Board, Pipeline, Workflow |
| Column | Stage, Status |
| Card | Issue, Task, Item |
| View | Table, Board, Timeline |
Widgets:
ProjectBoard- Kanban/table viewBoardColumn- Status columnProjectTable- Spreadsheet viewRoadmapView- Timeline/Gantt
Pull Request → Review/Approval Flow
This is the key insight: a PR is a deliverable submitted for review.
| GitHub PR | Business Equivalent |
|---|---|
| PR | Deliverable, Proposal, Contract, Design |
| Diff | Changes, Document |
| Review | Approval workflow |
| Approve | Accept, Sign, Approve |
| Request Changes | Reject, Revision needed |
| Merge | Complete, Execute, Publish |
| CI Checks | Validation, Compliance |
The Review Pattern appears everywhere:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Draft │────▶│ In Review │────▶│ Approved │
└─────────────┘ └──────┬──────┘ └─────────────┘
│
▼
┌─────────────┐
│ Rejected │
└─────────────┘| Domain | Deliverable | Reviewer | Approval Action |
|---|---|---|---|
| Code | Pull Request | Code Reviewer | Merge |
| Client Portal | Deliverable | Client | Accept |
| Legal | Contract | Counterparty | Sign |
| Sales | Proposal | Prospect | Accept |
| Design | Mockup | Stakeholder | Approve |
| Content | Article | Editor | Publish |
| Finance | Invoice | Approver | Authorize |
Widgets:
ReviewPanel- Review interface with approve/rejectDiffPanel- Side-by-side changesApprovalButtons- Approve/Request Changes/RejectReviewThread- Line-by-line commentsChecksPanel- Validation status (CI/compliance)MergeButton- Final action button
Deliverables in Discussions
The Discussions.deliverables field captures this pattern:
deliverables: [{
name: string
status: 'Pending' | 'InProgress' | 'InReview' | 'Approved' | 'Rejected'
dueAt: Date
completedAt: Date
files: File[]
}]Views:
DeliverablesList- All deliverables for a discussionDeliverableReview- Single deliverable review viewDeliverableTimeline- Progress over time
Common Patterns
Status Flows
Most collections follow status workflows that need:
- StatusBadge - Visual status indicator
- StatusTransition - Action buttons for state changes
- StatusTimeline - History of status changes
Relationship Fields
Collections reference each other via:
- ReferenceField - Single related record (belongs-to)
- ReferenceManyField - Multiple related records (has-many)
- RelationshipPanel - Manage relationships
Activity Tracking
Many collections need activity/audit:
- ActivityTimeline - Event history
- ActivityFeed - Recent activity
- AuditLog - Change history
Widget Categories Summary
| Category | Key Widgets |
|---|---|
| Signing | DocumentSigner, SignatureCapture, SigningStatus |
| Payments | PaymentForm, CardManager, InvoicePreview |
| Sales | ProposalBuilder, QuoteCalculator, DealKanban |
| Work | TaskKanban, WorkflowBuilder, GanttChart |
| Comms | SequenceBuilder, TemplateEditor, MessageComposer |
| Analytics | MetricsPanel, ChartPanel, FunnelChart |
| AI | ModelSelector, PromptEditor, EvalResults |
| Integrations | WebhookConfig, TriggerBuilder, IntegrationDirectory |