A full-stack side project walkthrough building a drumming practice app using .NET 10 Minimal APIs and Vue 3. The post covers the core technical challenge of precise audio scheduling with the Web Audio API (replacing unreliable setInterval with audioContext.currentTime), pitch shifting snare samples to distinguish left/right hand strokes, grace note timing for flams and drags, and real-time UI synchronization using Vue composables. The backend is a stateless .NET 10 API serving 40 drum rudiments from a static store. The frontend uses Vue 3 Composition API with a useDrumAudio.ts composable, TypeScript for type safety, and Tailwind CSS for styling. Known limitations like imprecise grace note timing and missing sheet music images are documented as next steps.
Sort: