Serene React SPA implementing the SelfLink sanctuary experience described in selflink-frontend-blueprint.txt.
- Install dependencies:
npm install
- Create an
.envfile (optional) with the API base URL expected by the backend:echo "VITE_API_BASE_URL=https://api.selflink.com" > .env
- Run the development server:
npm run dev
- Build for production:
npm run build
- All API calls are rooted at
VITE_API_BASE_URLand expect the following endpoints:POST /api/v1/auth/login&POST /api/v1/auth/registerGET /api/v1/users/meGET /api/v1/home/highlightsGET /api/v1/matchesGET /api/v1/growth-pathGET /api/v1/coursesPOST /api/v1/mentor/chat
- The Axios client automatically attaches the persisted JWT from
zustandand refreshes tokens viaPOST /api/v1/auth/refresh. - After authenticating, user info is cached through React Query (
queryKeys.me) for reactive UI consumption.
- Aurora-inspired design system with breathing mode and time-of-day themes.
- React Router page structure: Home, Register, SoulMatch, Mentor, Growth Path, Courses.
- Matrix background canvas animation with reduced-motion support.
- Zustand + React Query for lightweight state and API management (JWT + refresh cycle).
- Mentor chat interface with optimistic user messaging and graceful fallbacks.
Refer to the blueprint for the broader product vision and future expansion ideas.