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-react

v0.2.4

Published

React SDK for feedbakkr — contextual, in-page feedback pins for any live site.

Downloads

424

Readme

@magicowls/feedbakkr-react

React SDK for feedbakkr — contextual, in-page feedback pins for any live site. Visitors point at any element on the page and leave a comment; it's anchored to that exact element with a CSS selector plus coords as a fallback.

Install

pnpm add @magicowls/feedbakkr-react
# or: npm install @magicowls/feedbakkr-react
# or: yarn add @magicowls/feedbakkr-react

React 18 or 19 is expected as a peer dep.

Quick start

Grab a public key from the admin dashboard at admin.feedbakkr.io and wrap your app:

import { FeedbackProvider } from "@magicowls/feedbakkr-react";

export function Root() {
  return (
    <FeedbackProvider
      siteId="fbk_pk_your_public_key_here"
      apiBase="https://api.feedbakkr.io"
    >
      <App />
    </FeedbackProvider>
  );
}

A floating Give feedback button appears in the corner. Visitors click it, pick an element, leave a comment. First-timers verify via magic link; after that, feedback shows up in the admin dashboard pinned to the element they clicked.

Options

| Prop | Type | Description | | --------------- | ---------- | --------------------------------------------------------------------------- | | siteId | string | Public key from site settings (fbk_pk_...). Required. | | apiBase | string | API origin (usually https://api.feedbakkr.io). Required. | | launcherColor | string? | Hex override for the launcher button background. Overrides the site-level setting. |

Colour also configurable per-site from the admin dashboard — the prop is for when the same site is embedded in multiple themed apps.

Network behavior

feedbakkr is a thin client for a single, configurable backend. It talks only to the URL you pass as apiBase on the provider — there are no third-party calls, no analytics pingbacks, no telemetry.

| Method | Path | Purpose | | ------ | -------------------------------- | ---------------------------------------------------------------------- | | GET | /v1/public/config | Reads site SDK config (categories, launcher colour, verification rule) | | GET | /v1/public/feedback | Lists this reporter's own feedback for the current page | | POST | /v1/public/feedback | Submits a new pinned comment | | PATCH | /v1/public/feedback/:id | Edits an existing own-feedback item | | POST | /v1/public/sessions/resend | Re-issues the magic-link email when a reporter asks | | GET | /v1/admin-view/feedback | Called only when an admin opens the page via "View in context" |

Data sent: your siteId (public key), the reporter's name + email (once, on first submit), the comment text, and anchoring metadata (CSS selector + viewport coords + page URL/title). Admins' session tokens travel in the Authorization header when in admin-view mode.

Data never sent: third-party trackers, DOM screenshots, host-site cookies, or anything beyond the headers a normal fetch already carries.

Point apiBase at your own deployment to self-host — the SDK never calls feedbakkr.io unless you ask it to.

Security

See SECURITY.md for how to report vulnerabilities and what's in scope.

Sizing

~60 KB gzipped. Inline-styled so it doesn't fight your design system. One provider, one public key, done.

Bundle

ESM + CJS + TypeScript definitions. Side-effect free.

Docs

Full setup walkthrough, webhooks, and configuration at admin.feedbakkr.io/docs.

License

MIT