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

postkid

v0.1.2

Published

Local-only API client with a same-origin CORS proxy.

Readme

Postkid

Postkid is a local-only API client based on Hoppscotch.

It runs entirely on your machine. Request/response, collections, environments, and history stay local. There is no login, teams, cloud sync, or remote backend. A same-origin proxy forwards requests so the browser does not hit CORS.

By default, collections and settings live in browser storage (localStorage). In Chrome or Edge you can optionally store that data in a folder on this computer (Settings → Data storage). Secrets and auth tokens are written as plain text. The folder is on the machine that opens the app, not inside a Docker container.

Derived from Hoppscotch under the MIT license. See VENDOR.md and licenses/hoppscotch-MIT.txt.

Install (npm)

Requires Node.js 22+.

npx postkid

Or install globally:

npm install -g postkid
postkid

Then open http://127.0.0.1:8787

postkid --port 8787 --host 127.0.0.1

The published package is a single CLI: compiled proxy plus the built SPA. Maintainers assemble it with pnpm pack:npm and publish with pnpm publish:npm.

Requirements

  • Node.js 22+
  • pnpm 10 (development)

Develop

pnpm install
pnpm dev
  • App: http://localhost:3000
  • Proxy: http://localhost:8787 (default interceptor)

The Proxy interceptor is on by default. Target APIs that omit CORS headers should still work.

Production (single port)

pnpm install
pnpm build
PROXY_BIND=0.0.0.0 pnpm start

The proxy serves the built SPA from packages/web/dist and accepts Proxyscotch-compatible POST / envelopes.

Publish to npm

pnpm pack:npm
pnpm publish:npm

pack:npm builds the SPA and proxy, then writes a publishable tree to npm-package/ (CLI, dist/server.js, spa/). Check it with npm pack --dry-run --ignore-scripts inside that folder before publish:npm.

Docker

docker build -t postkid .
docker run --rm -p 8787:8787 -e PROXY_BIND=0.0.0.0 postkid

Then open http://localhost:8787

Layout

packages/web                      SPA shell
packages/common                   Vue UI, editors, persistence
packages/data                     request/collection models
packages/kernel                   I/O and interceptors
packages/js-sandbox               pre-request / test scripts
packages/codemirror-lang-graphql  GraphQL editor language
packages/proxy                    CORS proxy + static SPA

What is not included

  • User login / OAuth / profile
  • Cloud sync, teams, shortcodes, Gist
  • Backend, admin, desktop, agent
  • Browser extension interceptor

Request-level auth (Bearer, Basic, API Key) remains in the REST editor.