About this project
Beatsync is a high-precision web audio player built for multi-device playback and spatial audio. The official application is hosted at beatsync.gg.
### Key Features
- **Millisecond-Accurate Synchronization**: Leverages NTP-inspired time synchronization primitives to achieve highly precise multi-device audio alignment.
- **Cross-Platform**: Runs on any device with a modern browser (Chrome recommended for best performance).
- **Spatial Audio**: Enables volume control of devices through a virtual listening source for unique sonic effects.
- **Polished UI**: Includes smooth loading states, status indicators, and a built-in interface.
- **Self-Hostable**: Easily run your own instance using a few simple commands.
### Architecture
The project is organized as a Turborepo monorepo with the following workspaces:
- `apps/server`: Bun HTTP + WebSocket server.
- `apps/client`: Next.js frontend utilizing Tailwind and Shadcn/ui.
- `packages/shared`: Type-safe schemas and shared functions between the client and server.
### Quickstart
To run the project locally:
1. Configure environment variables in `apps/client/.env` (`NEXT_PUBLIC_API_URL` and `NEXT_PUBLIC_WS_URL`).
2. Install dependencies and start the development servers using Bun:
- `bun install`
- `bun dev` (starts client on :3000 and server on :8080)
Note: The project is in early development, and mobile support is currently experimental.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.