AI image app
Pre-launchBeardly
Upload a selfie, pick a beard style, get a photorealistic preview. Built solo with Flutter, Firebase and Gemini.

Beardly shows you what a beard would look like before you grow it. Upload a selfie, choose one of 12 styles in grow or shape mode, and get a photorealistic preview from Gemini.
I built it solo: the Flutter app, the Firebase Cloud Functions backend, billing and the Next.js 15 landing site.
What I built
- 12 beard styles across two modes, served from Firestore with a bundled fallback
- Credit packs plus a Pro subscription with a server-enforced monthly allowance, on RevenueCat
- Anonymous-first sign-in, linked to Apple or Google before purchase
- Model key kept server-side, App Check on every call, idempotent purchase webhooks with refund on failure
- A delete-my-data flow, and CI to the Play internal testing track
Stack
- Flutter
- Riverpod
- Firebase
- Cloud Functions
- Gemini
- RevenueCat
- Next.js 15
- GitHub Actions
Screens




