https://github.com/selloa/practice-mate
A distraction-free practice companion for musicians. Helps you structure practice sessions with customizable exercises, timers, and progress tracking. Built with Elm for focused, efficient music practice.
https://github.com/selloa/practice-mate
chords distraction-free elm intervals music practice progress-tracking scales timer web-app
Last synced: 4 months ago
JSON representation
A distraction-free practice companion for musicians. Helps you structure practice sessions with customizable exercises, timers, and progress tracking. Built with Elm for focused, efficient music practice.
- Host: GitHub
- URL: https://github.com/selloa/practice-mate
- Owner: selloa
- Created: 2025-08-18T20:45:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-08-30T20:38:40.000Z (6 months ago)
- Last Synced: 2025-08-30T21:28:10.944Z (6 months ago)
- Topics: chords, distraction-free, elm, intervals, music, practice, progress-tracking, scales, timer, web-app
- Language: JavaScript
- Homepage:
- Size: 754 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# practice-mate
a practice session companion for musicians. helps you structure and track your practice time with customizable exercises.
## what it does
practice-mate is a web app built with elm that helps musicians organize their practice sessions. it's designed to be simple, distraction-free, and focused on what matters: getting better at your instrument.
### core features
- **practice timer** - set time limits and track your progress
- **exercise randomization** - never get stuck in a rut with randomized practice material
- **customizable configurations** - choose what you want to practice
- **progress tracking** - see how many exercises you've completed
- **auto-advance** - optionally move to the next exercise automatically
## practice topics
practice-mate supports three main practice areas:
### scales
- major, minor, melodic minor, harmonic minor
- pentatonic scales (major & minor)
- church modes (ionian, dorian, phrygian, lydian, mixolydian, aeolian)
- chromatic, whole step, blues scales
- mandalorian scale
### chords
- basic triads (major, minor, diminished, augmented)
- suspended chords (sus2, sus4)
- seventh chords (maj7, min7, dom7, minmaj7, half-dim7, dim7)
### intervals
- thirds, fourths, fifths, sixths, octaves
## configuration options
### presets
- **basic** - good starting point with common scales and chords
- **all** - everything enabled for comprehensive practice
- **none** - blank slate for custom configuration
- **custom** - your own mix of topics
### customization
- choose specific roots (a, bb, b, c, c#, d, d#, e, f, f#, g, g#)
- select which scales, chords, and intervals to practice
- configure bowing patterns (slurred, repeated)
- set string challenges (a, d, g, c strings)
## getting started
### development
```bash
# install dependencies
npm install
# start development server
npm run dev
# build for production
npm run build
```
### usage
1. open the app in your browser
2. configure your practice session (or use a preset)
3. set your time limit
4. start practicing!
5. the app will randomly present exercises based on your configuration
## tech stack
- **elm** - functional programming for the frontend
- **parcel** - bundling and development server
- **tailwind css** - styling
- **material icons** - ui elements
## project structure
```
src/
├── elm/
│ ├── main.elm # main application logic
│ ├── types.elm # data types and enums
│ └── configuration.elm # practice session configuration
├── css/ # stylesheets
├── js/ # javascript entry point
└── index.html # main html file
```
## why "practice-mate"?
named after the practice companion that helps you stay focused and make the most of your practice time. no distractions, just music.
---
built with ❤️ for musicians who want to practice smarter, not harder.