Dark, two-column React/Vite web app with a left-hand upload/predict panel and a right-hand rotating humanoid (Three.js OBJ from DermQuest). Uses a Pelliscope-inspired palette (amber accent on deep charcoal).
Prereqs: Node 18+
npm install
npm run devnpm run build # outputs static assets in dist/
npm run preview # serve the production build locallyVITE_API_BASE– backend base URL exposing/predict(FastAPI/Flask) when available.VITE_USE_MOCK– set totrueto bypass backend and use the mock Gemini flow.- (Optional)
GEMINI_API_KEY– only needed if using the Gemini demo service.
The anatomy viewer loads /simulation/avatars/body.obj (copied from DermQuest). Assets live under public/simulation/avatars/. Replace the OBJ with another mesh if desired (e.g., from threejs-human-body-v1) while keeping the same path.
The UI assumes a /predict endpoint that accepts an image (base64 or multipart) and returns BMI + metrics. The upstream DigitalScale SE-DenseNet201 checkpoint is not included; once obtained, wrap it in a minimal FastAPI/Flask API and point VITE_API_BASE to it. Ensure preprocessing matches densenet_dataloader.py (resize/normalize).