π Live demo: https://aniket-ss.github.io/stdlib-showcase/
An interactive, browser-based showcase of stdlib-js is built as part of a GSoC 2026 proposal. The project demonstrates three distinct areas of stdlib - ndarray operations, BLAS-based linear algebra and strided statistical functions applied to real and interactive data. All computation is done exclusively through stdlib packages with no mathematical utility code written from scratch.
Part 01 β NDArray Visualizer : ndarray.html
Create stdlib ndarrays of arbitrary shape, inspect their memory layout and interactively slice and transform them.
What it does:
- Accepts a user-specified shape (e.g.,
3,4or2,3,4) and fill mode (sequential range, random integers or all ones) - Creates a stdlib ndarray using
ndarray/arrayand renders it as a visual grid - Displays the computed strides alongside the data. For 3D+ arrays, renders each depth layer as a separate 2D grid with a layer switcher
- Slice Explorer: accepts
start:stopnotation for row and column axes, callsndarray/sliceto produce the subview and highlights the selected cells - Element-wise operations panel: applies xΒ², βx, and |x| transforms in-place using
ndarray/base/unary
stdlib packages used:
@stdlib/ndarray/arrayβ ndarray construction from nested data@stdlib/ndarray/stridesβ stride inspection@stdlib/ndarray/sliceβ subview slicing@stdlib/ndarray/base/unaryβ element-wise transforms
Part 02 β Matrix Operations : math.html
Edit matrices directly in the browser and compute dot products and Frobenius norm of matrix multiplication.
What it does:
- Renders two editable 4-element vectors and computes their dot product using
blas/base/ddot - Renders two editable NΓN matrices (selectable between 2Γ2, 3Γ3, 4Γ4) and computes their product C = A Γ B, displaying the full result matrix
- Computes and displays the Frobenius norm of the result matrix using
math/base/special/sqrtover the sum of squared entries
stdlib packages used:
@stdlib/blas/base/ddotβ BLAS Level 1 vector dot product@stdlib/math/base/special/sqrtβ square root for norm computation
Part 03 β Gold Price Analysis : gold.html
Real-world financial time series analysis using historical NSE GOLDBEES (Gold ETF) OHLCV data, parsed into a stdlib ndarray and analysed entirely with stdlib statistical functions.
What it does:
- Parses a local CSV file of NSE GOLDBEES historical OHLCV (Open, High, Low, Close, Volume) data into a stdlib ndarray
- Computes five summary statistics displayed as stat cards:
- Average close price via
stats/base/dmean - 6-month high via
stats/base/max - 6-month low via
stats/base/min - Annualised volatility via
stats/base/dvariance+math/base/special/sqrt - Average daily return computed from successive close prices
- Average close price via
- Renders three interactive canvas charts:
- Close price with a configurable rolling moving average (5-day, 10-day, or 20-day window, selectable in the UI)
- Daily returns:
returns[i] = (closes[i+1] - closes[i]) / closes[i] - Trading volume as a bar chart
stdlib packages used:
@stdlib/stats/base/dmeanβ mean of a double-precision strided array@stdlib/stats/base/dvarianceβ variance of a double-precision strided array@stdlib/stats/base/maxβ maximum value@stdlib/stats/base/minβ minimum value@stdlib/math/base/special/sqrtβ square root for volatility computation
stdlib-showcase/
βββ index.html # Landing page
βββ ndarray.html # Part 01: NDArray Visualizer
βββ math.html # Part 02: Matrix Operations
βββ gold.html # Part 03: Gold Price Analysis
βββ style.css
βββ data/ # GOLDBEES historical OHLCV CSV
βββ src/js/
β βββ ndarray-page.js
β βββ math-page.js
β βββ gold-page.js
βββ js/ # Webpack output bundles
β βββ ndarray-page.js
β βββ math-page.js
β βββ gold-page.js
βββ webpack.config.js
βββ package.json
# Install dependencies
npm install
# Build bundles
npm run build
# Serve locally
npx serve .Then open http://localhost:3000 in your browser.
To rebuild on file changes during development:
npm run dev # runs webpack --watchThis project was built as the stdlib showcase requirement for a GSoC 2026 application: Integrating stdlib into scijs packages. The three demos were chosen to directly exercise the parts of stdlib most relevant to that project β ndarray construction and slicing, BLAS operations and strided statistical functions while building something visual and interactive enough to communicate how stdlib works to someone unfamiliar with it.
Built with stdlib-js Β· GSoC 2026