Developers
How JustBeatz Music came together, told as a story rather than a changelog. It spans two repositories and more than three years: the original justbeatzmusic app (2023-2025) and the current justbeatzmusic-web-api monorepo (2025-present). Each chapter is a phase of the build, inferred from the git history and kept to the high-level shape of the work rather than every commit.
- Commits
- 1,7412 repos
- Timeline
- Feb 2023 - Jun 2026
- Active months
- 32shipping
- Latest
- Jun 20262026-06-24
Commit activity
The story
Original repo: justbeatzmusic (2023-2025)
- February - April 2023
Origins: a Remix music app
A Remix app, an audio player, and a crypto experiment.
The first real build. After early scaffolding going back to late 2021, the project launched in earnest as a Remix music app with a working audio player, a Prisma data layer, and Redux state. It carried an of-the-moment Web3 angle, with wallet-connect and Ethereum integration sitting alongside the music. March 2023 alone saw over 150 commits.
- Remix app with server-rendered routes and an audio player
- Prisma data layer and Redux state foundation
- Web3 wallet-connect and Ethereum integration
- Supabase brought in early for auth and data
- Mid-to-late 2023
Shedding the crypto skin
Dropping Web3 and searching for the real product.
By late August 2023 the crypto and wallet code was removed, and the project let go of the Web3 framing to focus on simply being a music platform. Much of the period went into deployment experiments across many branches (Vercel, build tooling) before activity quieted toward the end of the year.
- Removed wallet-connect and Ethereum dependencies
- Refocused from Web3 toward a straightforward music platform
- Heavy Vercel and build-tooling deployment experimentation
- A quiet stretch closing out the year
- February - July 2024
The platform rebuild
A serious data layer, admin tooling, and cloud storage.
After a dormant winter, development surged back. The spring brought the backbone of a real platform: a Drizzle data layer beside Prisma, Tanstack-powered admin tables, AWS S3 for audio and media storage, and Stripe for payments.
- Drizzle ORM introduced alongside Prisma
- Tanstack Table admin data grids
- AWS S3 storage for audio and media
- Stripe payments
- August - October 2024
The big build
The most intense stretch of the entire project.
Three months and over 500 commits turned the app into a full platform. Analytics dashboards, audio metadata analysis, transactional email, and a rich content editor all landed in quick succession.
- Tremor analytics dashboards (August)
- Audio analysis via music-metadata (August)
- Resend transactional email (October)
- TipTap rich-text editor for content and blog (October)
- November 2024 - February 2025
The handoff
Winding down to rebuild clean.
Activity tapered through the winter as the focus shifted to a fresh start. Two years of lessons from the original repo set the stage for a clean rebuild, which became the current justbeatzmusic-web-api monorepo. The original repo's last commit lands in February 2025, overlapping the new one's first weeks.
- Wind-down of the original repo
- Decision to re-platform into a clean monorepo
- Product shape and lessons carried forward
- Handoff to justbeatzmusic-web-api in early 2025
This repo: justbeatzmusic-web-api (2025-present)
- January 2025
Foundations
A clean slate, informed by two years of work.
The current repo began by clearing the deck and scaffolding the JustBeatz app fresh inside a monorepo, re-homing the project from the original codebase. The first days were about shape: an app, an API, and a repo that could carry everything learned so far.
- Started the current monorepo and re-homed the project
- Stood up the JustBeatz web app and API side by side
- Established the baseline tooling and project structure
- February - March 2025
The Build Sprint
The heaviest building stretch of the new repo.
By far the most intense period in the current repo: the core platform took form. The catalog domains (tracks, albums, artists, playlists) gained real CRUD and admin tooling, backed by a deployment pipeline and a caching layer. Publishing controls and bulk operations turned a prototype into something that could actually be managed.
- Catalog modules: tracks, albums, artists, playlists
- Publish/unpublish status across catalog entities
- Bulk-delete endpoints and file-service cache invalidation
- Dockerized builds and a real deployment workflow
- April - June 2025
Going Full-Stack
Accounts, email, analytics: the platform grows up.
With the catalog working, the focus shifted to the connective tissue of a real product. Authentication matured with email verification and Google OAuth, sessions became manageable, and an analytics service began tracking how the app was used. Course content and richer API documentation rounded out the surface area.
- Email verification and transactional email via Resend
- Google OAuth and improved token/session management
- Analytics service with visitor and event tracking
- Online course / lesson modules and broad API documentation
- July - November 2025
Media & Audio Intelligence
Files stopped being just files.
A unified media-processing pipeline brought real-time events to uploads, while a Python-backed audio-analysis feature began extracting metadata, detecting duplicates, and surfacing insight about each track. A quieter autumn followed: steady integration and upkeep rather than new ground.
- Unified media-processing pipeline with real-time event support
- Audio analysis via a Python integration, with metadata extraction
- Duplicate detection across audio and image files
- A maintenance lull through the autumn, consolidating the work
- December 2025
Re-platforming to React Router
A foundational migration, done deliberately.
The web app migrated from Remix to React Router and reorganized its route structure in the process. It was infrastructure work with little visible payoff at the time, but it set the routing and data conventions every later feature would build on.
- Migrated the web app from Remix to React Router
- Reorganized the route structure around the new conventions
- Tightened player loaders and type safety along the way
- January - May 2026
New Surfaces
Marketplace, sample library, and a visual player.
A burst of ambitious product work opened entirely new surfaces. A marketplace store and a Splice-style sample-library browser arrived together, a Go streaming service joined the monorepo, and Lyrascape introduced an audio-reactive, cinematic player on both desktop and mobile.
- Marketplace store module across web and API
- Sample Library Player, a Splice-style browser
- Go streaming service brought into the monorepo
- Lyrascape: audio-reactive cinema player, desktop and mobile
- June 2026
Player & Admin Polish
Sharpening the experience.
The most recent chapter is refinement: the player queue, lifecycle, and layout got careful attention on desktop and mobile, the admin dashboard gained polished feature flags, genres, and files experiences, and the web API request handling was hardened. Less new ground, more making what exists feel finished.
- Player queue, recovery, and desktop/mobile layout polish
- Admin feature flags, genres, and media gallery improvements
- Hardened web API request handling and CI workflows
- Animated library sidebar and audio-lifecycle fixes
Latest from the log (this repo)
- 2026-06-24Fix player play intent handling
- 2026-06-24Include selectedImage in track form processing
- 2026-06-24Improve feature flag create and update flow
- 2026-06-23refactor: improve feature-flag and genres routes
- 2026-06-23Refactor web API request handling
- 2026-06-23Upgrade GitHub Actions and refine genre player headers
- 2026-06-23fix: use stabilized react router future flags
- 2026-06-23chore: clean deploy warnings and queue UI
Spanning two repositories: the original justbeatzmusic (1,083 commits) and this repo (658 commits).