Skip to content
@concept-collection

Concept Collection - Proof of Concept Projects

Concept Collection

This is a collection of random small projects and demos, most of which can be run entirely in the web browser (client side). Many of them are centered around the numbl project.

MATLAB syntax in Jupyter, all in the browser

Here's a proof of concept for running MATLAB syntax in Jupyter entirely client side (no kernel, no server). It uses numbl and JupyterLite.

Interactive MCMC samplers

Here are a couple of demonstrations of MCMC samplers that you can watch run. They use numbl (MATLAB syntax in the browser) to do the sampling client-side in the browser. In the case of WALNUTS (the within-orbit adaptive leapfrog No-U-Turn Sampler), we use the exact MATLAB code that is a companion to the paper.

Embedding & hosting numbl projects

Here are a couple of projects that let you embed or host your own numbl/MATLAB projects entirely client side.

VS Code–style IDEs

Here are a couple of VS Code–style IDEs that run entirely in the browser: one for MATLAB syntax (via numbl), one for Stan.

surfacefun examples

Surfacefun is a MATLAB package for computing with functions defined on surfaces and solving PDEs on them to high order. Here are some examples that run surfacefun via numbl in the browser.

chunkie examples

Chunkie is a MATLAB package for solving boundary integral equations in two dimensions. Here are some examples that run chunkie via numbl in the browser.

Matrix multiplication benchmark

Here's a benchmark of matrix-matrix multiply (GEMM) in the browser across several implementations: a plain JavaScript loop, WebGPU, hand-written C compiled to WASM (SIMD and threads), and a real BLAS (libFLAME) compiled to WASM, with a native reference for comparison.

Lazy reading of remote HDF5 files

Here's a demo of reading large remote HDF5 files, such as NWB neurophysiology files, directly in the browser using HTTP range requests, with no full download and no backend. It shows the approach that neurosift uses to browse these files.

Scientific data compression

Here are a few projects on compressing scientific data: a step-by-step visualizer for the Asymmetric Numeral Systems (ANS) entropy-coding algorithm, a framework for benchmarking compression algorithms on scientific data arrays, and compression benchmarks for electrophysiology recordings.

Other projects

numbl platform: templates & tooling

Utilities and starting points for building your own numbl projects.

Peer-to-peer shared state

  • hitandrun-commonview (live). The hit-and-run figure with a single live view shared by all visitors over a WebRTC mesh; one peer runs the sampler via numbl and broadcasts to the rest.
  • commonview (live). A minimal peer-to-peer page where every visitor shares one state (a counter): nostr discovery, a WebRTC mesh, and a central-peer authority. The basis for hitandrun-commonview.

Geometry, meshing & PDE solvers

  • mesh-studio (live). Build CAD primitives or import STEP/IGES with OpenCASCADE.js, then inspect them in 3D — including each face's true NURBS surface (polynomials on faces), not just its triangulation.
  • mesh-converter (live). Convert meshes between 19 formats (PLY, OBJ, STL, VTK, Gmsh, XDMF, …) with meshio running in-browser on Pyodide; inspect meshes in 3D and see what a lossy export would drop.
  • qhull-wasm-demo (live). Demos and benchmarks for qhull-wasm, which compiles Qhull to WebAssembly. Includes 2-D Delaunay triangulation, 3-D convex hull, and a Delaunay benchmark with matching scripts for MATLAB, Octave, and numbl.
  • numbl-distmesh (live). Every example from Persson and Strang's DistMesh, meshing 2-D regions and surfaces from signed distance functions.
  • abc-step-1000 (live). The first 1000 STEP files from the ABC dataset of CAD models (Koch et al., CVPR 2019), served gzip-compressed with a JSON manifest for direct download.

Neurophysiology data & remote access

Physics & quantum systems

Image processing

  • numbl-image-filter (live). Upload an image, write a MATLAB-syntax filter, and run it on the image in the browser.

Number theory & visual math

  • finite-field-visualizer (live). Color-coded multiplication tables over finite (prime) fields. Step through the primes to watch the structure change.
  • gcd-visualizer (live). A heatmap of the greatest common divisor of every pair (i, j), laid out as a color-coded table.

Popular repositories Loading

  1. benchcompress benchcompress Public

    Benchmark compression algorithms for numeric arrays

    Python 1 2

  2. ans-visualizer ans-visualizer Public

    TypeScript 1

  3. dandiset_000986 dandiset_000986 Public

    Python

  4. finite-field-visualizer finite-field-visualizer Public

    TypeScript

  5. gcd-visualizer gcd-visualizer Public

    TypeScript

  6. proofery proofery Public

    Mathematical proof verification system (WIP)

    TypeScript

Repositories

Showing 10 of 40 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…