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 analyses và stats. 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ếu | Penalty demo | Dùng để làm gì |
|---|---|---|---|
| Mụn | IGA Scale 0–4 | 0, 10, 30, 55 | Ước lượng mức độ acne để gợi ý treatment nhẹ/mạnh. |
| Độ đỏ | Erythema Index | 0, 15, 30 | Phát hiện nguy cơ kích ứng, đỏ, viêm. |
| Texture | Skin roughness | 0 hoặc 20 | Ước lượng bề mặt da mịn/sần. |
| Chất lượng ảnh | Brightness/contrast check | 0, 5, 15 | Trừ điểm nếu ảnh quá tối/sáng/mờ. |
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.