# ShieldAI Unified Restructure

Objective: Restructure ShieldAI from a fragmented microservices/packages architecture into a unified, cohesive SolidStart monolith with a Lendair-inspired landing page, auto-shifting theme, and all backend functionality preserved — plus native iOS and Android apps.

Status legend: [ ] todo, [~] in-progress, [x] done

Tasks
- [ ] 01 — Project Foundation — Root Config & Directory Cleanup → `01-project-foundation-cleanup.md`
- [ ] 02 — Theme System — Auto-Shifting CSS with ShieldAI Brand Palette → `02-theme-system-brand-palette.md`
- [ ] 03 — UI Primitive Library — Button, Card, Input, Badge, Modal, Toast → `03-ui-primitive-library.md`
- [ ] 04 — Layout Components — Navbar, Footer, PageContainer, AppShell → `04-layout-components.md`
- [ ] 05 — Landing Page — Hero Section with Animated Background → `05-landing-page-hero.md`
- [ ] 06 — Landing Page — Features, How It Works, CTA Sections → `06-landing-page-features.md`
- [ ] 07 — Auth Pages — Login, Signup, Password Reset, Onboarding → `07-auth-pages.md`
- [ ] 08 — Migrate & Redesign Existing Pages — Blog, Ads, Dashboard Shell → `08-migrate-existing-pages.md`
- [ ] 09 — Database — Migrate Full Prisma Schema to Drizzle ORM → `09-drizzle-schema-migration.md`
- [ ] 10 — Database — PostgreSQL Connection, Migrations, and Seed Data → `10-db-connection-migrations.md`
- [ ] 11 — tRPC Foundation — Auth Context, Middleware, and Protected Procedures → `11-trpc-auth-context.md`
- [ ] 12 — Backend Router — User & Family Group Management → `12-user-family-router.md`
- [ ] 13 — Backend Router — Subscriptions, Billing, and Stripe Webhooks → `13-subscription-billing-router.md`
- [ ] 14 — Backend Router — Email, Push, and SMS Notifications → `14-notifications-router.md`
- [ ] 15 — Backend Router — DarkWatch (Dark Web Monitoring) → `15-darkwatch-router.md`
- [ ] 16 — Backend Router — VoicePrint (Voice Cloning Detection) → `16-voiceprint-router.md`
- [ ] 17 — Backend Router — SpamShield (Spam Detection & Call Analysis) → `17-spamshield-router.md`
- [ ] 18 — Backend Router — HomeTitle (Property Monitoring) → `18-hometitle-router.md`
- [ ] 19 — Backend Router — RemoveBrokers (Data Broker Removal) → `19-removebrokers-router.md`
- [ ] 20 — Backend Router — Alert Correlation & Normalization Engine → `20-alert-correlation-router.md`
- [ ] 21 — Backend Router — Security Report Generation → `21-report-generation-router.md`
- [ ] 22 — Background Jobs — Scheduler, Scan Workers, and Reminders → `22-background-jobs.md`
- [ ] 23 — Frontend Integration — Wire All Pages to tRPC APIs → `23-frontend-api-integration.md`
- [ ] 24 — Dashboard — Unified Widgets for All Services → `24-dashboard-widgets.md`
- [ ] 25 — Real-Time Alerts — WebSocket Push Notifications → `25-realtime-alerts.md`
- [ ] 26 — Polish — Error Boundaries, Loading States, Skeletons, and Transitions → `26-error-loading-states.md`
- [ ] 27 — Browser Extension — Move to browser-ext/ and Update API Client → `27-browser-extension-move.md`
- [ ] 28 — iOS App — SwiftUI Foundation, Navigation, and Shared Theme → `28-ios-app-foundation.md`
- [ ] 29 — iOS App — Design System Components Matching Web Theme → `29-ios-design-system.md`
- [ ] 30 — iOS App — Authentication, Onboarding, and Account Setup → `30-ios-auth-onboarding.md`
- [ ] 31 — iOS App — API Client, tRPC Bridge, and Offline Support → `31-ios-api-client.md`
- [ ] 32 — iOS App — Dashboard and Service Screens (DarkWatch, VoicePrint, SpamShield, etc.) → `32-ios-service-screens.md`
- [ ] 33 — iOS App — Push Notifications, Biometrics, Voice Enrollment, Camera → `33-ios-native-features.md`
- [ ] 34 — Android App — Jetpack Compose Foundation, Navigation, and Shared Theme → `34-android-app-foundation.md`
- [ ] 35 — Android App — Design System Components Matching Web Theme → `35-android-design-system.md`
- [ ] 36 — Android App — Authentication, Onboarding, and Account Setup → `36-android-auth-onboarding.md`
- [ ] 37 — Android App — API Client, tRPC Bridge, and Offline Support → `37-android-api-client.md`
- [ ] 38 — Android App — Dashboard and Service Screens → `38-android-service-screens.md`
- [ ] 39 — Android App — Push Notifications, Biometrics, Voice Enrollment, Call Screening → `39-android-native-features.md`
- [ ] 40 — Shared Mobile Assets — Icons, Colors, Typography, and Brand Guidelines → `40-shared-mobile-assets.md`
- [ ] 41 — Cleanup — Remove Legacy packages/, services/, and server/ Directories → `41-cleanup-legacy.md`
- [ ] 42 — Deployment — Update Docker, CI/CD, and Environment Configuration → `42-deployment-config.md`

Dependencies
- 01 depends on nothing (root task)
- 02, 03, 04, 28, 34 depend on 01
- 05, 06 depend on 02, 03, 04
- 07, 08 depend on 03, 04
- 08 also depends on 05, 06
- 09 is independent (backend schema work)
- 10 depends on 09
- 11 depends on 10
- 12, 13, 14 depend on 11
- 15, 16, 17, 18, 19 depend on 12, 13, 14
- 20 depends on 15, 16, 17, 18, 19
- 21, 22 depend on 20
- 23 depends on 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
- 24, 25 depend on 23
- 26 depends on 24, 25
- 27 depends on 23
- 28, 29, 34, 35 depend on 02
- 29, 30, 31, 32, 33 depend on 28
- 30, 32, 33 depend on 29
- 32, 33 depend on 31
- 35, 36, 37, 38, 39 depend on 34
- 36, 38, 39 depend on 35
- 38, 39 depend on 37
- 40 depends on 28, 34
- 31, 37 depend on 23
- 41 depends on 26, 27
- 42 depends on 41

Exit criteria
- The `web/` directory contains a fully functional SolidStart app with a beautiful, cohesive ShieldAI-branded frontend
- All 5 service domains are accessible via tRPC routers with zero functionality loss
- The landing page matches Lendair's visual quality with ShieldAI-specific content and auto-shifting theme
- The browser extension lives in `browser-ext/` and communicates with the monolith
- `iOS/ShieldAI` is a functional SwiftUI app with service dashboard, auth, and native features
- `android/` is a functional Jetpack Compose app with service dashboard, auth, and native features
- All three platforms (web, iOS, Android) share a consistent visual identity and color palette
- Legacy `packages/`, `services/`, and `server/` directories are removed or archived
- `pnpm dev` from root starts the unified app; all tests pass
