npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dnback

v0.1.0

Published

An adaptive dual n-back trainer for the terminal

Readme

nback-tui

An adaptive dual n-back trainer built with OpenTUI, Effect, and Solid.

BLOCK 4             3-BACK             12 / 23

               ...  ...  ...
               ...  ###  ...
               ...  ...  ...

          [ A ] POSITION    [ S ] SOUND

Run

Requires Bun and macOS, Linux, or Windows with an audio output device.

git clone https://github.com/kitlangton/nback-tui.git
cd nback-tui
bun install
bun run start

Interaction

  • Each block has N warm-up trials and 20 scored trials.
  • A position flashes for 500 ms while a spoken letter plays, followed by a 2.5-second response window.
  • Press A for a position match and S for a sound match. Both keys are configurable.
  • Responses are one-way and correctness is shown only after the block.
  • Blocks raise N when both modalities reach 80% balanced accuracy and lower it when either falls below 65%. You can override the next level.
  • There is no pause or replay. Escape discards the current partial block.
  • Completed blocks are saved locally. There are no accounts, streaks, schedules, or telemetry.

What the evidence says

Dual n-back reliably improves performance on the trained task and closely related working-memory tasks. Evidence for transfer to fluid intelligence, broad attention, or everyday cognition is weak and inconsistent, especially in preregistered studies with active controls. This project makes no IQ or general cognitive-enhancement claims.

Each block follows the original target composition: six targets per modality, with four unique to each modality and two simultaneous. The training score is the lower balanced accuracy of the two modalities, so a stronger stream cannot hide a weaker one. Balanced accuracy prevents always pressing or always withholding from producing a misleading score. The app also records d-prime, which distinguishes discrimination from response bias.

Useful reviews and studies:

Audio

The bundled consonants are synthesized individually with ElevenLabs' male Eric voice as PCM WAV files with matched loudness and identical onset padding. OpenTUI's native audio engine preloads and plays them locally; gameplay does not make network requests.

Regenerate the complete audio set with:

ELEVENLABS_API_KEY=... bun run audio:generate

Each letter is rendered as its own clip, using ElevenLabs' previous_text/next_text context so the delivery has the cadence of a steady spelling list without any surrounding words in the audio. The generator trims boundary silence, applies measured gain toward a shared loudness target with a peak ceiling, adds 40 ms fades and identical 120 ms onset and tail padding, and transcribes every candidate clip with ElevenLabs Scribe. Candidates that do not transcribe back to their letter are re-synthesized with a fresh seed, and project assets are replaced only after all eight clips pass. Set NBACK_VOICE_ID and NBACK_VOICE_NAME to use another ElevenLabs voice.

Data

History and controls are stored at $XDG_DATA_HOME/nback-tui/data.json, or ~/.local/share/nback-tui/data.json when XDG_DATA_HOME is unset.

License

MIT