Library
Document Hub
9:41
Documents
1,247
Total Documents
+23 this week
89
Active Contracts
+5 this week
14
Pending Signatures
3 overdue
2.4 GB
Storage Used
of 10 GB
2.4 GB used 10 GB limit
Contracts
Templates
Uploads
Archive
Recent ContractsView All
Roofing Service Agreement
Johnson Property — Summit Roofing
Signed
Created Feb 18, 2026 · 2 parties · PDF
Kitchen Remodel Contract
Martinez Home — Ohio Builders
Awaiting
Created Feb 20, 2026 · 3 parties · PDF
HVAC Maintenance Agreement
Chen Residence — CoolAir HVAC
Completed
Created Feb 12, 2026 · 2 parties · PDF
Plumbing Repair Contract
Williams Condo — PipePro LLC
Expired
Created Jan 28, 2026 · 2 parties · PDF
Landscaping Seasonal Contract
Park Estate — GreenScape Ohio
Sent
Created Feb 22, 2026 · 2 parties · PDF
AdminDocumentHubuseQuery(api.documents.list), useQuery(api.documents.stats)
Contract Templates
9:41
Templates
Create Template
All 12
Active 8
Draft 3
Archived 1
TemplatesSort: Recent
Standard Service Agreement
Last modified Feb 21, 2026
Active
Contractor Onboarding NDA
Last modified Feb 14, 2026
Active
Emergency Repair Authorization
Last modified Feb 23, 2026
Draft
Legacy Bid Acceptance (v1)
Archived Jan 10, 2026
Archived
AdminTemplateListuseQuery(api.documents.templates.list), filter by status
Templates
Template Builder
9:41
Edit Template
Template Name
Standard Service Agreement
Drag to reorder sections
Hold the grip handle to rearrange template sections
Sections+ Add Section
Header & Parties
Agreement between {{poster.fullName}} ("Homeowner") and {{contractor.companyName}} ("Contractor") for services at {{property.address}}.
Scope of Work
The Contractor agrees to perform {{job.title}} as described: {{job.description}}. Work shall be completed by {{job.completionDate}}.
Terms & Conditions
Payment Schedule
Liability & Insurance
Signatures
Merge Fields
Poster
{{poster.fullName}} {{poster.email}} {{poster.phone}}
Contractor
{{contractor.companyName}} {{contractor.ownerName}} {{contractor.license}}
Job
{{job.title}} {{job.description}} {{job.bidAmount}} {{job.completionDate}}
Property
{{property.address}} {{property.city}} {{property.state}}
Preview
Save Template
AdminTemplateBuilderuseMutation(api.documents.templates.update), drag-reorder via react-native-reanimated
Signing Flow
9:41
Send for Signature
Kitchen Remodel Contract
From: Standard Service Agreement template
Signing Parties+ Add Party
1
Maria Martinez
maria.m@email.com
Homeowner — Signs first
2
Ohio Builders LLC
contracts@ohiobuilders.com
Contractor — Signs after homeowner
3
3Bids Platform
contracts@3bids.io
Platform — Counter-signs last
Signing Order
Sequential signing enabled
Each party receives their signing link only after the previous party completes
Reminder Schedule
First Reminder
After document is sent
24 hours
Follow-up Reminder
If not signed after first reminder
48 hours
Final Nudge
Escalation before expiration
72 hours
Expiration
Document Expires
Auto-void if unsigned by deadline
7 days
Send for Signature
AdminSigningFlowuseMutation(api.documents.signing.send), DocuSeal integration for e-signatures
Tracking
Document Detail
9:41
Document Detail
Kitchen Remodel Contract.pdf
3 pages · 248 KB
Document Info
Status Awaiting Signature
Created By Danny (Admin)
Created Feb 20, 2026 at 2:34 PM
Template Standard Service Agreement
Expires Feb 27, 2026
Document ID doc_k8m4n2p7x1
Signature Status
Maria Martinez
Signed Feb 21, 2026 at 10:15 AM
Signed
Ohio Builders LLC
Viewed Feb 22, 2026 at 3:42 PM
Viewed
3Bids Platform
Waiting for previous parties
Pending
Actions
Download
Share
Nudge
AdminDocumentDetailuseQuery(api.documents.getById), useQuery(api.documents.signing.status)
Bulk Operations
9:41
Documents
4 selected
Archive
Resend
Export
All
Signed
Pending
Expired
Roofing Service Agreement
Johnson Property · Feb 18
Signed
Kitchen Remodel Contract
Martinez Home · Feb 20
Awaiting
Plumbing Repair Contract
Williams Condo · Jan 28
Expired
HVAC Maintenance Agreement
Chen Residence · Feb 12
Completed
Landscaping Seasonal Contract
Park Estate · Feb 22
Sent
Electrical Panel Upgrade
Davis Home · Feb 19
Signed
Bathroom Renovation Contract
Taylor Apartment · Feb 23
Awaiting
Driveway Sealing Agreement
Brown Residence · Feb 15
Completed
Bulk delete is permanent
Archived documents can be restored. Deleted documents cannot.
AdminBulkDocumentsuseMutation(api.documents.bulkAction), multi-select state in local useState
Signature Tracking
9:41
Pending Signatures
14
Awaiting
6
Viewed
3
Overdue
All
Awaiting
Viewed
Overdue
Pending SignaturesSort: Oldest
Plumbing Repair Contract
Sent to: PipePro LLC
Jan 30
3 reminders
25d overdue
Nudge
Kitchen Remodel Contract
Sent to: Ohio Builders LLC
Feb 20
1 reminder
Viewed
Nudge
Landscaping Seasonal Contract
Sent to: GreenScape Ohio
Feb 22
0 reminders
Awaiting
Nudge
Bathroom Renovation Contract
Sent to: Taylor Apartment
Feb 23
0 reminders
Awaiting
Nudge
Deck Construction Agreement
Sent to: WoodWorks Co.
Feb 10
2 reminders
14d overdue
Nudge
Window Replacement Contract
Sent to: ClearView Glass
Feb 21
1 reminder
Viewed
Nudge
Gutter Installation Contract
Sent to: RainGuard Inc.
Feb 8
3 reminders
16d overdue
Nudge
AdminSignatureTrackinguseQuery(api.documents.signing.pending), useMutation(api.documents.signing.nudge)
Document Analytics
9:41
Analytics
84%
Completion
Signing completion rate — last 30 days
Key Metrics
Avg. Time to Sign
1.8 days
-12% vs last month
Documents This Month
67
+18% growth
Reminders Sent
23
+5 vs last month
Expired / Voided
4
+1 vs last month
Documents by Status
Signed
842
Pending
214
Expired
98
Draft
67
Archived
26
Most-Used Templates
1
Standard Service Agreement
All job types
234
2
Contractor Onboarding NDA
New contractors
89
3
Change Order Addendum
Mid-project changes
56
4
Subcontractor Agreement
Sub-contracting jobs
41
Monthly Volume
32
Sep
41
Oct
38
Nov
29
Dec
53
Jan
67
Feb
AdminDocumentAnalyticsuseQuery(api.documents.analytics), useQuery(api.documents.templates.rankings)
Data Architecture

