SkinMinder is a production-grade, venture-scale AI skincare platform built with Next.js 14, Supabase, and Claude 3.5 Sonnet. It provides high-fidelity skin analysis, personalized morning/evening protocols, and a robust seller ecosystem for skincare brands.
Disclaimer: This is a cosmetic wellness platform. All analyses are for informational purposes only and do not constitute medical diagnosis.
- Vision Analysis: Advanced computer vision scores for hydration, texture, pigment, and more from a single photograph.
- DNA Profiling: Synthesizes scan history into a long-term "Skin DNA" archetype and vulnerability matrix.
- Dynamic Routines: Generates adaptive morning and evening protocols based on skin intelligence and local climate.
- Concierge Consultant: 24/7 AI-driven beauty advisor for ingredient safety and routine optimization.
- Apple-Inspired Design: Glassmorphic UI, custom animations (Framer Motion), and a curated "Apple meets Skincare" color palette.
- Multi-Step Onboarding: High-fidelity data capture for personalized profiling.
- Intelligence Dashboard: Data-rich hub featuring radar charts, trend telemetry, and actionable alerts.
- Brand Insights: Analytics portal for brands to monitor product views, AI matches, and conversion.
- Catalog Management: Simple interface for brands to list products and view "AI Match Index" scores.
- Personalized Recommendations: Products are cross-referenced with user skin intelligence for maximum efficacy.
- Report Cards: Server-side generated high-fidelity shareable images for social proof.
- Community Insights: Global aggregate trends and local climate-based skin intelligence.
- Referral Rewards: Milestone-based growth system with premium tier unlocks.
- Frontend: Next.js 14 (App Router), Tailwind CSS, Framer Motion, shadcn/ui
- Backend: Next.js API Routes, Supabase (PostgreSQL), Edge Runtime
- AI: Anthropic Claude 3.5 Sonnet (Vision and Text), Zod-validated schemas
- Infrastructure: Supabase Auth/DB, Cloudinary (Image Hosting), @napi-rs/canvas (Image Generation)
- Framework: React Native + Expo (iOS & Android)
- Navigation: Expo Router (file-based)
- Styling: NativeWind (Tailwind CSS for RN)
- State: Zustand + AsyncStorage (offline cache)
- Shared Backend: Same Supabase, AI pipeline, and Cloudinary as web
skinminder/
βββ app/ # Next.js App Router with Route Groups
β βββ (public)/ # Public-facing pages
β βββ (auth)/ # Authentication flows
β βββ (app)/ # Authenticated app pages
β βββ (seller)/ # Seller/brand portal
βββ services/ai/ # Core AI orchestration and service modules
βββ prompts/ # Separated system prompts for version-controlled AI logic
βββ schemas/ # Zod schemas defining all data contracts
βββ lib/ # Shared utilities, constants, and Supabase clients
βββ components/ # Atomic UI components and feature-specific layout modules
βββ supabase/migrations/ # Database migrations
βββ tests/ # Test suites
βββ apps/mobile/ # React Native + Expo mobile app (iOS & Android)
- Node.js >= 18.18.0
- pnpm >= 9.0.0
-
Clone & Install:
git clone https://github.com/surulere15/skinminder.git cd skinminder pnpm install -
Environment Variables: Create a
.env.localbased on.env.example:cp .env.example .env.local
Required variables:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYANTHROPIC_API_KEYCLOUDINARY_URL
-
Database Setup: Run the migrations in
supabase/migrations/in order. -
Run Development:
pnpm dev
-
Run Tests:
pnpm test
cd apps/mobile
pnpm install
cp .env.example .env.local
pnpm startWe welcome contributions! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you discover a security vulnerability, please review our Security Policy.
Data is encrypted and private by default. All skin analyses are for informational purposes only and do not constitute medical diagnosis.
Β© 2026 SkinMinder. Built for the future of wellness.


