diff --git a/app/(auth)/sign-up/[[...sign-up]]/page.tsx b/app/(auth)/sign-up/[[...sign-up]]/page.tsx index 05d6adb..4c3c3b2 100644 --- a/app/(auth)/sign-up/[[...sign-up]]/page.tsx +++ b/app/(auth)/sign-up/[[...sign-up]]/page.tsx @@ -15,18 +15,17 @@ import { resolveSignedInAppDestination } from '@/lib/public-auth-routing'; function getIntentCopy(intent: string | undefined) { if (intent === 'pilot') { return { - label: 'Start Free Pilot', - title: 'Create your account and start pilot onboarding', + label: 'Start 14-Day Pilot', + title: 'Create your account and start your 14-day pilot', detail: - 'This path is for a business owner creating a new CallbackCloser account. If you are already signed in, CallbackCloser will send you to onboarding, your dashboard, or the admin new-business flow based on your role.', + 'Create your CallbackCloser account to start pilot setup, test the missed-call text flow, and confirm owner alerts before you go live.', }; } return { label: 'Create Account', title: 'Create your CallbackCloser account', - detail: - 'Create a new owner account here. Founder-operated customer pilot setup is separate and stays inside the admin new-business flow.', + detail: 'Create your owner account to review the demo, pricing, and next steps for your business.', }; } @@ -46,7 +45,7 @@ export default async function SignUpPage({

{copy.title}

{copy.detail}

- Existing users should sign in. CallbackCloser operators setting up a customer pilot should use the admin new-business flow, not public signup. + Already have an account? Sign in to continue your setup.

@@ -86,7 +85,7 @@ export default async function SignUpPage({

{copy.title}

{copy.detail}

- Existing users should sign in. CallbackCloser operators setting up a customer pilot should use the admin new-business flow, not public signup. + Already have an account? Sign in to continue your setup.

diff --git a/app/page.tsx b/app/page.tsx index 770f652..0543f38 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -121,9 +121,9 @@ const planTeasers = [ ]; const onboardingSteps = [ - 'We provision your business texting line and connect routing so missed callers are covered fast.', - 'We confirm the first text and lead questions before live traffic starts.', - 'We verify owner notifications and run a missed-call test with you before go-live.', + 'We set up your business texting line and missed-call follow-up so you can see the full flow clearly.', + 'We test the first text, lead questions, and handoff details with you before real callers rely on it.', + 'We confirm owner alerts and run a missed-call practice test before you go live.', ]; export default function LandingPage() { @@ -147,12 +147,9 @@ export default function LandingPage() {
- Start Free Pilot + Start 14-Day Pilot - - Create Account - - + See Demo
@@ -164,8 +161,14 @@ export default function LandingPage() {

Close one extra job and this can pay for itself.

- Start Free Pilot creates a new account or takes an existing user to the right next step automatically. - Founder-operated customer pilot setup stays separate in the admin new-business flow. + Start a hands-on pilot and we'll help you get set up, test the missed-call text flow, and confirm owner + alerts before you go live. +

+

+ Need a new owner login first?{' '} + + Create account +

@@ -226,7 +229,7 @@ export default function LandingPage() { Open the public demo to show the missed-call follow-up, owner alert, and dashboard handoff without login or setup.

- Open public demo + See Demo @@ -285,8 +288,8 @@ export default function LandingPage() { Trust and proof

Proof that missed calls can still turn into paying work

- The public site should make the operational value obvious: faster response, cleaner handoff, and trust pages that are - easy to verify before a business ever goes live. + CallbackCloser helps you reply faster, qualify the lead before you call back, and keep the setup clear before you put + it in front of real customers.

@@ -304,8 +307,8 @@ export default function LandingPage() { - White-glove pilot onboarding - Hands-on setup so your missed calls are covered fast and the first test goes cleanly. + 14-Day Pilot + Try CallbackCloser with hands-on setup before you rely on it with real customers.
@@ -317,18 +320,18 @@ export default function LandingPage() {
))}

- We help you get live fast, cover the missed-call gap, and confirm the first real handoff before your team depends on it. + We help you test missed-call texting, owner alerts, and lead handoff before your team depends on it every day.

-

Launch standard

+

What the pilot covers

- Every rollout is built to give the business a managed texting line, visible trust pages, and a clean first test call. + A short pilot is the fastest way to confirm the system fits your team before you rely on it with real customers.

-

- One business texting number is included in the base service.

-

- SMS Consent, Privacy Policy, Refund, and Terms & Conditions pages stay public before activation.

+

- Missed-call texting and lead questions are tested with you.

- Owner alerts and callback summaries are verified before launch.

+

- Trust pages stay visible before activation.

@@ -375,7 +378,7 @@ export default function LandingPage() { Simple plan choices - Visitors should understand the offer in under 20 seconds. + Pick the setup that matches your call volume, team size, and rollout pace. {planTeasers.map((plan) => ( @@ -386,7 +389,7 @@ export default function LandingPage() { ))}
- Start capturing missed leads + See pricing
@@ -394,16 +397,17 @@ export default function LandingPage() { - Compliance stays visible - Trust language remains present without dominating the pitch. + Trust stays visible + Review the details before you start your pilot or turn it on for customers.

CallbackCloser keeps pricing, refund, Privacy Policy, Terms & Conditions, contact, and SMS Consent pages visible - before a business ever starts a pilot. + before your business starts a pilot.

- STOP, START, and HELP support remain part of the product flow, and the public consent page still explains message frequency and message/data rates. + Your customers can also see clear SMS consent language, including STOP, START, HELP, message frequency, and + message/data rates.

diff --git a/components/public-site-footer.tsx b/components/public-site-footer.tsx index 9355b0a..511fec5 100644 --- a/components/public-site-footer.tsx +++ b/components/public-site-footer.tsx @@ -4,7 +4,7 @@ import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILO const footerLinks = [ { href: PUBLIC_CREATE_ACCOUNT_PATH, label: 'Create account' }, - { href: PUBLIC_START_FREE_PILOT_PATH, label: 'Start Free Pilot' }, + { href: PUBLIC_START_FREE_PILOT_PATH, label: 'Start 14-Day Pilot' }, { href: PUBLIC_SIGN_IN_PATH, label: 'Sign in' }, { href: '/pricing', label: 'Pricing' }, { href: '/demo', label: 'Missed-Call Demo' }, diff --git a/components/public-site-nav.tsx b/components/public-site-nav.tsx index b32fa50..d535007 100644 --- a/components/public-site-nav.tsx +++ b/components/public-site-nav.tsx @@ -40,11 +40,11 @@ export function PublicSiteNav() { Sign in - + Create account - Start Free Pilot + Start 14-Day Pilot
diff --git a/tests/public-auth-routing.test.ts b/tests/public-auth-routing.test.ts index f62bf8c..377999c 100644 --- a/tests/public-auth-routing.test.ts +++ b/tests/public-auth-routing.test.ts @@ -55,13 +55,13 @@ test('clerk auth surfaces use explicit path routing and fallback redirects', () assert.match(signUpPage, /routing="path"/); assert.match(signUpPage, /fallbackRedirectUrl=\{DEFAULT_CLERK_AFTER_AUTH_URL\}/); assert.match(signUpPage, /