One job, three apps

The running jobjob_7Hq2 · delivered · document.fr-CA.pdf · $49.00 charged

job_7Hq2, the $49 Translation with a person on every job, in the customer portal, the delivery portal and the owner console, at each step.

Add one line to a Service and a person approves every job before it ships. The same file serves an app for each person the job touches, at the paths below. Nothing here is mocked: each frame is the page the package served at build.

services/translation.ts
import { Service } from 'services.dev'

export default Service({
  name: 'Translation',
  input: { document: 'file', to: 'language: a BCP 47 tag, such as fr-CA' },
  output: { document: 'file' },
  human: 'always',
  price: 49,
})
human: 'always'A person approves
Buyerslocalhost:8787/jobs/job_7Hq2
Open /jobs/job_7Hq2 →
Peoplelocalhost:8787/people
Open /people →
Youlocalhost:8787/owner
Open /owner →
no person at this stepThe buyer accepts or sends it back
Buyerslocalhost:8787/jobs/job_7Hq2
Open /jobs/job_7Hq2 →
Peoplelocalhost:8787/people
Open /people →
Youlocalhost:8787/owner
Open /owner →
human: 'always'The AI redid it; a person approves again
Buyerslocalhost:8787/jobs/job_7Hq2
Open /jobs/job_7Hq2 →
Peoplelocalhost:8787/people
Open /people →
Youlocalhost:8787/owner
Open /owner →
no person at this stepYou keep the margin
Buyerslocalhost:8787/jobs/job_7Hq2
Open /jobs/job_7Hq2 →
Peoplelocalhost:8787/people
Open /people →
Youlocalhost:8787/owner
Open /owner →

The customer portal

Your buyer sees where their job is, what came back, and the two things they can do now: accept it, or send it back with a note. It serves at /jobs/job_7Hq2.

Buyerslocalhost:8787/jobs/job_7Hq2delivered · $49.00 charged
Open /jobs/job_7Hq2 →

The delivery portal

The people at your line see each job that waits on them, what the AI did, and what they earn for it. One press approves; a note sends it back to the AI. It serves at /people.

Peoplelocalhost:8787/peoplewaiting · on approval · $49.00 held
Open /people →
job_7Hq2 · waiting · on approval · $49.00 held

    The owner console

    You see every job, what each line cost, and what you keep. It serves at /owner.

    Youlocalhost:8787/owneraccepted · $49.00 final
    Open /owner →

    Tenants, firms and practices

    Three more apps serve the businesses that work through yours. Each is the same shell, on the same jobs, scoped to what that business may see.

    • Tenants/<tenant>a reseller sells your Services as its own offers, inside your limits
    • Firms/<firm>a firm enrolls its own bench in your Pool and is paid for its members
    • Practices/<practice>a buyer brings its own professionals into a scoped workspace