Auth flow landed, brand took shape
2026-02-17
Frontend
- Kicked off the Next.js 16 app with Tailwind, strict TS, and CI. Minimal top page is up for Vercel sanity checks.
- Implemented the end-to-end auth flow: login with OAuth providers →
/auth/callbackcode exchange → existing users to dashboard, new users to register (slug validation) then dashboard. Also built the API client foundation (fetch wrapper, env config, token storage). Commit - Cleaned up env handling: derive all URLs from
NEXT_PUBLIC_APP_ENV, replacedenv.tswith a lazyEnvironment.tssingleton (matches the backend pattern), and switched todirenvwith.envrc.example. - Added integration tests with Vitest + Testing Library for all auth pages (19 tests): snapshots, OAuth buttons, error states (e.g. missing code), unauthenticated redirects, and sign-out. Wired the test job into CI. Commit
- Wrote down the i18n strategy: user setting /
Accept-Languagedriven, not URL path based.
Brand & design system
- Spun up the brand repo and laid down design tokens (colors, typography, spacing) with docs/guidelines and a preview page for Vercel.
- Picked Spectral Italic for the wordmark and documented the logo font token; applied it to header/login.
- Chose the ink drop as the favicon/app icon and removed the other exploration assets. Commit
- Fixed the Vercel preview by moving the sample files to repo root so CSS token imports resolve; triggered a redeploy.
Docs and coordination
- Added/updated AGENTS.md with project overview, related repos, and dev instructions in the frontend and LP repos.
- Updated brand README with finalized design decisions.
Overall: got the frontend skeleton in place, shipped a working auth flow with tests, and locked in the initial brand identity. The dashboard is a placeholder for now, but the plumbing is ready.