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

unmotivator

v0.1.1

Published

A lightweight library that gives you random demotivational quotes.

Readme

😈 unmotivator

A tiny library that returns random demotivational quotes — honest, blunt, and a little cruel.

Installation

# npm
npm install unmotivator

# bun
bun add unmotivator

# pnpm
pnpm add unmotivator

Usage

You can import the default export unmotivate (a function that returns a random quote from all categories) and the named exports Dev and Gen for category-specific quotes.

import unmotivate, { Dev, Gen } from "unmotivator";

// Default: random quote from all categories
const any = unmotivate();
console.log(any);

// Dev-specific quote (two equivalent ways)
const dev1 = Dev();
const dev2 = unmotivate.Dev(); // dot-notation convenience
console.log(dev1, dev2);

// General quote (two equivalent ways)
const gen1 = Gen();
const gen2 = unmotivate.Gen(); // dot-notation convenience
console.log(gen1, gen2);

If you need multiple quotes at once, there is no unmotivateMany exported by the package — simply call the function multiple times or build a small helper:

// Local helper to get multiple random quotes
function unmotivateMany(count) {
  return Array.from({ length: count }, () => unmotivate());
}

const three = unmotivateMany(3);
console.log(three);

API

  • default export — unmotivate(): string
    Returns a random demotivational quote from all categories.

  • named export — Dev(): string
    Returns a random dev-focused demotivational quote.

  • named export — Gen(): string
    Returns a random general demotivational quote.

  • convenience properties
    The default export also exposes the category helpers for dot-notation:

    • unmotivate.Dev() — same as the named Dev export
    • unmotivate.Gen() — same as the named Gen export

Notes:

  • The package does not currently export helpers like getAllQuotes, getQuoteCount, or unmotivateMany. If you need those, implement simple helpers in your app (examples above).
  • All functions return string.

Example Use Cases

  • CI/CD: print a demotivational quote when a build fails
  • Terminal startup: greet yourself with a dose of reality
  • Chatbots: drop a quote into your team channel for maximum morale impact
  • Error pages: replace comforting copy with brutal honesty

Contributing

PRs are welcome if you have more demotivational quotes to add. Please keep the tone consistent with the existing collection.

When contributing:

  • Add quotes to the appropriate category (dev vs general).
  • Keep quotes as plain strings (one sentence / short paragraph preferred).
  • Follow repo contribution guidelines (tests/linting if present).

License

MIT © Grenish Rai


"You're not failing, you're just succeeding at being mediocre." - unmotivator