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

possiblyhuman

v0.1.1

Published

Humanity detection for the age of agents. The reverse Turing test.

Readme

possiblyhuman

Humanity detection for the age of agents. The reverse Turing test.

Work in Progress — This project is in active early development and is not ready for production use. APIs will change. Contributions and ideas welcome.

Instead of "prove you're human" (CAPTCHA), possiblyhuman asks a different question: how likely is this interaction human? — and answers with a continuous confidence score.

How it works

possiblyhuman is an invisible, client-side SDK that observes behavioral signals and produces a 0–1 humanity score. It combines:

  • Mouse dynamics — trajectory curvature, micro-corrections, click precision variance
  • Keystroke patterns — inter-key timing distributions, correction rates, typing bursts
  • Response timing — latency distributions, complexity correlation, fatigue effects
  • Honeypot traps — invisible elements that only bots interact with
  • Cognitive signals — challenges that exploit human cognitive constraints (coming soon)

Signals are fused using confidence-weighted averaging, producing a probabilistic assessment rather than a binary yes/no.

Quick start

npm install possiblyhuman
import { possiblyhuman } from "possiblyhuman";

const ph = possiblyhuman();
ph.start();

// After the user has interacted with the page...
const result = ph.assess();
if (result) {
  console.log(result.score);      // 0.0 = bot, 1.0 = human
  console.log(result.confidence); // how certain we are
}

CLI

npx possiblyhuman

Status

This is v0.1 scaffolding. The core architecture and detector modules are in place, but this is not yet production-ready. Key areas still in development:

  • [ ] Browser integration testing
  • [ ] React hooks (possiblyhuman/react)
  • [ ] Next.js middleware (possiblyhuman/next)
  • [ ] Server-side token verification with signing
  • [ ] Cognitive challenge module
  • [ ] Scroll and navigation detectors
  • [ ] Tuning and benchmarking against real bot traffic

License

MIT