# NoteLett — Agent Task Roadmap **Date:** March 29, 2026 **Product:** NoteLett (`notelett`) — Structured notes for humans + AI agents **Repo:** `learning_ai_notes` **Stack:** Fastify 5 backend (port 4016) · Next.js 16 web (port 3000) · Expo mobile **Platform deps:** 23 `@bytelyst/*` packages (all resolve against `learning_ai_common_plat`) --- ## Current State | Surface | Routes / Modules | Tests | Build | Platform Pkgs | |---------|-----------------|-------|-------|---------------| | **Backend** | 7 modules, ~32 endpoints, 8 MCP tools | 20 files (unit + integration) | ✅ tsc | 13 (all used) | | **Web** | 6 pages, 13 components, 15 lib files | 7 unit + 7 E2E | ✅ next build | 10 (all used) | | **Mobile** | 4 tabs, note detail, auth, 5 stores | 23 tests (4 files) | ✅ typecheck | — | All `@bytelyst/*` dependencies exist in `learning_ai_common_plat` and resolve correctly. --- ## Phase 1 — Critical Web Gaps These block the web app from being usable by real users. - [ ] **1.1** Add auth pages — login, register, forgot-password - Create `web/src/app/(auth)/login/page.tsx`, `register/page.tsx`, `forgot-password/page.tsx` - Wire to existing `@bytelyst/react-auth` config in `web/src/lib/auth.ts` - Include form validation, error states, loading states - Files: new pages under `web/src/app/(auth)/` - [ ] **1.2** Add `middleware.ts` for route protection - Redirect unauthenticated users from `(app)/*` routes to `/login` - Redirect authenticated users from `/login` to `/dashboard` - Check kill-switch status (call `checkKillSwitch()` from `web/src/lib/kill-switch.ts`) - File: `web/src/middleware.ts` - [ ] **1.3** Replace plain textarea with a rich note editor - Current `NoteEditor.tsx` is a bare `