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

@magicowls/feedbakkr-js

v0.2.5

Published

Framework-free JS embed for feedbakkr — one <script> tag, contextual feedback pins on any site.

Downloads

439

Readme

@magicowls/feedbakkr-js

Framework-free JS embed for feedbakkr — contextual, in-page feedback pins for any live site. One <script> tag, zero dependencies, works alongside any framework or none at all.

React app? Use @magicowls/feedbakkr-react instead.

Install

The drop-in <script> is the simplest path — pulls a single, minified IIFE (~24 KB) straight from unpkg:

<script
  src="https://unpkg.com/@magicowls/feedbakkr-js"
  data-site-id="fbk_pk_your_public_key_here"
  data-api-base="https://api.feedbakkr.io"
  defer
></script>

Auto-inits when the script executes. A floating "Give feedback" button appears bottom-right; visitors click it, pick any element on the page, leave a comment. Their feedback shows up pinned to that exact element in your feedbakkr admin dashboard.

From npm (for bundler users)

pnpm add @magicowls/feedbakkr-js
# or: npm install @magicowls/feedbakkr-js
import { init } from "@magicowls/feedbakkr-js";

init({
  siteId: "fbk_pk_your_public_key_here",
  apiBase: "https://api.feedbakkr.io",
});

Options

| Attribute / prop | Description | | -------------------- | --------------------------------------------------------------------------------------- | | data-site-id | Public key from site settings (fbk_pk_…). Required. | | data-api-base | API origin (usually https://api.feedbakkr.io). Required. | | data-launcher-color| Optional hex override for the launcher button background. |

Via init(options): siteId, apiBase, launcherColor (camelCase).

What reporters get

  • Click-to-pick overlay — they hover to highlight any element, click to pin
  • Comment form — category + comment + name/email (first time; subsequent submissions on the same site re-use the stored session)
  • Email-verified sessions via magic link (the email link never blocks the submission itself)
  • Their own pins render on every page load with the same custom tooltip

What admins get

From the admin dashboard's "Open in context" button, the SDK switches into read-only overlay mode with:

  • Fixed top banner explaining the mode
  • Every feedback item on the page rendered as a numbered pin, coloured by status (blue/amber/grey), with scaled-coord fallback + dashed outline when an element's selector no longer resolves
  • Click any pin → read-only detail modal
  • Live refresh every 30 s while the tab is visible (pauses when hidden)

Network behavior

The SDK talks only to the URL you pass as apiBase. No third-party calls, no analytics pingbacks, no telemetry.

Endpoints it hits:

| Method | Path | When | | ------ | -------------------------------- | --------------------------------------- | | GET | /v1/public/config | Once on load, reads site SDK config | | GET | /v1/public/feedback | Lists this reporter's own pins | | POST | /v1/public/feedback | New pinned comment | | PATCH | /v1/public/feedback/:id | Edit an existing own comment | | GET | /v1/admin-view/feedback | Only in admin "Open in context" mode |

Along with the comment payload the SDK sends a small client environment blob (browser / OS / deviceType / viewport) so admins can triage reports by device without asking the reporter what they were using.

Security

See SECURITY.md for vulnerability reporting.

Docs

Full setup walkthrough, webhooks, and config: admin.feedbakkr.io/docs.

License

MIT. Copyright (c) Alexander Miller trading as MagicOwls.