Playmate
A native desktop audio-cue application built for live performance, combining a React interface with a Rust audio engine for low-latency, reliable playback.
Discuss this ventureWhy this problem persists.
Live performance audio management relies on consumer software not designed for cue-based workflows, or on expensive professional tools with steep learning curves. Neither handles large files, device fallback, and offline reliability well.
What we are building.
Playmate is a native desktop application using Tauri and Rust for the audio engine, with a React and Material UI interface. It supports multi-format decoding, streaming playback, prefetch buffering, trim and fade controls, waveform visualization, and project persistence.
The intended users.
What the product does.
Multi-format audio decoding via Symphonia
Streaming playback with bounded memory use
Prefetch buffering for low-latency cue readiness
Trim points, fade curves, and loop controls
Waveform visualization with Blake3-validated caching
Audio output device enumeration and fallback
Slot-based cue organization with drag reordering
Project persistence in a custom .playmate format
Native file dialogs and file association
Keyboard-driven playback control
The structural gap.
Consumer audio players are not designed for cue-based live performance workflows. Professional tools exist but carry steep learning curves, high costs, and dependencies on specific hardware ecosystems. Browser-based approaches hit hard limits with large files, device control, and offline reliability. None of them treat the audio engine as a first-class engineering concern.
Playmate is in active development at version 0.1.7. The core audio pipeline — decoding, streaming, buffering, device management, fade processing, and waveform generation — is implemented in Rust. The React interface handles slot management, project editing, waveform interaction, and playback state. Project persistence and native file workflows are operational. Ongoing work focuses on playback reliability, buffer consistency, and production readiness before broader distribution.
Built on a shared foundation.
Playmate demonstrates MackJoy's ability to build across the full technical stack — from a React interface to a native Rust audio engine — when the problem requires it. The Tauri-based architecture and the patterns developed for typed IPC, state machine design, and native file handling are reusable across future desktop applications in the portfolio.
We are actively seeking collaborators.
How it is built.
Built with Tauri 2 as the native desktop shell, Next.js and React for the interface, and Rust for the audio backend. The audio pipeline uses Symphonia for decoding, Rodio for playback, cpal for device access, and crossbeam channels for thread communication. Zustand manages application state. Blake3 validates waveform cache integrity. The Next.js frontend is statically exported for Tauri's local asset model.