Anonymous, ephemeral, community-first social product for iOS, Android, and web.
ShadeFast is no longer a foundation-only repo. The current codebase ships the core product loop:
- feed-first mobile shell with persistent bottom navigation
- responsive Flutter shell for mobile and desktop-class web
- global and community feeds with text, media, polls, and challenges
- community creation, joining, discovery, and owner controls
- threaded replies, post reactions, view tracking, and sharing
- inbox, activity center, and named private rooms
- secure-upgrade private messaging with unread state, typing, receipts, aliases, media, and read-once flows
- anonymous session hub with lite/dark theme control, privacy controls, ghost reputation, and account reset
- Supabase schema, RLS, edge functions, scheduled retention workers, and moderation/enforcement controls
Current repo status:
- foundation checks: in place
- migration replay harness: in place
- mobile app shell and core flows: shipped
- responsive web/PWA shell: shipped
- admin dashboard control plane: shipped
- admin CI/test coverage: in place
- private messaging privacy upgrade: largely shipped
- launch blockers still open:
- repeat manual device/profile validation on the latest UI
- wire live push provider credentials and verify real delivery
- bootstrap a real admin user and verify live moderation actions
- rerun signed production release artifacts
- finish store metadata, screenshots, and reviewer notes
See:
apps/admin: React/Vite moderation and operations dashboardapps/mobile: Flutter clientsupabase/migrations: schema and policy evolutionsupabase/functions: edge-function business logicscripts: validation, deployment, and smoke-test helpersdeploy/domain: deep-link association artifactsdocs: architecture, release, privacy, and execution docs
Repository-level:
./scripts/validate-foundation.sh
./scripts/validate-migrations-postgres.sh
./scripts/validate-domain-association.shMobile:
cd apps/mobile
flutter analyze
flutter testIf you are using WSL with a Windows Flutter install, use the Windows entrypoint instead of the Unix shim:
cmd.exe /c "cd /d C:\dev\shadeFast\apps\mobile && C:\dev\flutter\bin\flutter.bat analyze"
cmd.exe /c "cd /d C:\dev\shadeFast\apps\mobile && C:\dev\flutter\bin\flutter.bat test"
cmd.exe /c "cd /d C:\dev\shadeFast\apps\mobile && C:\dev\flutter\bin\flutter.bat build web --dart-define-from-file=env.profile.json"Admin:
cd apps/admin
npm install
npm run build
npm run lint
npm run testAdmin live mode uses:
- Supabase Auth email/password sign-in for admins
public.admin_rolesfor role gating- admin-only edge functions for dashboard reads and moderation actions
Never expose the Supabase service-role key in the browser.
Remote project checks:
./scripts/smoke-remote.sh
./scripts/validate-push-readiness.sh tyxhltqpsvbzxmhfkbxxMinimum runtime values:
SUPABASE_URLSUPABASE_ANON_KEY
Push-enabled builds also require Firebase runtime values:
FIREBASE_API_KEY- or platform-specific
FIREBASE_ANDROID_API_KEY/FIREBASE_IOS_API_KEY FIREBASE_PROJECT_IDFIREBASE_MESSAGING_SENDER_IDFIREBASE_ANDROID_APP_IDFIREBASE_IOS_APP_ID- optional:
FIREBASE_STORAGE_BUCKET
Recommended local flow:
env.profile.jsonfor profile runsenv.staging.jsonfor shared QAenv.production.jsonfor release builds
Web/PWA notes:
- Flutter web support now lives in
apps/mobile/web - installable PWA metadata is defined in
apps/mobile/web/manifest.json - desktop browsers use the responsive shell instead of the mobile bottom-bar layout
Do not commit runtime secret files or platform Firebase credential files.
Deploy all edge functions:
make deploy-functionsDeploy specific functions when the remote bundler needs the explicit import map:
supabase functions deploy <function-name> \
--import-map ./supabase/functions/deno.json \
--project-ref tyxhltqpsvbzxmhfkbxx- product and delivery plan: roadmap.md
- execution tracking: execution-backlog.md
- system design: architecture.md
- API contracts: api-contracts.md
- Supabase setup and push wiring: supabase-setup.md
- launch performance and release state: launch-optimization-status.md
- manual performance validation: performance-validation.md
- store release work: store-launch-backlog.md
- messaging privacy direction: private-messaging-upgrade-plan.md