Skip to content
@trane-project

The Trane Project

The Trane Project

Trane is an automated practice system for the acquisition of arbitrary, complex, and highly hierarchical skills. That's quite a mouthful, so let's break it down.

  • Practice system: Deliberate practice is at the heart of the acquisition of new skills. Trane calls itself a practice system because it is designed to guide student's progress through arbitrary skills. Trane shows the student an exercise they can practice and then asks them to score it based on their mastery of the skill tested by the exercise.
  • Automated: Knowing what to practice, when to reinforce what has already been practiced, and when to move on to the next step is as important as establishing a consistent practice. Trane's main feature is to automate this process by providing students with an infinite stream of exercises. Internally, Trane uses the student feedback to determine which exercises are most appropriate for the current moment.
  • Arbitrary: Although originally envisioned for practicing Jazz improvisation, Trane is not limited to a specific domain. Trane primarily works via plain-text files that are easily sharable and extendable. This allows student to create their own materials, to use materials created by others, and to seamlessly combine them.
  • Complex and hierarchical skills: Consider the job of a master improviser, such as the namesake of this software, John Coltrane. Through years of practice, Coltrane developed mastery over a large set of interconnected skills. A few examples include the breathing control to play the fiery stream of notes that characterize his style, the aural training to recognize and play in any key, and the fine motor skills to play the intricate lines of his solos. All these skills came together to create his unique and spiritually powerful sound. Trane is designed to allow students to easily express these complex relationships and to take advantage of them to guide the student's practice. This is the feature that is at the core of Trane and the main difference between it and similar software, such as Anki, which already make use of some of the same learning principles.

Trane is based on multiple proven principles of skill acquisition, like spaced repetition, mastery learning, interleaving, and chunking. For example, Trane makes sure that not too many very easy or hard exercises are shown to a student to avoid both extremes of frustration and boredom. Trane makes sure to periodically reinforce skills that have already been practiced and to include new skills automatically when the skills that they depend on have been sufficiently mastered.

If you are familiar with the experience of traversing the skill tree of a video game by grinding and becoming better at the game, Trane aims to provide a way to help students complete a similar process, but applied to arbitrary skills, specified in plain-text files that are easy to share and augment.

Trane is named after John Coltrane, whose nickname Trane was often used in wordplay with the word train (as in the vehicle) to describe the overwhelming power of his playing. It is used here as a play on its homophone (as in "trane a new skill").

Pinned Loading

  1. trane trane Public

    An automated practice system for mastering complex skills

    Rust 781 15

  2. trane-cli trane-cli Public

    A command-line interface and utilities for Trane

    Rust 28 1

  3. trane-music trane-music Public

    Official music courses from the Trane Project

    Rust 23

  4. trane-earmaster trane-earmaster Public

    Practice EarMaster exercises with Trane

    Rust 2 1

  5. trane-rustlings trane-rustlings Public

    Learn Rust with Trane and Rustlings

    Rust 13

  6. trane-leetcode trane-leetcode Public

    Practice Leetcode exercises with Trane

    Rust 24

Repositories

Showing 10 of 15 repositories
  • trane Public

    An automated practice system for mastering complex skills

    trane-project/trane’s past year of commit activity
    Rust 781 AGPL-3.0 15 0 0 Updated Dec 1, 2024
  • trane-cli Public

    A command-line interface and utilities for Trane

    trane-project/trane-cli’s past year of commit activity
    Rust 28 AGPL-3.0 1 0 0 Updated Aug 11, 2024
  • trane-project/trane-project.github.io’s past year of commit activity
    Makefile 0 0 0 0 Updated Jul 29, 2024
  • trane-transcription Public

    Official music transcription exercises for Trane

    trane-project/trane-transcription’s past year of commit activity
    Rust 1 GPL-3.0 0 0 0 Updated Jul 23, 2024
  • trane-earmaster Public

    Practice EarMaster exercises with Trane

    trane-project/trane-earmaster’s past year of commit activity
    Rust 2 GPL-3.0 1 0 0 Updated Nov 28, 2023
  • trane-music Public

    Official music courses from the Trane Project

    trane-project/trane-music’s past year of commit activity
    Rust 23 GPL-3.0 0 0 0 Updated Oct 31, 2023
  • trane-n-back Public

    Improve working memory with Trane and N-back exercises

    trane-project/trane-n-back’s past year of commit activity
    Rust 1 AGPL-3.0 0 0 0 Updated Jun 21, 2023
  • trane-saxophone Public

    Official Trane courses for the saxophone

    trane-project/trane-saxophone’s past year of commit activity
    Rust 1 GPL-3.0 0 0 0 Updated Jun 16, 2023
  • .github Public
    trane-project/.github’s past year of commit activity
    0 0 0 0 Updated Mar 5, 2023
  • trane-math Public

    Official math courses from the Trane Project

    trane-project/trane-math’s past year of commit activity
    Rust 2 GPL-3.0 0 0 0 Updated Mar 4, 2023

Top languages

Loading…

Most used topics

Loading…