FaceScan — System Design

11 components · 11 links · 5 zones

Loading graph…
Legend
  • Standard node
  • External / inferred (dashed)
  • Database / persistent store
  • Load balancer / proxy
  • Zone band (small-caps title)
  • Link / dependency
  • Data flow (dashed)
  • Bidirectional (request/response)

Inferred components — evidence

  1. Vite Dev Proxy — inferred (dev-only). Evidence: frontend/vite.config.ts server.proxy['/api'] → http://localhost:8000; no proxy exists in a production build.
  2. dlib native runtime — inferred / optional. Evidence: guarded import in services/recognizer.py lines 22–30 (FACE_RECOGNITION_AVAILABLE); README notes recognition is disabled when dlib is absent.
  3. PyTorch runtime — inferred. Evidence: torch>=2.2, torchvision>=0.17 in backend/requirements.txt; loaded transitively by DeepFace, not imported directly in app code.
  4. DeepFace weight store — inferred path. Evidence: analyzer.py lazy DeepFace.analyze; README states first call downloads weights to disk (path not pinned in repo).