Opentrons Labworks Inc
Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2
Choose one product, track one skin concern, and find out whether the change is bigger than the usual measurement variation. Skin measurement by the YouCam AI Skin Analysis API.
HealthPython · TypeScriptGitHub @Sahvendra7OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A fair test for your skincare. Measure your skin with the YouCam AI Skin Analysis API, choose one product for one goal, and check back weeks later. ProofLoop tells you whether a score moved further than normal scan-to-scan variation — or says plainly that it can't tell yet.
Built for the YouCam API Skin AI & eCommerce VTO Hackathon (Skin AI track).
People wonder whether a product is working while standing in front of a mirror — a bad instrument with different light every morning. Skin scanners give a number; shops give a product; nobody tells you whether the next number is actually different from the last one. ProofLoop closes that loop honestly:
| API | Endpoint | Where |
|---|---|---|
| File upload | POST /s2s/v2.0/file/skin-analysis + presigned PUT | every live scan / preview |
| AI Skin Analysis | POST /s2s/v2.0/task/skin-analysis, GET …/{task_id} (format: json, 8 SD concerns, 12 units) | baseline, instrument-check and check-in scans; per-concern detection masks shown over the user's photo |
| AI Skin Simulation | POST /s2s/v2.0/task/skin-simulation, GET …/{task_id} (4 units) | optional goal preview on the product page |
All of the above were verified against the live API through ProofLoop's own client — see
docs/youcam-integration.md for evidence, costs and the repeatability study.
Requirements: Python 3.12, Node 22.
# backend (http://localhost:8000)
cd backend
python3.12 -m venv venv
./venv/bin/pip install -r requirements-dev.txt
cp .env.example .env # add YOUCAM_API_KEY for live scans; leave blank for sample data only
./venv/bin/uvicorn app.main:app --reload --port 8000
# frontend (http://localhost:3000)
cd frontend
npm install
npm run dev
Without a key, everything except live scans and previews works, and live scans fail with a clear message instead of inventing results. Try with sample data replays a recorded YouCam response, labelled as such.
cd backend && ./venv/bin/python -m pytest # 91 tests, no network; 2 opt-in live tests skipped
cd backend && TEST_DATABASE_URL=postgresql://… ./venv/bin/python -m pytest # same suite on PostgreSQL, schema via Alembic
cd backend && ./venv/bin/ruff check . && ./venv/bin/ruff format --check .
cd frontend && npm run lint && npm run typecheck && npm run build
cd frontend && npm run test:e2e # Playwright, desktop + mobile, axe; isolated keyless backend
Live checks (spend units only when asked): YOUCAM_LIVE=1 ./venv/bin/python -m pytest -m live.
Hosted on free tiers: Next.js on Vercel (Hobby), FastAPI on Render (Free web service), PostgreSQL on Neon (Free).
Schema changes go through Alembic (backend/migrations). Runbook, settings and limits: docs/deployment.md.
Photos are cleaned (metadata stripped) and sent to YouCam, never stored by ProofLoop. The server keeps scores, capture metadata and trials under an anonymous session token; "Delete all my data" removes them immediately. ProofLoop is not a medical device and never attributes a change to a product.
The product catalogue is fictional sample data created to demonstrate matching.