Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Practice Buddy

Practice Buddy

A web app to help practice modes, learn chords, and chart tunes for guitar and bass players.

Table of Contents

  1. Getting Started
  2. Deployment
  3. Built With
  4. Contributing
  5. Authors
  6. License


Practice Buddy is currently in development. The final product will consist of three major components: modes, chords, and charts. The components are detailed below.



Practice Buddy will allow show all seven modes and their corresponding scales. The modes are listed as intervals and actual pitches, and can be adjusted to any starting pitch.

Chords (planned)

Practice Buddy will map out chords for you. You can chose Ebm7, and the notes (and their intervals) will be displayed, along with a chart showing the chord on guitar or bass.

Charts (planned)

A database of Nashville system charts will be available for creation, retrieval, update, and deletion.

Note: this feature may require adding user accounts to the application.

Getting Started

Practice Buddy uses Webpack and NPM to build and transpile all React code into regular HTML, CSS, and Javascript.


Make sure you have NodeJS and NPM installed. You can download Node here. This will install NPM as well.

You are welcome to use Yarn instead of NPM if you prefer.


First, clone the project to a local directory.

   git clone && cd PracticeBuddy

Next, install the dependencies using NPM or Yarn.

Using NPM

   npm install

Using Yarn

   yarn install

Back to top


Development Environment

To run Practice Buddy in development mode, you will need to run the start script declared in package.json.

Using NPM

   npm run start

Using Yarn

   yarn run start

That's it! Your development server is running at http://localhost:8080

Webpack is configured with hot reloading, so any changes saved to source files will be immediately reflected in the browser.

Production Build

To build a production version of the app, with all React code loaded into a bundled, minified Javascript file, you need to run the production script declared in package.json.

Using NPM

   npm run production

Using Yarn

   yarn run production

This will leave you with an index.html and an index_bundle.js file in the build directory. Hosting these files from the same location will serve the production build of Practice Buddy.

Back to top

Built With

  • React - The web framework that powers the site
  • Webpack - A module builder automate development and production build processes
  • React Router v. 4 - Sits on top of React to enable route-based views without a backend server
  • Babel - Transpiler to convert raw React code into browser-ready HTML and Javascript
  • create-react-app - Boilerplate React configuration from Facebook

Back to top


As always, I'm very happy to receive pull requests, questions/issues regarding code, and feature requests.

Practice Buddy is under active development, poised for a complete feature set by January 2018. If you are interested in contributing, check out the existing projects and issues, and contact me if anything sounds interesting to you.

Back to top


Back to top


Practice Buddy is licensed under the MIT License - see the file for details.

Back to top


🎼 A web app to teach musical chords, modes, and songs








No releases published


No packages published