No black boxes. No surprises. Here’s what happens from the moment you create a job to the moment you get paid.
Each person gets the interface that fits their world — no one is forced to learn a new app.
Manage the full job lifecycle from your terminal or the web dashboard. Every command outputs JSON — full control, fully auditable.
Gets a job offer by SMS. Replies YES, NO, or DONE. After a one-time signup for ID verification and payouts, day-to-day work is just texts — no app, on every phone and carrier.
Gets a link by email. Clicks to approve the quote, pay the invoice, or leave a review. No account needed — not now, not ever.
Seven states. Every transition is logged. The auto badge means something fires without you lifting a finger.
Create the job with one CLI command
Set the price — approval email fires to the client
Client clicks Approve in their email — no login needed
Assign a contractor — SMS fires to their phone
Contractor replies YES by text — you're notified
Contractor replies DONE — payment link fires to client
Client pays via Stripe — review request fires automatically
Your field workers already have everything they need — their phone.
No app store. No password reset emails. No training session.
When you assign a job, they get a text. One word to accept. One word when done.
Your quote for Gutter Clean, 42 Oak St is ready — $240.
Mike T. has completed the job. Pay securely via Stripe.
Leave a quick review for Mike T. — it only takes a second.
Three emails. Three clicks. That’s the entire client experience.
No account. No app. No password. Just a secure link in their inbox.
Every client link is cryptographically unique. Here’s what that means in plain English.
Approve and review links die the moment they're used. Payment links stay valid until the payment actually succeeds — an abandoned checkout never strands your client — then they die too.
Approve links expire in 72 hours. Payment links in 7 days. Review links in 14 days. Expired? The operator reissues in one command.
Whether a link is wrong, expired, or already used, clients see the same message. No information leaks about why it failed.
Invalid / expired / already used → same generic error shown to client
Job Relay is invite-only while we onboard early operators. Already invited? Your workspace is waiting.
Tell us where you are and we'll let you know when Job Relay opens in your area.