1 Browse & Organize
2 Upload & Tag
3 Track & Renew
4 Share & Comply
1 Browse & Upload
2 Compliance & Sharing
1 Document Library
2 Compliance Center
Documents Dashboard
9:41
3 documents expiring soon
Review and renew before deadlines
24
Total
18
Current
3
Expiring
3
Expired
Storage Used
142 MB / 1 GB
Insurance
Contracts
Licenses
Other
Categories
Licenses & Permits
6 documents
1 expiring
Insurance
4 documents
Current
Contracts
8 documents
Safety & Certifications
3 documents
2 expired
Tax & Financial
3 documents

DocumentsDashboard — primary hub with category tiles, KPI counts, storage usage, and expiration alert banner

useDocuments() hook • api.documents.dashboard.get

Category View
9:41
All Current Expiring Expired
Ohio Contractor License
PDF • 2.4 MB
Uploaded Jan 15, 2026 Exp: Dec 31, 2026
Current
Plumbing License
PDF • 1.8 MB
Uploaded Mar 10, 2025 Exp: Mar 15, 2026
19d left
HVAC Certification
PDF • 3.1 MB
Uploaded Nov 22, 2025 Exp: Nov 22, 2027
Current
Electrical Permit — Summit County
PDF • 1.2 MB
Uploaded Jun 5, 2024 Expired: Jan 31, 2026
Expired
EPA Lead-Safe Certification
PNG • 4.6 MB
Uploaded Aug 12, 2025 Exp: Aug 12, 2028
Current
Roofing License — Cuyahoga
PDF • 980 KB
Uploaded Sep 3, 2025 Exp: Sep 3, 2027
Current

CategoryDocumentList — filterable list within a category, showing file type icon, upload date, expiration, and status badge

useDocumentsByCategory(category) • api.documents.queries.listByCategory

Document Detail
9:41
Ohio Contractor License.pdf
Tap to preview
Ohio Contractor License
Current

Uploaded
Mike Rodriguez • Jan 15, 2026
File
PDF • 2.4 MB
Category
Licenses & Permits
Expires
Dec 31, 2026
310 days remaining
Auto-reminder set for 30 days before


Version History
v2 — Current
Uploaded Jan 15, 2026 by Mike R.
v1 — Original
Uploaded Mar 2, 2025 by Mike R.

DocumentDetail — full preview, metadata, expiration countdown, actions (share/download/replace/delete), and version history

useDocument(docId) • api.documents.queries.get • useDocumentVersions(docId)


Upload Document
9:41
Tap to choose file
PDF, DOC, PNG, JPG • Max 25 MB
Category
Licenses Insurance Contracts Safety Tax
Document Title
Description (optional)
Expiration Date
Auto-Renewal Reminder
Get notified 30, 14, and 7 days before expiration

UploadDocumentSheet — file picker, category chips, title input, expiration date picker, and auto-reminder toggle

useUploadDocument() • api.documents.mutations.upload • generateUploadUrl

Expiration Tracker
9:41
3
Expired
3
30 Days
18
Current
Batch Renewal Available
Renew 3 expiring documents at once
Expired
Electrical Permit — Summit
Expired Jan 31, 2026 • 24d ago
OSHA-10 Certification
Expired Feb 10, 2026 • 14d ago
Fall Protection Cert
Expired Feb 18, 2026 • 6d ago
Expiring Within 30 Days
Plumbing License
Expires Mar 15, 2026 • 19d left
Workers Comp Policy
Expires Mar 22, 2026 • 26d left
General Liability COI
Expires Mar 25, 2026 • 29d left

ExpirationTracker — color-coded timeline grouped by urgency (expired/expiring/current), progress bars, and batch renewal CTA

useExpiringDocuments() • api.documents.queries.expiring • onBatchRenew()


Insurance Certificates
9:41
General Liability
Certificate of Insurance
Active

Policy Number GL-2026-0847291
Carrier Erie Insurance Group
Coverage $1,000,000 / $2,000,000
Certificate Holder Rodriguez Home Services LLC
Effective Apr 1, 2025 — Mar 25, 2026

Auto-shared with 5 jobs
Workers Compensation
Expiring in 26 days
Expiring

Policy Number WC-2025-3841076
Carrier Westfield Insurance
Coverage $500,000 / $500,000 / $500,000
Effective Mar 22, 2025 — Mar 22, 2026

Commercial Auto
State Farm • $500K
Active
Umbrella Policy
Erie Insurance • $2M
Active

InsuranceCertificates — insurance-specific view with COI details, coverage amounts, policy numbers, carrier info, and auto-share job count

useInsuranceDocuments() • api.documents.queries.insurance • api.documents.mutations.toggleAutoShare

Compliance Checklist
9:41
Overall Compliance
72%
18 of 25 required documents on file
General Contracting
5/5 Complete
Ohio Contractor License
Valid through Dec 31, 2026
General Liability Insurance
Coverage: $1M / $2M
Workers Compensation
Expiring in 26 days
W-9 / Tax ID
On file
Business Registration
LLC — Ohio SOS
Electrical Services
1/3 Complete
Journeyman Electrician License
Valid
Electrical Permit — Summit
Expired Jan 31, 2026
Arc Flash Training Cert
Required for all electrical work
What's Needed?
Different service types require specific documents. Tap here to see the full requirements list for your registered services.

