Science & Data · Demo-safe Standard

A practical skincare system,
not a medical diagnosis.

Lumière Skin được thiết kế như một MVP học thuật: các tab cùng đọc/ghi vào hồ sơ người dùng trên Firestore, dùng AI khi có quota và tự chuyển sang rule-based fallback khi API quá tải.

Cách hệ thống liên kết dữ liệu

Login tạo users/{uid}. Analyzer lưu điểm da vào analysesstats. Ingredient lưu lịch sử kiểm tra. Routine đọc profile, điểm da và ingredient để tạo routine cá nhân hóa. Chat đọc context đó để tư vấn.

Cam kết demo

Ưu tiên chạy ổn định, hạn chế tốn API, không tự lưu thông tin nhạy cảm từ chat nếu người dùng chưa xác nhận. Kết quả chỉ mang tính tham khảo.

📷

AI Vision Analyzer

Dùng Gemini Vision khi khả dụng. Nếu bị 429, dùng local vision fallback dựa trên độ sáng, tương phản và sắc đỏ để demo vẫn có điểm lưu tiến trình.

🧴

Ingredient Checker

Đọc database Firestore, không gọi Gemini mặc định. User login có thể lưu ingredient check để Routine và Profile dùng lại.

💆

Routine Builder

Đọc skinProfile, avoid, latestAnalysis và ingredient history để tạo routine phù hợp hơn thay vì dùng text cứng.

Cách tính Skin Score

Chỉ sốNguồn/thang tham chiếuPenalty demoDùng để làm gì
MụnIGA Scale 0–40, 10, 30, 55Ước lượng mức độ acne để gợi ý treatment nhẹ/mạnh.
Độ đỏErythema Index0, 15, 30Phát hiện nguy cơ kích ứng, đỏ, viêm.
TextureSkin roughness0 hoặc 20Ước lượng bề mặt da mịn/sần.
Chất lượng ảnhBrightness/contrast check0, 5, 15Trừ điểm nếu ảnh quá tối/sáng/mờ.
Score = 100 − acnePenalty − rednessPenalty − texturePenalty − qualityPenalty
Lưu ý: bản demo không thay thế bác sĩ da liễu. Nếu có ngứa kéo dài, mẩn đỏ nặng, sưng, đau rát hoặc lan rộng, người dùng nên đi khám chuyên môn.

Quyền riêng tư & lưu trữ

Auth

Firebase Auth quản lý đăng nhập. SessionStorage chỉ dùng hiển thị nhanh tên/avatar.

Firestore

Lưu profile, routine, analyses, ingredientChecks và chatMessages theo từng uid.

API control

Multi-key Gemini tự chuyển key khi 429. Khi tất cả key lỗi, web fallback local để tránh gãy demo.