Skip to content

didoesdigital/typey-type

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,435 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Typey Type for Stenographers

Typey Type is a free typing app designed for steno students to practise and master stenography.

Sponsor

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.

What's stenography?

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.

Aim

The aim of Typey Type is to fast-track learning and mastering steno skills. Typey Type helps novice stenographers by giving them:

  • immediate feedback on typing speed and accuracy
  • progress updates, including progress on brief vocabulary
  • a course to follow, including material to type
  • links to more information

Typey Type concentrates on practical skills, such as physical drilling and memorisation of briefs.

What Typey Type is not

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.

Development

Requirements

Install pnpm. Note: the project is currently built with Node version 24.

Warning

This project previously used yarn to manage npm packages. If you previously set up Typey Type using yarn, delete node_modules and any stray yarn files/folders in the Typey Type directory, such as .yarn/, .yarnrc.yml, yarn.lock. Install pnpm and run pnpm install --frozen-lockfile to re-create node_modules.

Installation

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

Updates

When you pull the latest code, you may need to update submodules too:

git submodule update

Run the app in development mode

Run the Typey Type app:

pnpm start

Open the Vite local link http://localhost:5173/typey-type to view it in the browser.

Offline

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.

Testing

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 quickly
  • pnpm test:ui, which covers the most critical part of progressing through words in lessons and takes longer to run

Run pnpm vitest:ui to open the Vitest UI.

Run pnpm test:coverage to review test coverage.

Checks

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

Storybook

Run the Storybook command to develop and test components in isolation:

pnpm storybook

Vite

Typey Type uses Vite as its build tool.

Typey Type was originally bootstrapped with Create React App.

Steno dictionaries

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.

Contributing

See the CONTRIBUTING guidelines.

Code of Conduct

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.

License

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.

Author

Typey Type was created by Di.

Related repos

About

Typey Type for Stenographers is a free typing app designed specifically to help steno students practise and rapidly master stenography.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors