Product updates and release notes for ZeroPhase.
Ask ChatGPT, Claude or Google AI Mode for the best BUD/S prep training app and all three rank other people's products: Stew Smith's app, Primus, Mountain Tactical Institute, SOFLETE, a PST calculator. The engines had no page of ours to retrieve for that comparison. There is one now: the options each read from their own site or store listing, the date we read it, what the program costs, and where each one beats us. Where a competitor publishes nothing, the row says unknown.
The label under each price said once. It now says one time on the home page, the upgrade page, and the dashboard upgrade page: Pro $49 one time, Premium $99 one time. Same plans, same prices, and the same promise as the Terms of Service and the privacy policy, which already call them one-time purchases.
Score your PST on the free calculator and the result now ends with your own next step: the event furthest from its BUD/S minimum, how far off it is, and one button into the plan. A result that clears every minimum says so instead.
The public pages called the Navy's program the "Naval Special Warfare Preparatory Training Guide". The guide's own cover reads Naval Special Warfare Physical Training Guide; the Preparatory School is the NSW unit that produced it, not the document. Every public page, the glossary, the onboarding quiz and llms.txt now name it correctly, so an assistant that reads the site repeats the right name.
The free PST scorecard page now states plainly that Navy SEAL candidates sit this screening test before BUD/S, and its search title and description use the words people type to find a PST calculator. The PST standards glossary entry links to it too.
The home page now plays a short muted video of the real app: the NSW PT Guide, today's workout, a day logged in a few taps, and the streak. Visitors who prefer reduced motion see a still image instead.
The Sunday rest day no longer resets your current streak. Train Monday to Saturday, rest, and the streak carries into the next week.
The home page now has a flip-through viewer that shows the real guide pages: tap or swipe to turn them, download the PDF. The hero links 'NSW PT Guide' directly to the viewer.
The start quiz no longer asks for a PST test date it never used. The sample day now shows a real week 1 Monday (a 3-mile run, then 8 upper-body lifts and 6 core exercises, 15 tasks), and the comparison table shows what ZeroPhase does that the PDF guide does not.
Links in lifecycle emails and the footer now carry UTM tags so we can tell which surface brought you back. ZeroPhase sends the right source and campaign with every link: your welcome email, reminders, the footer credit and share buttons.
Pro's logging and task tracking were sometimes described as Premium-only. Every pricing surface, upgrade page, and email now says: Pro includes the full program and performance logging (reps, weights, sets, times); Premium adds your interval paces and the Performance page.
Privacy policy rewritten to match what the app collects, shares, and keeps. Full list of collected data (PST results, session notes, onboarding answers, attribution data), every data processor (Polar, MongoDB Atlas, Vercel, Cloudflare, Google, EchoForm, DataFast, Resend), staff access, cookies and local storage, backup retention policy (14-day rotation), payment (no card stored), and a promise to email you on changes. Never-trialed accounts are now purged 30 days after last activity, matching the retention policy.
The Terms of Service now cover the 3-day trial, one-time purchases, refunds (all sales final), payments through Polar, what happens to your data when access ends, the 18+ age rule, training at your own risk, no guarantee of passing the PST, no Navy affiliation, and Ohio law.
Clicking Get after it now opens the quiz for new visitors. It sent them back to the home page for a short time after today's sign-in switch.
After you sign up with an email and password, ZeroPhase now shows a check-your-email page, and the link in that email signs you in and opens your plan.
Account deletion now removes your testimonials and your login (name, email, Google sign-in) along with your training programs and PST results. The only thing we keep is a one-way hash of your email, so you do not get a second free trial.
ZeroPhase is now a one-time purchase: Pro $49 or Premium $99, paid once. No monthly bill and nothing to cancel. The 3-day free Premium trial stays.
Every existing account keeps its plans and PST results after the sign-in switch. Sign in with your old password or with Google, and your history is where you left it.
The sign-in page marks the method you used last time, so you sign in to your account instead of making a new one by mistake. The Google button now uses Google's own design, and the sign-in pages stay dark like the rest of the site.
After checkout, the dashboard thanks you and confirms which plan is active, and a thank-you email follows. Checkout opens with your email filled in.
Sign in, log out, subscribe, and billing buttons show a spinner while they wait, so you know your tap landed. The upgrade page now has a Log out link.
The hero now answers 'what is it?' in one line: the NSW PT Guide for BUD/S, made easier. The subhead says what the app actually opens on. Metadata descriptions, OG preview, glossary CTA, and structured data all lead with the same line instead of a feature list.
Production switches to Better Auth for sign-in and Polar for payments. Clerk is removed. Email + password and Google sign-in through Better Auth are now the only sign-in methods. All subscription and Lifetime purchases go through Polar, which is the merchant of record. Existing Clerk users are migrated via the export script. The annual Pro member is comped to Pro until 2027-08-09 (new compedUntil field on the User model). The comped access helpers honor the expiry date — expired comps no longer confer access. Clerk env vars, the webhook route, and the @clerk/nextjs dependency are removed. CSP updated. Env vars simplified: Clerk vars removed; Polar and Better Auth vars are now the default.
Lifetime Premium behind the Polar flag: a signed-in user can buy Premium for a single $99 payment in Polar sandbox, and Premium unlocks with no end date. The Polar order.paid webhook writes lifetimePlan and lifetimePurchasedAt to the user record. The purge sweep, trial banner, and past-due banner respect lifetime users. A Lifetime card appears on the Polar pricing table alongside the subscription plans. New env var: POLAR_LIFETIME_PREMIUM_ID.
Pro and Premium subscriptions (monthly and annual) now work through Polar on a preview with AUTH_PROVIDER=better-auth. A Polar customer is created at sign-up. The Polar customer portal replaces the ManagePlanButton. An @polar-sh/better-auth webhook handler with signature verification writes the pricingPlan to the user record on subscription created, active, canceled, or past-due events. A new pricing component replaces the Clerk PricingTable on the landing page, /upgrade, and /dashboard/upgrade behind the flag, triggering Polar hosted checkouts through the Better Auth client. Polar sandbox products are configured via POLAR_PRO_MONTHLY_ID, POLAR_PRO_ANNUAL_ID, POLAR_PREMIUM_MONTHLY_ID, and POLAR_PREMIUM_ANNUAL_ID env vars.
Continue with Google signs up and signs in on a preview with AUTH_PROVIDER=better-auth. The Google button appears on the sign-in and sign-up pages alongside the existing email + password form. A Google OAuth client ID and secret from the Google Cloud Console environment variables GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET. The migration script supports Google users from the Clerk CSV export, matching by clerkId or verified email, with providerId 'google'. Unit tests cover Google user dry-run output and email-no-match skips.
The floating feedback button no longer sits over the task navigation arrows on phones. Feedback is now a row in the mobile Settings sheet and an item in the desktop avatar dropdown, both gated to production. The feedback board link works the same way as before.
Better Auth replaces Clerk as the auth provider behind the AUTH_PROVIDER flag. Email + password sign-up, sign-in, email verification, and password reset are now available on a preview with AUTH_PROVIDER=better-auth. With the flag unset, Clerk runs exactly as before. The middleware skips Clerk auth when Better Auth is active. Dev sign-in reads test user credentials from .env.local under Better Auth mode. A migration script converts Clerk password users to Better Auth using the official migration guide approach (direct adapter writes, bcrypt hash preserved). 827 existing tests pass with no regressions.
A public page at /fewer-than-26-weeks answering what the NSW guide says when your target PST date is less than 26 weeks away: start at week 1, do not skip ahead, and trust the guide's progression. Linked from the onboarding quiz summary when the target PST falls inside the plan, and from the starting-under-the-minimums page. Sitemap, llms.txt, and markdown builder included.
PST push-up and sit-up standards now match MILPERSMAN form rules (upper arms parallel, arms folded across the chest). Glossary facts corrected: minimums qualify, not competitive scores; 500-yard swim is 20 lengths, not 10 laps. Pull-up progression states THE_PLAN numbers for the 15 bracket. Selection line reads 'Competitive has you prepared' across the PST scorecard, the standards email, and the pst-standards glossary entry. Week notes move the last single-block CHI and third core set to week 12, and week 12 LSD 'reaches 5.75'. The landing training-day count shows 156 days (26 x 6) from the plan, and the demo uses 'In flight' with the correct task count.
The win-back email script now checks the unsubscribe list before sending: if you unsubscribed, the script skips your address and notes the reason. The privacy policy promise 'we stop sending at once' now covers every email path.
Answer seven questions about your PST and start date on a new /start page, then sign up to see your personal 26-week plan. The quiz saves your answers as you go, creates your first PST result and workout program at sign-up, and sends you straight to today's workout. Signed-in visitors go to the dashboard as usual.
The contact page now names the reply window: messages get a reply within two business days. The intro, the confirmation message, and the page metadata all state the same give.
The BUD/S PST Calculator now states the combined PST Matrix score: swim seconds plus run seconds, minus push-ups, sit-ups, and six times pull-ups, with the Good, Fair, and Fail lines from pstcalc.com and the date they were read. You can compare your matrix number the way other candidates do without leaving the page.
The free PST scorecard is now linked from the footer and the home page.
The plan overview is the page Google shows; week pages stay for training.
A new public page answers a question the chatbots keep writing for themselves: what the guide prescribes for each event when you start under the PST minimums, and how the app adapts the 26-week plan when you log a new PST. It is built from the same plan tables the app uses, names the NSW guide as its source, and is linked from the glossary and the plan index.
The public calculator is now the BUD/S PST Calculator, and the standards table names its sources: the SEAL minimums from MILPERSMAN 1220-410 (December 2021) and the competitive line as the Navy's Elevated (EPST) standard on navy.com. The glossary's PST standards entry says the same and adds one line on the coaching-site targets you will see elsewhere.
The homepage headline now says what ZeroPhase is in the phrase people search for: the 26-week BUD/S prep guide, as an app. One line below it names the Naval Special Warfare guide, turned into a daily plan on your phone.
The competitive PST line is now one answer across the app: a 9:30 or better swim and run, 75+ push-ups, 75+ sit-ups, and 15+ pull-ups. The glossary table and the standards email read the same numbers the scorecard grades against, and the glossary now names the competitive line as the Navy's Elevated (EPST) standard.
Enter your five PST numbers at /pst-scorecard, no account needed, and see each one against the minimum and the competitive line. One tap shares the scorecard image. Saved PST results in the app have a Share scorecard button too.
Every week of the program has its own page at /plan: the six sessions, the distances, and what changes from the week before, read from the same plan the app uses.
Every glossary and plan page now has a one-field email form. Enter your address and the PST standards plus week 1 of the plan arrive by email, with a one-click unsubscribe.
New entries for every cardio session type, every push-up, sit-up, and pull-up progression bracket, the PST standards, the run and swim interval pace charts, and all 20 core and strength exercises, each with its prescription table.
Push-ups, sit-ups, pull-ups, and every core exercise log reps without a weight field, so bodyweight training records what matters.
A plain-text llms.txt and markdown versions of the landing, glossary, and changelog pages are now served to AI agents, so agents can read the site without signing in or running JavaScript.
After your first completed training week or an improved PST, ZeroPhase asks you for one sentence about your experience, with your permission to share it later.
The hero demo card now shows the current training week at a readable size, so the sample plan reads clearly at a glance.
Work through each day's tasks one screen at a time with forward and back navigation, so a full training day fits on a phone.
A finished day shows a cover and each block ends with a wrap-up checklist, so you always know what is left.
The long-scroll week view is gone, replaced by the per-task flow, so a day reads as one focused list.
Warm-up and cool-down guidance now sit on one screen with an optional check-off, so the day's cardio is clear at a glance.
Public pages reveal content as you scroll, and every button responds with a press, so taps feel native under the thumb.
Last session's numbers show inline, so you can compare today's training to yesterday's without leaving the page.
Detailed quantitative tracking now lives in the Pro plan, so the free plan keeps the core daily training experience.
Every public page now shares the same footer, so the site keeps a consistent look and feel.
The landing page gained a trust strip, a single clear action, a restyled header, and a new preview image.
Add ZeroPhase to your home screen, so the training plan opens like an app.
The phone bottom nav is now Home, Centcom, and Settings, so the essentials are one thumb away.
A dedicated Billing page deep-links to your subscription, so managing your plan is one tap.
Past-due accounts and expiring trials now get a clear email, so you always know where a payment stands.
Thumb-friendly touch targets, picker wheels, and optional flexibility make the app feel native under the thumb.
New accounts get a 3-day Premium trial automatically, so you can train at full strength before deciding.
The upgrade page acknowledges your current plan and names the gap, so you know exactly what Premium adds.
Profile, theme, and sign out now live in the phone bottom bar, so settings are one thumb away.
A welcome email on signup and a thank-you on subscribe keep you oriented as you get going.
Deleting your account now takes your data with it, so your information stays in your control.
Legacy free accounts can claim a 3-day trial, so lapsed members get another look at the full plan.
Take a free PST assessment and see a Week 1 plan preview, so you know your baseline before you start.
The free tier is gone; the full training plan now needs an active subscription.
A free tier with usage limits and lower pricing opened the app to more people, with an annual savings banner.
A feedback form sends your notes straight to the team, so the app improves from what you see in training.
ZeroPhase launched as a paid training app: a 26-week BUD/S preparation program with a daily structured workout plan, PST tracking, and automatic progression based on your fitness level.