apps/web-interim is a standalone Next.js 14 app that supports the mobile app with auth callbacks, deep link verification, content redirects, and a landing page with waitlist signup.
This is a SEPARATE app from the full web client (apps/web). They have separate package.json, node_modules, and codebases. The web interim does NOT have API routes for content CRUD — those live in apps/web.
The /auth/confirm route handler is the central entry point for all Supabase email link callbacks. When a user clicks a link in a confirmation, recovery, or email change email, the link points to this route with a token_hash and type parameter.The route calls supabase.auth.verifyOtp() server-side, then redirects based on the OTP type:
OTP Type
Redirect To
Purpose
signup or email
/confirmation-success
Email address confirmed after registration
recovery
/reset-password
Password reset — user enters new password
email_change
/change-email
Email change confirmed
(any error)
/auth/auth-error
Token invalid, expired, or missing
The AuthCallbackHandler component (used on pages like /confirmation-success) handles a secondary path: PKCE code exchange via URL query params and hash fragment token parsing for cases where the redirect includes tokens in the URL fragment rather than as query parameters.
Hero section with app description and waitlist form
Feature highlights
Film-strip visual motif
Waitlist form → POST /api/waitlist → marketing-events edge function → Loops.so API
Responsive design (mobile + desktop)
The /api/waitlist route now uses the marketing-events Supabase edge function, which reads the Loops API key from edge function secrets. No API keys are stored in the web-interim codebase.