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

@shikakun/konpeito

v0.5.0

Published

A self-hosted feed reader for Cloudflare Workers and D1

Readme

Konpeito

日本語

Konpeito (金平糖) is a feed reader that runs on Cloudflare Workers and D1. It consists of an API server and a web frontend.

It makes a few deliberate trade-offs: each server serves a single user, who signs in with a passkey. The result is simple and lightweight. It covers the essentials: RSS, Atom, RDF, and JSON Feed subscriptions; full-text extraction with Mozilla Readability; an image proxy; and full-text search. It is also compatible with the Google Reader API, so it can serve as a backend for clients such as Reeder Classic.

See it in action in the live demo: sample.konpeito.shikakun.com

Requirements

  • A Cloudflare account on the Workers Paid plan
    • Konpeito uses Cloudflare Queues to fetch feeds, and Queues is not available on the Workers Free plan.
    • Konpeito uses D1 as its database. At the scale of a single user, it is designed to stay within the free allowance included in the Paid plan.
  • Node.js 20 or later for running the installer
  • A web browser and device that support passkeys

Installation

npx @shikakun/konpeito@latest setup

The installer walks you through creating a Worker, a D1 database, and a queue in Cloudflare Queues, then deploys them. When the deployment finishes, it prints a URL containing a bootstrap token. Once you open that URL and register a passkey, you can sign in. Your answers are saved to ~/.config/konpeito/<worker-name>.json.

To run several servers on a single Cloudflare account, give each one its own Worker name, either at the installer's prompt or with the --name option. Each name gets its own Worker, D1 database, and queues.

npx @shikakun/konpeito@latest setup --name konpeito-alice
npx @shikakun/konpeito@latest setup --name konpeito-bob

Updating

npx @shikakun/konpeito@latest update

This fetches the latest source code, deploys it, and applies any pending database migrations.

If you run several servers on a single Cloudflare account, pick one with --name, or update all of them with --all. Without either, the installer asks which one to update.

npx @shikakun/konpeito@latest update --name konpeito-alice
npx @shikakun/konpeito@latest update --all

Access tokens

With an access token, Google Reader API–compatible clients can use Konpeito as their backend server. You can create and manage tokens in the settings or from the CLI.

npx @shikakun/konpeito@latest token create
npx @shikakun/konpeito@latest token list
npx @shikakun/konpeito@latest token delete <ID>

Access tokens can also be used to sign in to your server. If you lose your passkeys and can’t sign in, create a token that is allowed to sign in with token create --sign-in, and sign in with “Sign in with an access token” on the sign-in page. Then add a new passkey, and delete the lost passkey and the token you used to sign in.

License

Licensed under the MIT License, Copyright © 2026 @shikakun.

See LICENSE for more information.