← Back to portals

Personal guidance

Customer App

Consultations, live rooms, wallet, and personal guidance — all in one place. Browse personas, journeys, and feature docs from the left menu.

Go to Customer App

Getting started

Onboarding & auth

6 sub-functions in this section.

Portal intro

Documentation-style landing for the Customer App under `/customer`. Explains product scope, feature groups, tech stack, and routes users into the real app via CTA. Other portals (Consultant, Admin, B2B, Website) remain separate stubs from the hub.

User journey

  1. 1Arrive from `/` portal hub by tapping Customer App.
  2. 2Skim left-menu feature docs or search for a topic.
  3. 3Tap Go to Customer App in the header to continue.

Brand splash

Short branded splash (`/customer/start`) that sets tone before auth. Routing is smart: logged-in users skip login and go to Astrology home; new users continue to login. Includes a skip control to move ahead without waiting the full animation.

User journey

  1. 1CTA opens splash and plays brand animation (~2–3s).
  2. 2If auth flag exists → redirect to `/customer/astrology`.
  3. 3Otherwise → `/customer/login` (or skip to login immediately).

Phone login (+91)

Primary India-focused login collects a 10-digit mobile number with +91 context. Pending contact is held in session storage so the OTP screen knows which number is being verified. Invalid lengths are blocked before navigation.

User journey

  1. 1Enter 10-digit mobile number on login screen.
  2. 2Submit to store pending contact and open OTP page.
  3. 3Optionally switch to Apple/Google social buttons instead.

OTP verification

4-digit OTP UI with resend timer. Local `POST /api/otp` accepts any 4-digit code (no SMS gateway yet). On success, sets local auth logged-in flag and continues into the customer shell.

User journey

  1. 1Enter 4-digit code (any valid code works for local testing).
  2. 2Wait for resend timer if needed, then retry.
  3. 3On success, auth flag is saved and user enters Astrology home.

Social login

Apple and Google buttons provide one-tap local entry. They do not call real OAuth providers yet; they immediately mark the user authenticated so product flows can be tested without phone OTP.

User journey

  1. 1Tap Apple or Google on login.
  2. 2Local auth session is created instantly.
  3. 3User is routed into the customer app home.

Auth session

Auth is client-side (`localStorage` flag via auth helpers). Middleware redirects legacy roots into `/customer/*`, but there is no server session cookie yet. Logout clears the local flag from profile.

User journey

  1. 1Successful login writes `os1_auth_logged_in` style flag.
  2. 2Subsequent visits skip login when splash detects the flag.
  3. 3Profile → Logout clears auth and returns user to signed-out entry.