NProgress
Minimalist slim progress bar for the top of the page, inspired by YouTube and Medium
Repository Health
Technical Analysis
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
1Panel
Devops · Hosting Control Panel · Monitoring
The only open-source VPS control panel with native AI agent runtime — deploy websites, Docker stacks, and local LLMs from one web interface.
Akaunting
Invoicing Finance
Open-source online accounting for small businesses and freelancers — invoices, expenses, and reporting without monthly fees or vendor lock-in.
Blinko
Knowledge Management · Note Taking
A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.
Convex Backend
Developer Tools · Databases
Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.
DataEase
Analytics · Data Engineering · AI Assistants
Open-source BI tool with drag-and-drop dashboards, 20+ data source connectors, and AI-powered natural language queries — a self-hosted alternative to Tableau.
FastGPT
AI Agents · AI Development
Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.
highlight.io
Developer Tools · Analytics · Monitoring
Open-source full-stack monitoring that unifies session replay, error tracking, logging, and distributed tracing so you can stop context-switching between tools.
Hoppscotch
Developer Tools
A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.
Infisical
Security · Devops
The open-source platform for secrets, certificates, privileged access, and AI agent security — all in one self-hostable system.