AI Service Network

See how it works

Every real, built screen in this product, grouped by the journey it belongs to - not by menu. Pick a role below to see real backend data behind each one.

View As

Discover

Sign inowner - /sign-in

This ICP lives on phone numbers, not corporate email - the first screen has to work for someone who has never typed a password into a business app before.

The signed-out entry point - phone/passwordless auth via Clerk, once the Clerk app exists (ADR-0006 link 1); the seeded dev-principal identity today.

Accept a provider's invitationcustomer - /invite/[token]

The V1 wedge is a link: a provider's existing 10-30 customers land here from a text message, and a customer who has to search for their cleaner's name after installing is a customer lost - this screen is where that promise is kept or broken.

Renders outside every role group, with no session required, and writes the immutable relationship origin the moment it is accepted.

Prepare

Business setupowner - /(provider)/more/setup

Removes the blank-slate problem - a new provider sees exactly what to fill in first, not an empty app with no next step.

First-run setup for a provider's business profile before the first job is ever scheduled.

Service catalogowner - /(provider)/more/services

Lets a provider price their real business - not the platform's default - without waiting on a developer to change a price.

Turns the shared platform catalog (category, service type, package, add-ons) into this provider's own enabled services and price overrides.

Customersowner - /(provider)/more/customers

This is the V1 wedge's first write: a provider who joins to talk to customers across languages starts by bringing in the 10, 15, 30+ customers they already have.

The provider's customer list, and where a customer already worked with off-platform is added for the first time.

Invite a customerowner - /(provider)/more/customers/[customerId]/invite

Turns "I already work with this person" into "they're on the app" in one message, with the relationship's origin protected the moment it's sent.

Sends the signed invitation link a customer accepts on `invite-accept`.

Operate

Homeowner - /(provider)

Answers "what do I need to do today" in one glance, instead of a provider hunting across tabs every morning.

The provider's daily landing screen after sign-in.

Jobsowner - /(provider)/jobs

One list instead of a paper calendar, a group chat and a memory - the whole relationship lifecycle CLAUDE.md names (requested -> ... -> repeated) lives here.

Every job across every stage - requested, scheduled, in progress, completed, paid.

Jobowner - /(provider)/jobs/[jobId]

Makes "did this job actually happen and what changed" answerable without a phone call - a worker in a dead zone tapping Complete four times is a design assumption, not a bug, and this screen never claims a success it can't back up.

One job's full detail and its state-machine actions (start, complete, cancel) via the compare-and-set transition endpoint.

Calendarowner - /(provider)/calendar

Prevents double-booking the same worker or the same hour - the two costly mistakes a spreadsheet or a paper calendar cannot catch before it's too late.

Scheduled jobs and blocked time in calendar form.

Conversationowner - /(provider)/more/conversations/[relationshipId]

This is the actual V1 wedge, not a feature: a provider who cannot fully explain a delay or a price change in their customer's language keeps that conversation - and the relationship - here instead of losing it.

A translated, two-way conversation thread with a customer.

Todayworker - /(worker)

A cleaner or a technician standing in a driveway needs one answer - where am I going next - not a dashboard built for the owner.

A worker's assignments for today, without a jobs list, a calendar or a customer directory around them.

Homecustomer - /(customer)

Proves to a newly-invited customer that the link they tapped actually leads somewhere real, not a blank app.

A customer's own landing screen after accepting an invitation.

Manage

Customerowner - /(provider)/more/customers/[customerId]

Everything about one relationship in one place, instead of piecing it together from old texts and a memory of the last visit.

One customer's relationship detail - properties, history, contact.

Account settingsowner - /(provider)/more/account

The same human can own a cleaning business and be someone else's customer (ADR-0004) - this is where they see and control which hat they're wearing.

The signed-in person's own account and role-switching controls.

More (provider)owner - /(provider)/more

Keeps the four daily tabs uncluttered while still making every less-frequent action reachable in one tap.

The provider's hub for everything that isn't a daily-use tab: customers, services, setup, account.

More (worker)worker - /(worker)/more

One consistent place to sign out or check account details, no matter which of the three roles is currently active.

The worker's account hub - the same underlying screen the provider and customer surfaces use, scoped to what a worker needs.

More (customer)customer - /(customer)/more

One consistent place to sign out or check account details, no matter which of the three roles is currently active.

The customer's account hub - the same underlying screen the provider and worker surfaces use, scoped to what a customer needs.