Convex Schema

documents {
  _id: Id<"documents">
  templateId: Id<"documentTemplates">
  title: string
  status: "draft" | "sent" | "viewed" | "partially_signed" | "completed" | "expired" | "voided"
  jobId: Id<"jobs">
  createdBy: Id<"adminUsers">
  fileUrl: string
  fileSizeBytes: number
  expiresAt: number
  docusealSubmissionId: string?
}

Document Templates

documentTemplates {
  _id: Id<"documentTemplates">
  name: string
  status: "active" | "draft" | "archived"
  sections: TemplateSection[]
  mergeFields: string[]
  usageCount: number
  lastModifiedBy: Id<"adminUsers">
  docusealTemplateId: number?
}

Signing Parties

documentSignatures {
  _id: Id<"documentSignatures">
  documentId: Id<"documents">
  signerName: string
  signerEmail: string
  role: "poster" | "contractor" | "platform"
  order: number
  status: "pending" | "sent" | "viewed" | "signed"
  signedAt: number?
  viewedAt: number?
  reminderCount: number
  lastReminderAt: number?
}

Queries & Mutations

// Queries
api.documents.list({ status?, search?, page })
api.documents.getById({ documentId })
api.documents.stats()
api.documents.analytics({ dateRange })
api.documents.templates.list({ status? })
api.documents.templates.rankings()
api.documents.signing.pending()
api.documents.signing.status({ documentId })

