AI-powered outfit recommendations based on hyper-local weather data. Never overdress or underdress again.
Production domain: https://skystyle.app
- Multi-source weather — aggregates data from OpenWeatherMap, Open-Meteo, and Bureau of Meteorology (Australia) for accuracy, with hourly forecasts
- AI outfit recommendations — uses OpenAI GPT-4o or Google Gemini to suggest what to wear
- Follow-ups — ask follow-up questions like "should I bring an umbrella?" or "what if I need formal shoes?"
- Digital closet — add your wardrobe items so the AI knows what you own
- Bring Your Own Key — Pro users can use their own AI API key (never stored)
- Custom weather sources — Pro users can add their own weather data sources
- GPS & manual location — use your browser's location or search for any city
- Dark mode — automatic, based on system preference
| Free | Pro Monthly | |
|---|---|---|
| Price | A$0 | A$4/mo |
| AI uses | 20/day | 50 App Credits/day |
| Follow-ups | 40/day | 400/day |
| Closet | 4 uses/day | Unlimited |
| Source picker | 4/day | Unlimited |
| BYOK AI key | — | ✅ |
| Custom prompts | — | ✅ |
| Dashboard | Weather Flow |
|---|---|
![]() |
![]() |
| Usage + Limits | Account + Security |
|---|---|
![]() |
![]() |
This repository is now organized as a single monorepo for multiple deployable projects.
/
├── apps/
│ ├── web/ # Sky Style main app (Next.js)
│ ├── docs/ # VitePress docs website
│ └── api/ # Future standalone API placeholder (api.skystyle.app)
├── packages/ # Shared packages for future reuse
├── supabase/ # Database schema and SQL assets
└── ...root config files
Project targets:
apps/web->skystyle.app(or current preview domain)apps/docs->https://docs.skystyle.appapps/api->api.skystyle.app(future)
- Next.js 16 (App Router + Turbopack)
- Supabase (Postgres + Auth adapter)
- NextAuth v5 (GitHub + Google OAuth)
- OpenAI / Google Gemini (AI)
- OpenWeatherMap + Open-Meteo (weather)
- Tailwind CSS 4
- Vercel (hosting + analytics)
See SETUP.md for full deployment and local development instructions.
Quick start:
cp .env.example apps/web/.env.local # or use vercel env pull
# fill in values in apps/web/.env.local
npm install
npm run devDocs quick start:
npm run docs:dev- SSRF protection — custom weather source URLs are validated against private/internal hosts
- HTTPS only — custom source URLs must use HTTPS
- No secrets in client — all API keys are server-side only
- BYOK keys are never stored — user-provided AI API keys are used for the single request and discarded
- Row Level Security — Supabase RLS policies restrict data access to the owning user
- JWT sessions — NextAuth uses JWT strategy; the database adapter is wrapped in a safe fallback
- Input validation — coordinates, API inputs, and user content are validated before use
- Rate limiting — daily usage limits prevent abuse of AI and weather APIs
Issues and pull requests are welcome. Please be respectful and follow the People First Design principles.
Both follow the People First Design principles — plain language, minimum data collection, no dark patterns.
See LICENSE.
If you like my project and want to support the development:
☕ Buy me a coffee
https://buymeacoffee.com/coolmanyt
:)





0 comments
log in to comment.