ComplianceChecklist — per-service-type requirement lists, completion progress bars, missing document alerts, and info help section

useComplianceChecklist() • api.documents.queries.compliance • api.documents.queries.requirements


Sharing & Permissions
9:41
General Liability COI
Erie Insurance • GL-2026-0847291
Auto-Attach to Proposals
Include in every bid submission
Visible to Homeowners
Clients can view on your profile

Team Access

Access History
View All
Sarah Chen viewed the document
Today, 2:34 PM
Mike Rodriguez shared with 3Bids Job #1247
Yesterday, 10:15 AM
Homeowner (Lisa Park) verified on job #1247
Yesterday, 11:02 AM
System auto-attached to proposal #1251
Feb 22, 2026
Mike Rodriguez replaced document (v2)
Jan 15, 2026

SharingPermissions — per-document share settings, team access levels, auto-attach toggle, client visibility, and access audit trail

useDocumentSharing(docId) • api.documents.mutations.updateSharing • api.documents.queries.auditTrail


Data Architecture

contractorDocuments Schema

_id: Id<"contractorDocuments">
contractorId: Id<"contractorUsers">
title: string
fileName: string
category: "licenses" | "insurance" | "contracts" | "safety" | "tax"
storageId: Id<"_storage">
mimeType: string
sizeBytes: number
description: string | undefined
expirationDate: number | undefined
status: "current" | "expiring" | "expired"
autoReminder: boolean
version: number
previousVersionId: Id<"contractorDocuments"> | undefined
uploadedBy: Id<"contractorUsers">
_creationTime: number

insurancePolicies Schema

_id: Id<"insurancePolicies">
contractorId: Id<"contractorUsers">
documentId: Id<"contractorDocuments">
type: "general_liability" | "workers_comp" | "auto" | "umbrella" | "professional"
policyNumber: string
carrier: string
coveragePerOccurrence: number
coverageAggregate: number
certificateHolder: string
effectiveDate: number
expirationDate: number
autoShareWithJobs: boolean
_creationTime: number

documentSharing Schema

_id: Id<"documentSharing">
documentId: Id<"contractorDocuments">
contractorId: Id<"contractorUsers">
autoAttachToProposals: boolean
clientVisible: boolean
teamAccess: TeamAccessEntry[]
  .userId: Id<"contractorUsers">
  .level: "owner" | "edit" | "view"
_creationTime: number

documentAuditLog Schema

_id: Id<"documentAuditLog">
documentId: Id<"contractorDocuments">
actorId: Id<"contractorUsers"> | Id<"posterUsers"> | "system"
actorName: string
action: "viewed" | "downloaded" | "shared" | "replaced" | "auto_attached" | "verified"
context: string | undefined
_creationTime: number

complianceRequirements Schema

_id: Id<"complianceRequirements">
serviceType: string
documentName: string
category: "licenses" | "insurance" | "safety" | "tax"
isRequired: boolean
description: string
renewalPeriodDays: number | undefined
_creationTime: number

Hooks & State

useDocuments()
  dashboard KPIs, categories, storage, alerts
useDocumentsByCategory(cat)
  filtered list, search, status badges
useDocument(docId)
  detail, metadata, versions, preview URL
useUploadDocument()
  form state, file picker, upload progress
useExpiringDocuments()
  timeline grouped by urgency, countdown
useInsuranceDocuments()
  COI details, coverage, auto-share state
useComplianceChecklist()
  per-service requirements, completion %
useDocumentSharing(docId)
  permissions, team access, audit trail
useDocumentVersions(docId)
  version history, replace/rollback
Browse & Upload
9:41
Documents
Categories
12
Total Docs
2
Expiring
Document List
General Liability
Insurance • Valid until Dec 2026
Workers Comp
Insurance • Expires in 30 days
HVAC License
License • Valid until Mar 2027
General Liability Certificate
Valid
Policy #
GL-2024-78291
Coverage
$2,000,000
Compliance & Sharing
9:41
Compliance & Sharing
Compliance Checklist
General Liability Insurance
Workers Compensation
HVAC License
Business Registration
Sharing & Permissions
Jake Martinez
Full access • All documents
Sarah Lewis
View only • Insurance docs
Public Share Link
Expires in 7 days • View only
Document Library
https://app.3bids.io/contractor/documents
3Bids
All Docs ⌘1
Upload ⌘2
Expirations ⌘3
Compliance ⌘4
Sharing ⌘5
MK
Mike Kowalski
Contractor

Document Library

12
Total Docs
10
Valid
2
Expiring
83%
Compliant
By Category
Insurance
4 documents
Licenses
3 documents
Contracts
5 documents
Expiration Timeline
Compliance Center
https://app.3bids.io/contractor/documents/compliance
3Bids
All Docs ⌘1
Upload ⌘2
Expirations ⌘3
Compliance ⌘4
Sharing ⌘5
MK
Mike Kowalski
Contractor

Compliance Center

Requirements
General Liability Insurance
Workers Compensation
HVAC License
Business Registration
Audit Log
GL Certificate uploaded
2 days ago
Docs shared with GC
5 days ago
Workers Comp renewed
2 weeks ago