NProgress

Minimalist slim progress bar for the top of the page, inspired by YouTube and Medium

Library
npm
v0.2.0
26,344 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
48 /100 Fair
Development Activity 0
Maintenance 20
Community 72
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
65 /100 Good
Architecture 55
Code Quality 60
Innovation 55
Learning Curve 90

NProgress is a small vanilla-JavaScript library that renders a slim, YouTube/Medium-style progress bar at the top of the page to give users visual feedback during page transitions or Ajax requests. It exposes a tiny imperative API (start(), done(), set(), inc()) that lets any framework or routing library drive the bar’s progress without needing a build step or dependency on a specific UI framework.

The library ships as a single JS file plus a companion CSS file, is configurable (easing, speed, minimum starting percentage, spinner visibility, trickle behavior, parent container), and integrates easily with Turbolinks, Pjax, or custom Ajax event hooks. It has been a long-standing default choice for adding a subtle loading indicator to server-rendered and SPA-style web applications alike.

What You Get

  • A simple imperative API — start(), done(), set(n), inc() — to drive a top-of-page progress bar
  • A companion CSS file defining the bar’s appearance, easily customized by editing a handful of styles
  • Configurable behavior: minimum starting percentage, easing curve, animation speed, trickle auto-increment, spinner visibility, and parent container
  • Framework-agnostic design that hooks into Turbolinks, Pjax, or custom Ajax start/stop events
  • Zero dependencies and a tiny footprint suitable for both legacy multi-page apps and modern SPAs

Common Use Cases

  • Showing a loading indicator during client-side route transitions in a single-page application
  • Providing visual feedback while an Ajax request or form submission is in progress
  • Wiring into Turbolinks or Pjax navigation events for classic server-rendered Rails/Django-style apps
  • Adding a lightweight, dependency-free loading affordance without pulling in a full UI component library

Under The Hood

Architecture - NProgress is intentionally minimal: a single ~500-line nprogress.js file exposes a module-style singleton (NProgress) that manages internal status state and DOM manipulation directly, injecting and animating a bar element (and optional spinner) matched against a role='bar' template string, with no virtual DOM or framework dependency. Tech Stack - Plain vanilla JavaScript with a UMD-style wrapper for compatibility across CommonJS, AMD, and global-script usage; distributed via npm, Bower, and CDNs (unpkg, jsDelivr); a companion nprogress.css file handles all visual styling and transitions via CSS. Code Quality - The codebase is small and readable, with a test/test.js suite covering the core start/done/set/inc behaviors; being feature-frozen since its last release (2020) the code has had years to stabilize, though it predates modern build tooling and ships largely as-is. API Design - The API is deliberately tiny and memorable (start, done, set, inc, configure), requiring almost no boilerplate to integrate — a large part of its long-running popularity — though its imperative, singleton-based design contrasts with declarative component patterns used in modern frameworks.

Used by 16 apps in this directory

Elixir
71%
AGPL 3.0

Keila

Marketing

2,246

Self-hosted newsletter platform with a visual block editor, Liquid personalization, and flexible email delivery — a privacy-respecting Mailchimp alternative you run on your own infrastructure.

View details
87
Repo Health
76
Technical
66
Dependency
Built with
Elixir 71%
HTML 18%
Updated 1 weeks ago
Java
56%
Apache 2.0

Kestra

Automation · Data Engineering · Devops

29,967

Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.

View details
94
Repo Health
81
Technical
69
Dependency
Built with
Java 56%
TypeScript 29%
Vue 14%
Updated 1 weeks ago
Python
45%
GPL 3.0

MaxKB

AI Development · Knowledge Management

23,022

Build enterprise-grade AI agents with RAG, workflows & multi-modal support

View details
92
Repo Health
68
Technical
66
Dependency
Built with
Python 45%
Vue 37%
TypeScript 17%
Updated 1 weeks ago
Vue
49%
MIT

Mixpost

Marketing · Social Media

3,854

Self-host your own social media scheduler and publish to 11 platforms without subscriptions or data lock-in.

View details
50
Repo Health
64
Technical
71
Dependency
Built with
Vue 49%
PHP 44%
Updated 7 months ago
JavaScript
88%
GPL 3.0

NodeBB

Community

15,242

Modern Node.js forum software with real-time WebSockets, multi-database support, and a plugin ecosystem — the community platform built for the open web and the Fediverse.

View details
97
Repo Health
78
Technical
70
Dependency
Built with
JavaScript 88%
Go Template 11%
Updated 6 days ago
Elixir
55%
Other

Operately

AI Assistants · Collaboration · Productivity

592

The open source company operating system that unifies OKRs, projects, and team execution with built-in accountability cadences.

View details
86
Repo Health
80
Technical
74
Dependency
Built with
Elixir 55%
TypeScript 44%
Updated 1 weeks ago
TypeScript
99%
Other

Teable

Databases · No Code Platforms

21,920

A no-code PostgreSQL database with spreadsheet UX, real-time collaboration, and native AI agents — built for teams that outgrow Airtable.

View details
78
Repo Health
76
Technical
62
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers