Rhym3
AI Music Generator — Beats, Playlists & Creation
Built With
About this app
Open-source, mobile-first music app built with React, TypeScript, Vite, and Tailwind: onboarding and auth flows, home and explore experiences, library and playlists, full player UI, and an AI beat generator with genre, mood, and tempo controls. Pair the UI with your own Supabase project, Stripe billing, and model/audio APIs to run it like the production experience at rhym3.com.
Self-hosting: accounts & environment
Rhym3 is a Vite + React SPA. After cloning, copy `.env.example` (if present) or follow `ENVIRONMENT_SETUP.md` in the GitHub repo for the exact variable names your branch expects.
Accounts to create
- GitHub — fork or clone mattantimatter/Rhym3.
- Supabase — create a project for auth, database, and storage; run `supabase-schema.sql` / `migrations` from the repo against your database.
- Stripe — optional but supported for credits or subscriptions (see `STRIPE_SETUP_GUIDE.md` / `STRIPE_COMPLETE_SETUP.md` in the repo).
- OpenAI — account with API access for chat / music generation flows (`OPENAI_*` or similar per repo docs).
- ElevenLabs — optional for voice / audio features (`ELEVENLABS_*` per `AUDIO_SETUP_GUIDE.md` / `ELEVENLABS_FIX.md`).
- Google Cloud Console — only if you enable Google sign-in (`GOOGLE_AUTH_SETUP.md`).
Environment variables
Names below follow the open-source repo; your fork may use VITE_ or NEXT_PUBLIC_ prefixes. Confirm in .env.example / ENVIRONMENT_SETUP.md in GitHub.
| Variable | What it's for | Where to get the value |
|---|---|---|
| VITE_SUPABASE_URL | Supabase project URL for the browser client. | Supabase Dashboard → your project → Settings → API → Project URL. Prefix is often `https://….supabase.co`. |
| VITE_SUPABASE_ANON_KEY | Public anon key for client-side Supabase (RLS-protected tables only). | Supabase Dashboard → Settings → API → Project API keys → anon public. |
| SUPABASE_SERVICE_ROLE_KEY | Server-only key for secure admin operations (never expose to Vite client). | Supabase Dashboard → Settings → API → service_role (reveal once, store in server env / Vercel). |
| OPENAI_API_KEY | OpenAI API key for models used in generation / chat features. | OpenAI Platform → API keys → Create new secret key; restrict by usage if possible. |
| STRIPE_PUBLISHABLE_KEY / STRIPE_SECRET_KEY | Stripe keys if you enable billing in the fork. | Stripe Dashboard → Developers → API keys (use test keys in preview deployments). Match names to `STRIPE_*` in repo docs. |
| ELEVENLABS_API_KEY | Optional ElevenLabs key for audio / voice features. | ElevenLabs profile → API keys after signing up. |
Vercel & deploy
- Install dependencies with `npm install` (or `pnpm` / `yarn` if you switch lockfiles).
- Run `npm run dev` locally (default Vite port is often 5173).
- Create a Vercel project → Import the GitHub repo → Framework preset: Vite.
- In Vercel → Settings → Environment Variables, add every `VITE_*` and server secret; redeploy after changes.
- Point Supabase Auth redirect URLs to your Vercel domain (Authentication → URL configuration).
- Use Preview deployments with Stripe test keys before going live.
Authoritative names and any server-only variables are in the Rhym3 repository: start with README.md, ENVIRONMENT_SETUP.md, DEPLOYMENT.md, and STRIPE_SETUP_GUIDE.md.
Special Features
- Splash, onboarding, login / signup (including social-ready patterns)
- Home feed, explore categories, search, and library management
- Playlist detail and full-screen music player UI
- AI beat lab with genre, mood, tempo, waveform-style visualization
- Account, settings, and help surfaces
- Supabase-ready schema and migrations in the repo
- Stripe and OpenAI / ElevenLabs integration guides in-repo
Included Sections
- Authentication & onboarding
- Home & explore
- My library & playlists
- Music player
- Beat generator
- Account & settings
Tags
License
The upstream README references third-party UI kit terms; review the repository README and license files before commercial redistribution.
Antimatter AI
antimatterai.com ↗