Disclaimer: FaceScore is an appearance and presentation helper. It is not medical, dermatology, psychological, identity, age, ethnicity, or professional attractiveness advice.
FaceScore is a desktop app that helps you look at a photo more objectively.
Upload an image, run the analysis, and get a structured report with observations about facial features, overall presentation, strong points, weaker areas, and practical suggestions you can actually work with.
No random comments from strangers. No chaotic wall of text. Just a clean report you can read, save, and compare.
Most people are not looking for buzzwords. They are looking for clarity.
FaceScore helps answer questions like:
- π€ What stands out first in my appearance?
- π Are my features balanced and well-presented in this photo?
- βοΈ What can I improve in grooming, styling, or presentation?
- πΌοΈ Is this a strong photo or a weak one?
- π Can I save the result as a clean report and revisit it later?
That is the whole point of the product.
After uploading a photo, FaceScore can generate a structured report with:
- π§ overall impression
- π’ score and breakdown
- π symmetry and proportion observations
- π standout strengths
β οΈ weaker points or limiting factors- βοΈ grooming and presentation suggestions
- πΈ photo improvement ideas
- π exportable PDF version
FaceScore fits especially well for:
- self-improvement users
- people improving social or profile photos
- creators who care about presentation
- users who prefer a private desktop workflow over random browser tools
The app talks directly to Anthropic's API through Tauri's native HTTP plugin. There is no intermediary backend run by this project.
FaceScore pushes the model to return strict JSON and validates the result before rendering. The output is designed to feel like a real report, not AI rambling.
You can export the result to PDF and keep it for later. This makes it easier to compare photos, track changes, or build a baseline.
FaceScore is packaged as a real desktop application, which makes the whole experience cleaner, more stable, and more private.
Want to try it right away?
Download the latest release here
If you prefer building from source, the full setup steps are below.
graph LR
A[πΈ Upload Photo] -->|Image Input| B[π€ Claude Vision]
B -->|Structured Output| C[π§Ύ Strict JSON]
C -->|Validation| D[β
Zod]
D -->|Rendering| E[β¨ Report View]
E -->|Save| F[π PDF Export]
style A fill:#4A90E2,stroke:#2c3e50,stroke-width:2px,color:#fff
style B fill:#D97757,stroke:#2c3e50,stroke-width:2px,color:#fff
style C fill:#FFD93D,stroke:#2c3e50,stroke-width:2px,color:#333
style D fill:#50C878,stroke:#2c3e50,stroke-width:2px,color:#fff
style E fill:#9B59B6,stroke:#2c3e50,stroke-width:2px,color:#fff
style F fill:#B19CD9,stroke:#2c3e50,stroke-width:2px,color:#fff
- β¬οΈ Download the latest version from the Releases page
- π Open the app and paste your Anthropic API key
- πΌοΈ Upload a JPG, PNG, or WebP image
- π€ Click Analyze face
- π Review your report
- π Export it to PDF if you want an offline copy
Run a photo through FaceScore, spot weak points, improve lighting, angle, grooming, or expression, then test again.
Save your first report as PDF and compare future results after changing haircut, beard styling, skin care, or photo quality.
Use FaceScore on your own desktop instead of posting photos publicly and waiting for random opinions.
To build and run FaceScore locally, you need:
- π’ Node.js 22+
- π¦ npm 11+
- π¦ Rust + Cargo
- π Anthropic API key
git clone https://github.com/AmaLS367/FaceScore.git
cd FaceScorenpm installnpm run devnpm run tauri devnpm run build
npm run tauri buildRun these before opening a pull request:
npm run lint
npm run typecheck
npm test
npm run buildFaceScore/
βββ src-tauri/ # Rust-based desktop shell
β βββ src/ # Tauri entry points
β βββ tauri.conf.json # Tauri configuration
βββ src/ # React frontend
β βββ components/ # UI components
β βββ domain/ # Prompts, schemas, business logic
β βββ lib/ # Utilities and stores
β βββ services/ # API clients
βββ public/ # Static assets
βββ package.json # Scripts and dependencies
- Requests go to
https://api.anthropic.com/v1/messagesthrough Tauri's native HTTP plugin. - API keys are stored in memory only and cleared when the app closes.
- A strict Content Security Policy is enforced in
tauri.conf.json. - The default model is
claude-sonnet-4-20250514. - Claude is prompted to return valid JSON only.
- Every response is validated with Zod before rendering.
- PDF export uses print-optimized CSS and the native OS print dialog.
- before and after comparison mode
- more report templates
- stronger photo-specific recommendations
- deeper customization
- richer export options
Contributions are welcome. See CONTRIBUTING.md to get started.
Please read SECURITY.md if you want to report a vulnerability.
Copyright 2026 FaceScore Contributors
Licensed under the Apache License, Version 2.0. See the LICENSE file for details.
