Section 1: Welcome & Intro
Intro Slides (Slide 2 of 3)
9:41
3bids
All-In-One
Get Paid
AI Tools

Get Paid, Guaranteed

Stop chasing payments. Start growing.

Homeowners find you in our marketplace
All jobs fully funded upfront
Low fees — as low as 3.5% on your leads
Verified homeowners with real projects
Next
IntroSlidesScreen -- Horizontal ScrollView paging. 3 slides: All-In-One, Get Paid, AI Tools. Tab indicator at top. useState(currentSlide)
Onboarding Hub
9:41
3bids

Almost there

Complete these steps to start bidding on jobs.

Profile & Office

Business name, phone, and office address

Portfolio

Showcase your best work

Documents

Service agreement and licenses

Onboarding Call

Schedule your verification call

Billing & Subscription

Pro Plan, Stripe Connect, payment

Continue

Complete your profile to continue

ContractorOnboardingHub -- StepCard list with progress dots. useQuery(api.contractor.onboarding.getProgress). Steps: profile, portfolio, documents, call, billing.
Section 2: Business Profile
Profile Setup
9:41

Profile Setup

Tell us about yourself and your business

Generate AI Avatar

Personal Information
Optional
Business Information
If applicable to your trade
Office Location
Main Office
1234 Main St, Akron, OH 44301
25 mile service radius
Save & Continue
ContractorOnboardingProfile -- Combined personal + business. OfficeLocationManager for offices with radius. useMutation(api.contractor.profile.update). AvatarGeneratorModalV2 for AI avatar.
Services Selection
9:41

Select Your Services

Choose the services you offer. You can update these anytime.

3 services selected

Popular Services
Plumbing
Repairs, installations, water heaters
Popular
Electrical
Outlets, lighting, panels
Popular
HVAC
AC, heating, duct cleaning
Popular
Handyman
General repairs, drywall
Popular
More Services
Roofing
Repairs, replacement
Painting
Interior, exterior
Continue

You can add more services later from your profile

ContractorOnboardingServices -- Multi-select grid with Popular/More sections. useMutation(api.contractor.auth.completeOnboarding). SERVICE_CATEGORIES array with icons + descriptions. ServiceCard toggles.
Portfolio
9:41

Build Your Portfolio

Show homeowners your best work

No Projects Yet

Organize your work into projects. Each project can have multiple photos showing your craftsmanship.

Why add projects?
Showcase Your Best Work
Contractors with portfolios get 3x more bids accepted
Attract Quality Clients
Homeowners want to see your previous work
Stand Out from Competition
Before & after photos show transformations
Show Your Transformation
The most powerful way to win jobs
Before
After
+47% more job requests with before/after photos
Add Your First Project
ContractorOnboardingPortfolio -- 3-step state machine: welcome, add-project, portfolio. BeforeAfterSlots + MediaUpload for photos. useMutation(api.contractor.portfolio.add). Category select, before/after feature card.
Section 3: Verification & Launch
Schedule Call (Concierge)
9:41
WHITE-GLOVE SERVICE

We'll Call You

No scheduling hassle. Tell us when works best and our team will reach out for a quick 15-minute verification call.

Your Phone Number
(330) 555-0147
Best Day to Call
Mon
Mar 2
Tue
Mar 3
Wed
Mar 4
Thu
Mar 5
Fri
Mar 6
Best Time
Morning
9am -- 12pm
Afternoon
12pm -- 5pm
Request My Call

I'll schedule myself later

ContractorOnboardingCall -- Concierge flow: WE call THEM. HeroIcon + badge. Day/time selectors. useMutation(api.contractor.scheduling.scheduleOnboardingCall). Success state with animated pulse rings.
Billing (Pro Plans Tab)
9:41

Billing & Subscription

Set up payments and choose your plan

In-Home
Invitations
Pro
Plans
Contract
Payouts
CURRENT PLAN
Basic
Pro Plus
Enterprise
$833 /mo
Billed annually (2 months free!)
Monthly
Annual
Unlimited
Leads
3.5-5%
Take Rate
Enhanced
Profile
Upgrade to Pro Plus
Pro Plus Features
Unlimited bids
Enhanced profile
Priority support
Lower fees (3.5% your leads / 5% 3bids)
Before/After stories
Recurring services
Annual Savings: Buy 10 months, get 2 months FREE!

Finish Later

ContractorOnboardingBilling -- 3-tab flow: In-Home Invitations, Pro Plans, Contract Payouts. TabNavigation + SimpleProgressDots. Plan tiers: Basic ($1/mo, 10%), Pro Plus ($999/$833, 3.5-5%), Enterprise ($1,999/$1,666, 3.5-5%). Stripe checkout session.
Onboarding Complete
9:41
3bids

