TFD Technology Stack by Layer and Service

Declared runtime, framework, persistence, media, observability, testing, and delivery technologies

TFD Technology Stack by Layer and Service Declared runtime, framework, persistence, media, observability, testing, and delivery technologies Staff Browser · HTTPS · WebSocket · Cognito Hosted UI · Architecture component Staff Browser HTTPS · WebSocket · Cognito Hosted UI Backoffice Frontend · React 19 · TypeScript · Vite 8 · MUI 9 · Architecture component · React Query · Router · Storybook Backoffice Frontend React 19 · TypeScript · Vite 8 · MUI 9 React Query · Router · Storybook Backoffice API · Node 22 · NestJS 11 · TypeScript · Swagger · Architecture component · Prisma 7 · Socket.IO · Pino Backoffice API Node 22 · NestJS 11 · TypeScript · Swagger Prisma 7 · Socket.IO · Pino Data + Messaging · PostgreSQL · Redis Streams · ioredis · Architecture component · Durable state + v1 media streams Data + Messaging PostgreSQL · Redis Streams · ioredis Durable state + v1 media streams Meeting Recorder · C++ · Zoom Meeting SDK · HLS/fMP4 · Architecture component · Leases + fencing Meeting Recorder C++ · Zoom Meeting SDK · HLS/fMP4 Leases + fencing Recording Finalizer · Node 22 · FFmpeg/ffprobe · yt-dlp · Architecture component · Remux · normalize · YouTube import Recording Finalizer Node 22 · FFmpeg/ffprobe · yt-dlp Remux · normalize · YouTube import AWS Platform · Cognito · private S3 · runtime identity · Architecture component · Presigned playback AWS Platform Cognito · private S3 · runtime identity Presigned playback Observability · OpenTelemetry · OTLP · Grafana stack · Architecture component · Traces · metrics · structured logs Observability OpenTelemetry · OTLP · Grafana stack Traces · metrics · structured logs Quality Gates · Jest · Vitest · ESLint · TypeScript · dependency-cruiser · Architecture component · Unit + integration + boundaries Quality Gates Jest · Vitest · ESLint · TypeScript · dependency-cruiser Unit + integration + boundaries Delivery + Documentation · pnpm · GitHub Actions · Outline · Archify · Graphify · Architecture component · Versioned docs + CI Delivery + Documentation pnpm · GitHub Actions · Outline · Archify · Graphify Versioned docs + CI UI Legend External Frontend Backend Database Cloud Security Message bus

Application stack

  • • React and MUI provide the staff interface; getDisplayMedia and MediaRecorder create local movement lab clips with explicit browser consent; MotionBERT-Lite, ONNX Runtime Web WASM and iterative refinement run in a cancellable browser worker
  • • NestJS hosts the modular monolith and realtime gateway
  • • Prisma maps explicit PostgreSQL business schemas

Media stack

  • • C++ and Zoom Meeting SDK own capture
  • • Node, FFmpeg, and ffprobe own Zoom participant finalization plus bounded allowlisted AddPipe normalization
  • • AddPipe output is H.264 320x180/15 fps yuv420p with AAC 128 kbit/s and faststart
  • • Private S3 stores media outside Redis and the API; authenticated playback resolves stable video ids only

Engineering stack

  • • OpenTelemetry standardizes traces and metrics
  • • dependency-cruiser protects module boundaries
  • • Archify artifacts and repository docs publish through CI to Outline
  • • Legacy YouTube import retains pinned yt-dlp 2026.6.9, Python 3, Node 22, bgutil 2.0.0, FFmpeg, ephemeral Redis jobs and private S3 cleanup. The movement lab UI uses browser tab capture and no longer invokes these import routes.

Optional cloud motion capture

  • • tools/motion-capture-modal deploys a private CPU HTTP gateway and an on-demand NVIDIA L4 worker using Python 3.12, PyTorch 2.11, SAM 3D Body DINOv3 and MediaPipe for person bounding boxes.
  • • Delivery persists MotionCaptureJob in PostgreSQL and signs direct private S3 uploads/results, including a separate versioned mesh ZIP preserving topology, per-frame vertices and camera metadata. New jobs require both skeleton and mesh artifacts before readiness; legacy jobs remain readable without a mesh. Modal proxy credentials remain backend-only. The browser adapts MHR70 skeleton points to the existing Three.js bones/muscles rig; browser MediaPipe/MotionBERT remains selectable.