MetaShift = overall application (frontend + backend).
ObserverShift = System Intelligence Layer (telemetry + conflicts + auto-resolution).
-
backend/– Node.js Express server -
frontend/– React + Vite + Tailwind - MetaShift name in UI and README
- TASKS.md with next actions
-
Supabase
- Create Supabase project and add
.env(backend + frontend) withSUPABASE_URLandSUPABASE_ANON_KEY. - Add
@supabase/supabase-jsto backend and frontend; create a minimal client module.
- Create Supabase project and add
-
Real-time
- Backend: add WebSocket server (e.g.
ws) for live events. - Frontend: connect to WebSocket and optionally Supabase Realtime for DB changes.
- Backend: add WebSocket server (e.g.
-
ObserverShift – telemetry (privacy-safe)
- Define telemetry schema (events only; no user content, screen data, camera/mic, or PII).
- Backend endpoint to ingest telemetry; store in Supabase (e.g.
telemetry_eventstable).
-
ObserverShift – conflicts + auto-resolution
- Define conflict model and detection rules.
- Implement conflict detection and optional auto-resolution behind an adapter interface (so demo works without external APIs).
-
Vision / Gemini (if used)
- Wrap any Vision Agents or Gemini calls in an adapter interface so the app runs when the API is unavailable.
- Privacy: Telemetry only. Never store user content, screen data, camera/mic, or PII.
- Build: Minimal working first, then polish.
- Stack: Node.js (Express) backend, React + Vite + Tailwind frontend, Supabase DB.
- Real-time: WebSockets for live events; Supabase Realtime for DB changes.