rbxport is a music library management app inspired by rekordbox. It keeps its feature set deliberately small, aiming for a faster, simpler user experience.
Its scope is limited to library management, USB exporting, and PRO DJ LINK.
The core vision of rbxport is fewer features.
Because rbxport is open source, you are free to fork it and build a version of rekordbox customized by the community. The core project does not aim to be that. A project that keeps adding features eventually becomes what rekordbox already is: full-featured DJ software. rbxport stays small on purpose. Any contribution that adds a feature is weighed carefully against this vision, and a good feature can still be declined.
Two commitments define what "small" must not cost:
- Compatibility. rbxport aims to be fully compatible with the current version of rekordbox and all the hardware that rekordbox supports.
- Performance. rbxport maintains its speed through a performance budget,
defined in
perf-budgets.jsonand enforced bypnpm budgetand CI. See Development conventions.
If you want to propose a feature, read Feature proposals in the contributing guide first.
| Layer | Technology |
|---|---|
| Desktop app | Tauri 2. |
| Frontend | React and TypeScript, with TanStack Virtual for track browsing. |
| Backend | Rust, with independent rbl-* crates for library, audio, export, and LINK logic. |
| Database | SQLCipher for rekordbox libraries and OneLibrary USB exports. |
| Build tooling | Vite, pnpm, and Cargo. |
| Testing | Vitest, Playwright, and Rust tests with temporary library fixtures. |
See Architecture for the repository layout and how the frontend, desktop shell, and Rust crates fit together.
For a first look at the interface, use the browser with a mock library:
pnpm install
pnpm dev:webThis requires Node 24 and pnpm 10.17.1. It does not open an installed rekordbox library or require a Rust build. For desktop prerequisites and safe library setup, read Getting started.
Read these in order to understand the project and make your first change:
- Getting started: prerequisites, run modes, and library safety.
- Architecture: repository map, crate responsibilities, IPC, and edit flow.
- Development conventions: code style, performance, translation, and evidence rules.
- Testing: checks, test setup, and what each result proves.
- Contributing: issues, branches, implementation, validation, and review.
- Debugging: logs, diagnostics, environment variables, and cleanup.
- Releases: versions, CI, packaging, and publication.
The documentation index also links to user guides and detailed analysis, USB-format, and hardware references.
| Command | Purpose |
|---|---|
pnpm dev:web |
Browser UI with the mock backend. |
pnpm dev |
Desktop app; can open your installed library. Read the safety guide first. |
pnpm lint |
Frontend lint rules. |
pnpm build |
TypeScript check and production frontend bundle. |
pnpm test |
Vitest tests. |
pnpm e2e |
Playwright browser tests against the mock backend. |
RB_LITE_TEST=1 cargo test --workspace |
Rust tests with installed-library writes refused. |
rbxport is GPL-2.0-or-later. See LICENSE and Licensing for bundled components and distribution terms. Third-party product names belong to their respective owners. rbxport is an independent project and is not affiliated with, endorsed by, or sponsored by their owners.
rbxport is provided "as is", without warranty to the extent permitted by applicable law. Use it at your own risk and keep backups of your music library and USB drives. Unless required by applicable law or agreed to in writing, the authors and contributors are not liable for damages arising from using or being unable to use rbxport, including lost or corrupted data, equipment damage, or financial losses. See LICENSE for the full warranty and liability terms.
rbxport is an independent project and is not affiliated with, endorsed by, or sponsored by AlphaTheta or Pioneer DJ. References to rekordbox, PRO DJ LINK, and other products describe compatibility only. All trademarks and product names belong to their respective owners.
evanpurkhiser, Maddix, Morgan Page, nichi, profbx, Sean Tyas, shiz, syl, trancejesus, xorbxbx, and AlphaTheta.