Tour Dash

Every door into Tour Dash

One page for the whole surface. The hosts a visitor can land on, the seven paths they walk from there, the redirects that quietly move them between hosts, and a live link on every card so you can open the real page as you read. Drawn from the router on 6 September 2026.

Companion to System Live links open the production hosts
Public anyone, signed in or not Signed in any account Agents only a vendor is sent home Admin the isAdmin flag
01

The hosts

It is one build deployed once. The only thing that changes between hosts is what the root path means, and whether a session can be found there. A login lives in the browser's storage for one origin, so signing in on the marketing site would never carry across to the app, which is why sign-in only exists on the app host.

The marketing site
/ is the landing page with its two persona doors. Every other path hops to the app host with the path intact, so a shared /my-wallet link still lands on the wallet. The job feed and the waiting list are the only product pages that render here.
The product
/ is the dashboard when you are signed in and a redirect to /login when you are not. Nobody arriving here is someone to market to; they need to sign in. This is the only origin that holds a session.
The preview, and localhost:8080
Neither marketing nor app, on purpose. / is the landing when signed out and the dashboard when signed in, so one preview URL shows the whole product and npm run dev needs no hosts-file entry.
The sample-data build
A second entry with fictional listings, jobs and people and zero Supabase traffic. Every product path exists under it, so /demo/leads is the lead board on made-up data. Safe to show anyone without an account.
02

The funnels

Each rail is a path a real person walks, read left to right. Every card is a live link to that page on the host it belongs to. A shaded card is a hop between hosts, and a dashed card is where the path leaves the product.

03

Redirects and hops

The moves a visitor never sees. Old links keep working, a session is never looked for on the wrong host, and signed-in people are not shown a sign-in form.

tourdash.io/anything but /→ app.tourdash.io/same path A real location replace with the path, query and hash carried across. Back from login returns to the landing, not the redirect.
app.tourdash.io/ signed out→ /login An anonymous visitor on the app host needs to sign in, not to be marketed to.
/login /signup→ / Only while signed in. Both routes exist inside the app shell purely to bounce.
/contractors→ /vendors The sidebar link until the vendor rename. Kept so old links stay alive.
/job-feed→ /find-opportunities The in-app feed lived here for an afternoon. Vendor work is a scope on Find now.
/demo/*→ /demo/ rewrite, 200 A Pages rewrite, not a redirect. Every path under it is served by the sample-data router, which is why demo photos live in /demo-media instead.
04

Every URL

The full index from the router. Each row has a live link on the host that serves it and, where one exists, a demo twin. The last column is the report that shaped the page.

PathWhoWhat it isOpenReport
Public, on either host
/PublicLanding page on tourdash.io. Dashboard on the app host when signed in.marketingappdemoThe landing page
/jobsPublicThe open job feed, the shop window.livedemoThe job feed
/jobs/:idPublicOne job, the page a shared link opens.via the feedThe job feed
/waitlistPublicJoin the waiting list. Writes one row to Supabase.liveWaitlist copy pass
/loginPublicSign in. App host only; bounces home when signed in.liveGetting started
/signupPublicCreate an account. ?as=agent or ?as=vendor presets the side.agentvendorTwo personas
Inside the app shell, any account
/find-opportunitiesSigned inOpen work near you. Vendor work is a scope, not a page.livedemoFind opportunities
/my-opportunitiesSigned inWork you have claimed, and its next step.livedemoMy opportunities
/my-walletSigned inBalance, holds, transfers and the connected Stripe account.livedemoStripe Connect
/calendarSigned inYour work on days.livedemo—
/profileSigned inYour own profile. /profile/:userId is anyone else's.livedemoReference pages
/settingsSigned inAccount, location and notifications.livedemoReference pages
/how-it-worksSigned inThe explainer, inside the shell.livedemoReference pages
Agents only
/create-serviceAgents onlyPost a showing or a job.livedemoThe marketplace shell
/hireAgents onlyHire a vendor for the trades.livedemoHire a vendor
/vendorsAgents onlyThe vendor directory. /contractors redirects here.livedemoVendors
/my-listingsAgents onlyYour properties and the work against each.livedemoMy listings
/leadsAgents onlyThe lead board, the second marketplace.livedemoLead marketplace live
/sellAgents onlySell a lead, referral or open house.livedemoSelling referrals
/referralsAgents onlyReferrals sent and received.livedemoReferrals
Admin
/adminAdminThe command center. No demo twin exists.liveAdmin command center