Discover npm packages you didn't know you needed.
There are thousands of excellent npm packages that most developers never find out about — until they stumble across one on LinkedIn at 2am after hours of frustration. This repository changes that.
awesome-js-starters is a community-curated collection where developers share packages they've personally used, with real-world context, code examples, and screenshots. No fluff, no AI-generated lists — only packages that real people have shipped to production.
Building HTML emails with raw CSS? Hours of fighting compatibility bugs across Gmail, Outlook, and Apple Mail — then someone mentions react-email in a LinkedIn post and your entire week changes. That moment of discovery shouldn't be left to luck.
Don't want to browse manually? Use our AI-powered search to describe what you need in plain English and get matched with the right package.
Powered by Groq + Llama 3 — you can also bring your own API key for unlimited searches.
| Ecosystem | Folder | Packages |
|---|---|---|
| React | packages/react/ | 40 |
| Angular | packages/angular/ | 13 |
| Vue.js | packages/vue/ | 14 |
| Node.js | packages/node/ | 27 |
| Express.js | packages/express/ | 14 |
| Fastify | packages/fastify/ | 13 |
| General JavaScript | packages/general-js/ | 56 |
| Package | Category | What It Solves |
|---|---|---|
| react-email | React | Build cross-client compatible HTML emails with React components |
| swr | React | Data fetching with caching, deduplication, and automatic revalidation |
| @vercel/analytics | React | Privacy-first, cookie-free analytics with zero config |
| flags | React | Provider-agnostic feature flags SDK — toggle features without redeploys |
| nuqs | React | Type-safe URL search params as React state |
| milkdown | React | Plugin-driven Markdown WYSIWYG editor for React |
| @vercel/blob | Node.js | Globally distributed file storage with a 3-line API |
| @vercel/edge-config | Node.js | Sub-millisecond global key-value reads for config and feature flags |
| @vercel/functions | Node.js | Geolocation, IP detection, and background tasks for Vercel functions |
| turbo | Node.js | Monorepo build system with smart caching — only rebuilds what changed |
| ai (Vercel AI SDK) | General JS | Unified API for 20+ LLM providers — switch models without rewriting code |
| lenis | General JS | Lightweight smooth scroll library — no jank, no bulk |
| valibot | General JS | Tiny, tree-shakeable schema validation — Zod alternative at ~10x smaller bundle |
| jsPDF | General JS | Client-side PDF generation — create and download PDFs without a server |
| AOS | General JS | Scroll-triggered animations — fade, slide, and zoom elements into view |
| Drizzle ORM | General JS | Type-safe ORM that feels like raw SQL — fast, lightweight, no overhead |
| ECharts | General JS | Professional interactive charts and data visualizations |
| Fuse.js | General JS | Lightweight fuzzy search — find results even with typos |
| Hono | General JS | Tiny, lightning-fast web framework built for the edge |
| Ky | General JS | Elegant HTTP client — a friendlier, more powerful fetch wrapper |
| Marked | General JS | High-speed Markdown to HTML conversion |
| gsap | General JS | Professional-grade animation engine — timelines, tweens, and scroll effects |
| anime.js | General JS | Lightweight animation library with a tiny footprint and expressive API |
| @react-spring/web | React | Spring-physics animations — fluid, interruptible motion instead of rigid durations |
| lottie-react | React | Render After Effects animations exported as Lottie JSON, with full playback control |
| @formkit/auto-animate | General JS | One-line automatic transitions for adds, removes, and moves |
| xstate | General JS | State machines and statecharts — make impossible states impossible |
| @reduxjs/toolkit | React | The official, opinionated Redux toolset — cuts the boilerplate |
| valtio | React | Proxy-based state — mutate a plain object, components re-render |
| nanostores | General JS | Tiny (~1kb) framework-agnostic state manager for many small stores |
| recoil | React | Atoms and selectors for shared and derived React state |
| @casl/ability | General JS | Isomorphic authorization — define what a user can do once, enforce everywhere |
| next-auth | React | Complete authentication for Next.js — OAuth, email, and credentials |
| accesscontrol | Node.js | Role and attribute based access control (RBAC + ABAC) with a fluent API |
| casbin | Node.js | Flexible authorization — RBAC, ABAC, and ACL via configurable policy models |
| jose | Node.js | Zero-dependency JWT/JWE/JWS/JWK toolkit for Node, browsers, and the edge |
| class-variance-authority | General JS | Type-safe, variant-driven class names — the styling backbone behind shadcn/ui |
| tailwind-variants | General JS | Variant API for Tailwind with class-conflict resolution and slots |
| next-themes | React | Perfect dark mode with zero flash — the theme switcher shadcn/ui recommends |
| input-otp | React | Accessible one-time-password input — the OTP field used by shadcn/ui |
| @radix-ui/react-popover | React | Unstyled, accessible popover primitive behind shadcn/ui's Popover |
How do I find the right package? Use our AI-powered search app — describe your problem in plain English and get matched with packages from the catalog.
What if the package I want isn't listed? Open an issue to suggest it, or submit a PR yourself.
Can I submit my own package? Yes! Just be honest about trade-offs and caveats. See the contributing guide for details.
How is this different from other awesome lists? Each package includes a real problem statement, working code examples, and context from a developer who actually shipped it. Plus, we have an AI-powered search to help you find what you need.
Found a package that saved you hours? Share it.
See CONTRIBUTING.md for the full guide. The short version:
- Fork this repo
- Create
packages/<category>/<package-name>/README.md - Fill in the template (problem, install, example, links)
- Open a pull request
Good submissions include:
- The problem that led you to this package
- A code snippet showing real usage
- A screenshot or gif if the package has a UI
- GitHub Discussions — ask questions, suggest packages, or share feedback
- Suggest a package — know a gem but don't have time to write the full entry?
- Code of Conduct — community guidelines for respectful collaboration
All contributions are welcome.