You're all set!

Your contractor profile is ready. Welcome aboard.

Profile & Office

Business name, phone, and office address

Portfolio

Showcase your best work

Documents

Service agreement and licenses

Onboarding Call

Schedule your verification call

Billing & Subscription

Pro Plan, Stripe Connect, payment

Go to Dashboard
Start bidding on jobs
Onboarding complete!

You have a call scheduled for verification. Contractors are approved manually during the call.

ContractorOnboardingHub (allComplete state) -- All StepCards show ic-H (success). Dashboard CTA card. TipCard variant="success" for completion message. useQuery(api.contractor.onboarding.getProgress).isComplete. Router: router.replace('/(contractor)/(tabs)').
Welcome & Hub
9:41
Welcome & Hub
Content
Intro slides with value props, bullet points, and slide indicator
Items
Item Alpha
Updated 2h ago
Active
Item Beta
Updated 5h ago
Pending
Item Gamma
Updated 1d ago
Review
Profile & Services
9:41
Profile & Services
Details
Title
Sample entry
Description
Enter description...
Content
Services selection grid with popular badges, count indicator
Portfolio & Scheduling
9:41
Portfolio & Scheduling
Details
Title
Sample entry
Description
Enter description...
Preview
Project Preview
Detailed view with all project information, photos, and metadata.
Media
Drag & drop or tap to upload
Details
Title
Sample entry
Description
Enter description...
Tools
Share your profile or scan to preview
Billing & Complete
9:41
Billing & Complete
Items
Item Alpha
Updated 2h ago
Active
Item Beta
Updated 5h ago
Pending
Item Gamma
Updated 1d ago
Review
Configuration
Option A
Option B
Option C
Overview
247
Total
+18%
Growth
Onboarding Workspace
https://app.3bids.io/contractor/onboarding
3Bids
Welcome ⌘1
Profile ⌘2
Services ⌘3
Portfolio ⌘4
Call ⌘5
Billing ⌘6
Complete ⌘7
JC
James Carter
Contractor
Settings ⌘,

Onboarding Workspace

1,247
Total
+23%
Growth
89%
Rate
$42K
Revenue
Recent Activity
Item updated
2 minutes ago
Task completed
15 minutes ago
New notification
1 hour ago
Performance
Plan Selection & Launch
https://app.3bids.io/contractor/onboarding
3Bids
Welcome ⌘1
Profile ⌘2
Services ⌘3
Portfolio ⌘4
Call ⌘5
Billing ⌘6
Complete ⌘7
JC
James Carter
Contractor
Settings ⌘,

Plan Selection & Launch

1,247
Total
+23%
Growth
89%
Rate
$42K
Revenue
Recent Activity
Item updated
2 minutes ago
Task completed
15 minutes ago
New notification
1 hour ago
Performance

Data Architecture

Schema Tables

  • contractorUsers -- auth, subscription, stripeConnectId, onboardingCallScheduled
  • contractorProfile -- name, phone, businessName, licenseNumber, bio, servicesOffered, serviceRadius, city, state, zipCode, avatarUrl, yearsExperience
  • contractorPortfolio -- title, description, category, photos[], beforePhotos[], afterPhotos[]
  • contractorDocuments -- type, fileUrl, status (pending/verified/rejected)

Mutations & Queries

  • api.contractor.auth.completeOnboarding
  • api.contractor.profile.update
  • api.contractor.portfolio.add / .update / .remove
  • api.contractor.portfolio.list
  • api.contractor.onboarding.getProgress
  • api.contractor.scheduling.scheduleOnboardingCall
  • api.contractor.documents.list
  • api.features.subscriptions.getCurrentSubscription

Key Components

  • StepCard -- variant="contractor" with terracotta accent
  • OfficeLocationManager -- multi-office with service radius
  • AvatarGeneratorModalV2 -- AI avatar (GPT Image 1.5)
  • BeforeAfterSlots + BeforeAfterSlider
  • MediaUpload -- variant="grid", max 10 photos
  • HeroIcon -- variant="terracotta"
  • FormFooter -- variant="contractor"
  • SimpleProgressDots -- variant="contractor"

Integrations

  • Clerk -- Authentication, user session
  • Stripe Connect -- Payout bank account onboarding
  • Stripe Checkout -- Pro plan subscription billing
  • Stripe Payment Methods -- Card on file for lead purchases
  • SendGrid -- Welcome email, call confirmation
  • OpenAI GPT Image 1.5 -- AI avatar generation