Typey Type is a free typing app designed for steno students to practise and master stenography.
You can support Di’s efforts on Patreon. A monthly donation helps Di build more lessons and features to help you fast-track your steno progress.
The process of writing shorthand is called stenography. Using a stenotype machine or a fancy keyboard, you can write over 200 words per minute. Typically, steno is used for courtroom reporting, closed captioning, and real-time translation. As a means of entering text, it’s also an excellent ergonomic alternative to typing with a QWERTY keyboard.
The aim of Typey Type is to fast-track learning and mastering steno skills. Typey Type helps novice stenographers by giving them:
Typey Type concentrates on practical skills, such as physical drilling and memorisation of briefs.
Typey Type is not a generic typing app. Plenty of typing apps already exist for regular text input without stenography.
Instead, Typey Type concentrates on teaching people how to type using stenography. That means it includes features like steno diagrams showing steno briefs as hints for how to write words and using steno-specific data, such as lessons for “single-stroke briefs”.
Typey Type avoids generic typing features, such as competing for speed and accuracy against other typists, which any typing app might do, such as Typeracer.
Install pnpm. Note: the project is currently built with Node version 24.
[!WARNING] This project previously used
yarnto managenpmpackages. If you previously set up Typey Type usingyarn, deletenode_modulesand any strayyarnfiles/folders in the Typey Type directory, such as.yarn/,.yarnrc.yml,yarn.lock. Installpnpmand runpnpm install --frozen-lockfileto re-createnode_modules.
This project includes a Git submodule for Typey Type data. If you want to clone this repository as well as its submodules, you can use the --recursive parameter:
git clone --recursive https://github.com/didoesdigital/typey-type.git
Alternatively, if you've already cloned the repository without the --recursive parameter, you can load its submodules using submodule update:
cd typey-type
git submodule update --init --recursive
If you haven't already, change directory into the cloned repository:
cd typey-type
Once you've cloned the repository and updated its submodules, pnpm install packages from package.json:
pnpm install --frozen-lockfile
When you pull the latest code, you may need to update submodules too:
git submodule update
Run the Typey Type app:
pnpm start
Open the Vite local link http://localhost:5173/typey-type to view it in the browser.
To use Typey Type offline, you can follow the steps in this README to install and start the app in development mode, and copy your progress words from the Progress page online to your local progress page http://localhost:5173/typey-type/progress before going offline.
Run the test runner during development:
pnpm test
pnpm test will run all of the tests and watch for changes to source files, but if you want to focus on running a specific subset, there's also:
pnpm test:unit, which has the most coverage for the app and runs quicklypnpm test:ui, which covers the most critical part of progressing through words in lessons and takes longer to runRun pnpm vitest:ui to open the Vitest UI.
Run pnpm test:coverage to review test coverage.
Run the TypeScript type checker:
pnpm types
Run eslint to check for code issues:
pnpm lint
Run eslint and fix any auto-fixable code issues:
pnpm lint:fix
Run the Storybook command to develop and test components in isolation:
pnpm storybook
Typey Type uses Vite as its build tool.
Typey Type was originally bootstrapped with Create React App.
For Typey Type’s dictionaries, see Di's steno dictionaries repo.
Historically the Typey Type data repo has contained the steno-dictionaries submodule but it has moved to Typey Type CLI. If you've been using the paths to these dictionaries in Plover, for example, you may need to update them to look in the CLI or somewhere standalone.
See the CONTRIBUTING guidelines.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to typeytype@didoesdigital.com.
See LICENSE.
The metronome sound, “digi_plink”, comes from Dev_Tones by RCP Tones under a Creative Commons license (CC BY 3.0 US) and was adapted to include silence at the end for a slower metronome tempo.
Typey Type was created by Di.
$ claude mcp add typey-type \
-- python -m otcore.mcp_server <graph>