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

speekr

v0.0.1

Published

Practice speaking languages locally

Readme

Speekr

Local-first CLI for practicing spoken language: capture sessions from the terminal, transcribe audio, and review structured feedback and progress in a companion dashboard. Data stays on your machine under ~/.speekr.

Features

  • Interactive terminal UI — Guided flows for setup, recording, and configuration (Ink / React).
  • Speaking sessions — Record audio with prompts; requires a TTY and FFmpeg on your PATH.
  • Transcription — Choose local (Whisper via an isolated Python environment), OpenAI, or Deepgram; override per run with --transcription.
  • AI feedback — Session analysis (rewrites, vocabulary, grammar patterns, summary) via OpenAI, Anthropic, or Deepgram; keys are stored in the local SQLite database after setup (with optional env fallbacks where supported).
  • Language tracks — Multiple target languages and proficiency levels; broad language set is supported in setup.
  • Web dashboard — Local Express server serves a built SPA for stats, sessions, vocabulary, grammar, topics, and related views; API routes expose aggregated data from the same database.
  • Resetreset removes the local database and recordings after confirmation.

Requirements

| Requirement | Notes | |-------------|--------| | Node.js | v20 or newer (engines in package.json). | | FFmpeg | Required for record; install via your OS package manager and ensure the binary is on PATH. | | Python 3.9+ | Required only if you use local transcription; Speekr creates a dedicated venv and installs dependencies on first use. | | API keys | Needed for cloud transcription and/or AI feedback as configured in speekr setup. Optional env fallbacks where implemented: DEEPGRAM_API_KEY, ANTHROPIC_API_KEY. |

Install

From npm (once published):

npm install -g speekr

From a clone (contributors / local install):

pnpm install
pnpm build
pnpm link --global   # or: node dist/index.js

Usage

| Command | Description | |---------|-------------| | speekr | Launch the home screen when no subcommand is given. | | speekr setup | Run guided setup (profile, languages, default AI provider, transcription mode, API keys). | | speekr record | Start a new session; -t, --transcription accepts local, openai, or deepgram to override the configured mode. | | speekr dashboard | Start the dashboard server (default port 4000); -p, --port to change. Opens the URL in your default browser when possible. | | speekr reset | Delete local database and recordings (interactive confirmation). |

Non-interactive environments: setup and record expect a TTY; run them from a normal terminal session.

Development

pnpm install
pnpm typecheck    # optional CI-style check
pnpm build        # dashboard (Vite) + Node (tsc) → dist/
pnpm dev          # API server with dashboard dev proxy + Vite dev server

For local dashboard dev, the dev server can read SPEEKR_DASHBOARD_PORT (see src/server/dev.ts).

Data and privacy

Configuration, sessions, and recordings live under ~/.speekr. Cloud providers you enable receive only the audio and text required for transcription and feedback for those requests.

License

MIT — see LICENSE.