// Mutations
api.documents.create({ templateId, jobId, parties })
api.documents.bulkAction({ ids, action })
api.documents.templates.update({ id, sections })
api.documents.signing.send({ documentId, parties, reminders })
api.documents.signing.nudge({ signatureId })

Hooks & Components

// Hooks
useDocuments() → { docs, stats, isLoading }
useDocumentDetail(id) → { doc, signatures }
useTemplates() → { templates, create, update }
useSigningFlow() → { send, nudge, status }
useDocumentAnalytics() → { metrics, charts }
useBulkSelect() → { selected, toggle, actions }

// Components
DocumentCarddoc summary row
TemplateCardtemplate with actions
SectionBlockdraggable builder block
MergeFieldChipinsertable merge tag
PartyRowsigning party with status
SignatureStatusRowper-party sig state
TrackingRowpending sig with nudge
StatusCharthorizontal bar chart
TrendChartmonthly bar chart

Integrations

// DocuSeal (e-signatures)
createSubmission({ templateId, submitters })
getSubmission({ submissionId })
webhooks: form.completed, form.viewed

// SendGrid (notifications)
signing_requestinitial send email
signing_remindernudge email
signing_completedall-signed confirmation
document_expiredexpiry notice

// Slack Alerts
ops_alerts: overdue signatures
admin_alerts: document expired/voided

// Convex Storage
documents/*signed PDFs
templates/*template source files
Library & Templates
9:41

Document Hub & Contract Templates

Document Hub
All Documents
Total 1,247
Contracts 842
Templates 38
Pending Signature 67
Recent Documents
Contract #CTR-2847 Signed — 2h ago
Template v3.2 Updated — 5h ago
Contract #CTR-2845 Pending — 1d ago
Contract Templates
Active Templates
Standard Service v3.2 — 842 uses
Emergency Repair v2.1 — 156 uses
Multi-Phase Project v1.4 — 89 uses
Template Builder
Sections 6 configurable
Variables 24 dynamic fields
Compliance Auto-validated
Preview Live rendering

Signing & Tracking
9:41

Signing Flow & Document Detail

Signing Flow
Pending Signatures
#CTR-2847 Awaiting contractor — 2h
#CTR-2845 Awaiting poster — 18h
#CTR-2842 Both pending — 1d
Signature Tracking
Signed Today 12
Avg Sign Time 4.2h
Expired (MTD) 3
Completion Rate 94%
Document Detail
Document #CTR-2847
Type Standard Service Contract
Created Mar 10, 2026
Status Pending Contractor Signature
Expiry Mar 17, 2026
Audit Trail
10:42 AM Sent to contractor
10:40 AM Generated from template
10:38 AM Poster approved terms

Bulk Ops & Analytics
9:41

Bulk Operations & Document Analytics

Bulk Operations
Bulk Actions
Resend Reminders 12 pending
Void Expired 3 contracts
Archive Completed 47 documents
Export Selected CSV / PDF
Document Analytics
Analytics Overview
Contracts (MTD) 142
Avg Sign Time 4.2h
Completion Rate 94%
Template Usage Standard 68%
Trends
Volume +23% vs last month
Speed -18% sign time
Compliance 100% validated
Document Management Center
https://admin.3bids.io/documents
3Bids Admin
admin.3bids.io
MAIN
Library
Templates
Signing
Bulk Ops
Analytics
Settings
DA
Danny Admin
Platform Admin

Document Management

1,247 Documents 67 Pending
Overview
Dashboard
Complete document management with real-time data, analytics, and management tools.
Quick Actions
Full desktop layout combines all mobile screens into a dense, actionable dashboard with sidebar navigation, data tables, charts, and management controls.
Web DashboardThis web view consolidates all mobile screens into a single responsive dashboard. Sidebar navigation replaces tab-based mobile flow, with data density optimized for desktop viewport.