The ultimate record label management platform built for modern independent labels. Manage artists, plan campaigns, track analytics, generate AI-powered content, and run complete label operations β all in one sleek React application.
LabelFlow ships with 15 fully functional modules out of the box:
| Module | Description |
|---|---|
| π Dashboard | Real-time overview of label stats, activity feed, upcoming events & AI insights |
| π€ Artists | Manage roster cards with streaming stats, growth trends & artist profiles |
| π£ Campaigns | Track marketing campaigns with progress bars, budgets & performance metrics |
| π Assets | Filter and organise audio, images, video and document files |
| π Schedule | Interactive calendar with drag-into-month navigation & upcoming events list |
| π Contacts | Industry CRM β save managers, promoters, radio, press & brand contacts |
| β Opportunities | AI-powered discovery for sync deals, festivals, grants & playlist placements |
| π Notes | Categorised notes editor for meetings, ideas & campaign notes |
| β To-Do & Workflows | Drag-and-drop Kanban board with priority-colour task cards |
| π€ AI Artist Development | Generate a complete artist profile, album concept & merch line with AI |
| βοΈ AI Blog Writer | Full rich-text editor with AI content generation, chat assistant & blog library |
| π AI Merch Mockups | Generate product mockups for tees, hoodies, mugs, posters & more |
| π Resources | Categorised link/document library with add/delete functionality |
| π Street Marketing | AI-powered city location scouting for poster drops and street activations |
| π Analytics | Chart.js-powered streaming growth, audience geography & revenue mix |
Live stats, activity feed, upcoming events & AI insights at a glance.
Cards for each artist with streaming stats and growth trends.
Full rich-text editor with AI chat assistant, style selector & blog library.
Drag cards between To Do β In Progress β Review β Done columns.
Search any city for AI-recommended street marketing locations with match scores.
Chart.js streaming growth, audience geography heat map & revenue doughnut.
Create, track, and measure marketing campaigns with live progress and budget breakdowns.
Upload, filter, download, and delete audio, image, video & document files.
AI-generated product mockups β rotate angles, favourite and compare designs.
πΈ Screenshots captured automatically using Puppeteer against the running dev server.
- Node.js β₯ 18 (download)
- npm β₯ 9 (bundled with Node)
# 1. Clone the repository
git clone https://github.com/RhythrosaLabs/labelflow.git
cd labelflow/labelflow-react
# 2. Install dependencies
npm install
# 3. (Optional) Configure environment variables
cp .env.example .env
# Edit .env with your values
# 4. Start development server
npm run devOpen http://localhost:5173 in your browser.
npm run build # outputs to dist/
npm run preview # preview production build locallyCopy .env.example to .env and fill in the values for any AI integrations you want to enable:
cp labelflow-react/.env.example labelflow-react/.env| Variable | Description | Required |
|---|---|---|
VITE_OPENAI_API_KEY |
OpenAI API key for live AI generation | Optional |
VITE_APP_NAME |
Overrides the app display name | Optional |
β οΈ Security: Never commit your.envfile. It is excluded via.gitignore. All API keys must be prefixed withVITE_to be exposed to the browser β never use server-side secrets in a Vite frontend.
labelflow/
βββ labelflow-react/ # β Main React app (Vite)
β βββ public/
β βββ src/
β β βββ components/
β β β βββ sections/ # One file per feature module
β β β β βββ DashboardSection.jsx
β β β β βββ ArtistsSection.jsx
β β β β βββ CampaignsSection.jsx
β β β β βββ AssetsSection.jsx
β β β β βββ ScheduleSection.jsx
β β β β βββ ContactsSection.jsx
β β β β βββ OpportunitiesSection.jsx
β β β β βββ NotesSection.jsx
β β β β βββ AIArtistSection.jsx
β β β β βββ AIBlogWriterSection.jsx
β β β β βββ MerchMockupsSection.jsx
β β β β βββ ResourcesSection.jsx
β β β β βββ TodosSection.jsx
β β β β βββ SpotSpotterSection.jsx
β β β β βββ AnalyticsSection.jsx
β β β βββ Sidebar.jsx
β β β βββ MainContent.jsx
β β βββ App.jsx # Root component + FloatingAI
β β βββ labelflow.css # Core design system
β β βββ integrated_styles.css
β βββ index.html
β βββ vite.config.js
β βββ package.json
βββ labelflow/ # Original vanilla HTML prototype
βββ ai_merch_mockup_maker_by_rhythrosa_labs/
βββ cardspots___find_perfect_flyer_locations_by_rhythrosa_labs/
βββ .gitignore
βββ README.md
| Layer | Technology |
|---|---|
| Framework | React 19 |
| Build Tool | Vite 7 |
| Charts | Chart.js (CDN) |
| Icons | Font Awesome 6 (CDN) |
| Fonts | Google Fonts β Inter |
| Styling | Custom CSS design system (dark theme, CSS variables) |
| State | React useState / useEffect (no external state library) |
- No secrets are committed β all sensitive keys go in
.env(gitignored) - No external API calls by default β all AI responses are simulated locally, keeping the app safe to open-source
- XSS prevention β user-generated HTML is only rendered where explicitly safe via
dangerouslySetInnerHTMLon static data - No telemetry β the app makes no external network requests unless you configure an API key
- CDN integrity β Font Awesome is loaded with
integrityandcrossoriginattributes for subresource integrity
Pull requests are welcome! For major changes, open an issue first.
- Fork the repository
- Create your 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 LICENSE for details.
Built by Rhythrosa Labs β crafting tools for independent music creators.
"The music industry runs on relationships, creativity, and hustle. LabelFlow powers all three."








