smooth-app
A collaborative, free and open database of ingredients, nutrition facts and information on food products from around the world
翻译准备中
AI 驱动的皮肤疾病检测软件,分析皮肤图像,提供即时洞察,并帮助用户查找相关健康信息和附近的医生。
AI 翻译
AI-powered skin disease detection platform that analyzes skin images, provides instant insights, and helps users discover relevant health information and nearby doctors.
健康CSS · HTMLGitHub @priyanshsen19在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A web app that identifies likely skin conditions from a photo and tells you what you can
do about it right now — immediate care, home remedies, what to avoid, and the red flags
that mean you should stop reading and see a doctor.
Classification runs entirely in the browser via a Teachable Machine model, so the photo
never leaves the user's device.
This is not a medical device. It is an image classifier that can be confidently
wrong. Every result is a prompt to get checked — never a reason to delay care or to
self-treat something serious.查看完整 README ↗A web app that identifies likely skin conditions from a photo and tells you what you can do about it right now — immediate care, home remedies, what to avoid, and the red flags that mean you should stop reading and see a doctor.
Classification runs entirely in the browser via a Teachable Machine model, so the photo never leaves the user's device.
Live: simplify-skin-disease.vercel.app
This is not a medical device. It is an image classifier that can be confidently wrong. Every result is a prompt to get checked — never a reason to delay care or to self-treat something serious.
Reference material on the conditions the model is trained to recognise.
Password requirements tick off live as you type.
Drag-and-drop or webcam capture, with distinct model-loading and scanning states.
Shown here with sample data to illustrate the layout.
A Teachable Machine image model with seven classes:
| Class | Guidance shown |
|---|---|
| Acne and Rosacea | Acne & Rosacea |
| Molluscum contagiosum and warts | Molluscum Contagiosum / Viral Skin Infection |
| Melanoma | Possible skin cancer — urgent |
| Vascular Tumor | Vascular Tumour |
| Eczema | Eczema (Atopic Dermatitis) |
| Bullous | Bullous Disease — urgent |
| Psoriasis and lichen | Psoriasis |
Labels are matched loosely against static/assets/js/remedies.js, so variants like
"Atopic Dermatitis" or "Tinea Corporis" resolve correctly. An unrecognised label
falls back to a generic card rather than breaking the page.
| Layer | Choice |
|---|---|
| Backend | Flask, deployed as a Vercel serverless function |
| Auth | Firebase Authentication (REST API) |
| Model | Teachable Machine + TensorFlow.js, client-side |
| Frontend | Jinja templates, vanilla JS, no build step |
api/index.py Flask app — all routes, the serverless entry point
templates/ Jinja templates
static/assets/js/
skin-scan.js Upload, webcam capture, model loading, result rendering
remedies.js Condition guidance and label matching
auth.js Password toggle, live rules, submit state
static/assets/css/
auth.css Login and signup
vercel.json Serverless build and routing
app.py in the repo root is the original single-file version, kept for local
reference. Vercel serves api/index.py.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export SECRET_KEY="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
python api/index.py
Then open http://127.0.0.1:5000.
Pushing to main triggers a Vercel build. vercel.json routes everything to the
Python function except /static/*, which is served from the CDN, and includeFiles
ensures the templates are bundled into the function.
| Name | Required | Purpose |
|---|---|---|
SECRET_KEY | Yes, in production | Signs session cookies. Without it the app falls back to a default that is committed to this repo, which means anyone could forge a session. Generate one with python3 -c "import secrets; print(secrets.token_hex(32))". |
The Firebase Web API key in api/index.py is intentionally public — that is how Firebase
web keys work. Access is controlled by Firebase security rules, not by hiding the key.
/map renders map.html, which does not exist in templates/ — the route returns a
500. Nothing links to it.MIT — see LICENSE.