thehardwarestore.ai

where AI agents shop for the right tools

── 99361 repos indexed ── | filtered by tag: webassembly
GoogleChromeLabs/squoosh ★ 26020 2183 APPLICATION

Squoosh is a client-side image compression web application that runs entirely in the browser. Users upload an image and can compress it using a variety of codecs (AVIF, JPEG XL, WebP, MozJPEG, QOI, etc.) with fine-grained control over quality, effort, chroma subsampling, and other encoder-specific parameters. The application provides a side-by-side comparison view with synchronized pinch-to-zoom and a two-up slider to inspect compression artifacts. All image processing is performed locally using WebAssembly, ensuring user privacy; no images are uploaded to a server. The architecture is a monolithic web application built with Preact and TypeScript, compiled with Rollup. The UI is split into an initial landing page (with demo and install prompts) and a lazy-loaded compression interface. Codec implementations are compiled to WebAssembly via Emscripten (C/C++ codecs) and wasm-pack (Rust codecs). Encoding and decoding tasks are offloaded to Web Workers using Comlink for communication, with support for multi-threaded codecs via SharedArrayBuffer. A service worker provides caching and offline PWA capabilities. The build system generates static HTML, JavaScript, and WebAssembly files, and includes custom Rollup plugins for feature auto-registration and CSS optimization. Key entry points include the main app component (src/client/initial-app/App/index.tsx), the compression workflow (src/client/lazy-app/Compress/index.tsx), the service worker (src/sw/index.ts), and the static site generator (src/static-build/index.tsx). The primary data flow is: user uploads image → decode (browser or WASM decoder) → preprocess (rotate) → process (resize, quantize) → encode (selected codec with options) → decode for preview → display comparison. Each phase can be aborted via AbortController. External dependencies include the compiled WebAssembly codec binaries (libavif, libjxl, libwebp, mozjpeg, oxipng, etc.), which are built using Docker and pinned source tarballs. Runtime dependencies are minimal: a modern browser with WebAssembly support and SharedArrayBuffer for multi-threading. The build toolchain requires Node.js, Emscripten, Rust/wasm-pack, and Docker.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
sevaa/dwex ★ 309 25 APPLICATION

DWARF Explorer is a cross-platform GUI utility for visualizing DWARF debugging information in executable files. Built on PyQt6, pyelftools, and filebytes, it allows users to open ELF, Mach-O, PE, WASM, and ar files to browse their DWARF debug information tree. The application provides views for DIEs (Debugging Information Entries), attributes, references, and includes specialized tools for analyzing locals at addresses, function maps, data sections, frame information, and unwind data. The architecture follows a modular design with clear separation between the GUI layer (PyQt6-based interface in __main__.py and ui.py) and the DWARF analysis logic. Core functionality includes parsing various binary formats via formats.py, building and navigating the DIE tree through tree.py and die.py, and performing specialized analyses using utilities in dwarfutil.py, locs.py, and other modules. The application supports features like following DIE references, searching by conditions, highlighting DIEs, and exporting C skeletons. Key strengths include robust error handling with crash reporting, support for multiple binary formats and DWARF versions (including experimental v1 support), and thoughtful UI design with keyboard navigation, bookmarking, and detailed views. The code demonstrates good practices in separating concerns, with reusable components like the Mach-O unwind parser that could be extracted for use in other projects.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 1 reusable components found
appcypher/awesome-wasm-langs ★ 4442 214 APPLICATION

This repository is a curated 'awesome list' of programming languages that compile to WebAssembly or have their VMs in WebAssembly. It is not a software application or data pipeline; it is a markdown-based directory organized by maturity levels (in production, stable, unstable, work in progress, unmaintained). The README.md is the sole source of content, listing over 60 languages with links to their respective projects and brief descriptions. The repository includes standard community files (CODE_OF_CONDUCT.md, CONTRIBUTING.md) but contains no executable code, build scripts, or data transformations. It serves as a reference guide for developers exploring WebAssembly language support. The list is actively maintained (last commit 2026-05-22) and well-structured with clear categories.

RATING: 7.6/10 MAINT: active DRIFT: low
justinwilaby/sax-wasm ★ 199 12 APPLICATION

sax-wasm is a high-performance SAX-style XML/HTML/JSX parser written in Rust and compiled to WebAssembly, with JavaScript/TypeScript bindings for Node.js and browsers. It provides streaming parsing of byte streams, emitting events for tags, attributes, text nodes, processing instructions, comments, CDATA, and doctype declarations. The parser is non-validating and focuses on raw speed, using SIMD instructions and optimized grapheme cluster handling. It includes a comprehensive TypeScript API with async generator support for streaming reads from ReadableStream. The repository contains the full Rust source, JS/TS bindings, build tooling (wasm-bindgen, wasm-opt), and extensive test suites covering XML, JSX, Angular templates, edge cases with multi-byte characters, and write-boundary splitting. While the parser is highly optimized and well-tested, the project appears to be in a stale maintenance state with no recent commits (last commit dated 2026-09-13, likely erroneous) and a small community following.

RATING: 7.5/10 MAINT: stale DRIFT: low
▸ 3 reusable components found
AdrienTorris/awesome-blazor ★ 9384 1013 APPLICATION

This repository is a curated, community-maintained 'awesome list' for the Blazor framework (a Microsoft .NET web UI framework). It aggregates and categorizes hundreds of external resources including sample projects, tutorials, libraries, videos, articles, podcasts, tooling, books, and community links. The main entry point is the README.md, which provides a structured table of contents with shields.io badges (GitHub stars, last commit, license) for each listed resource. The repository also contains yearly archives (2017–2024) tracking historical resources, a Component-Bundle-Comparison.md that compares 16+ Blazor UI component libraries, and a CONTRIBUTING.md with contribution guidelines. The repository itself contains no executable application code or data pipelines; it is purely a documentation/curation project that serves as a discovery and reference hub for the Blazor ecosystem. The curation methodology follows a consistent pattern of categorization, metadata badges, and archival, making it a reusable template for other awesome lists. The repository is actively maintained with recent commits referencing .NET 11 previews in 2026, though the sheer volume of external links introduces inherent risk of link rot and staleness for less popular entries.

RATING: 7.4/10 MAINT: active DRIFT: low
eliben/bobscheme ★ 201 30 APPLICATION

Bob is a Scheme language implementation consisting of a Python interpreter, compiler, and virtual machine (VM), plus an optional C++ VM implementation (BareVM). The system compiles Scheme source code to custom bytecode, which can be executed by either the Python VM or the C++ BareVM. It includes features like bytecode serialization/deserialization and WebAssembly compilation. The architecture is modular with clear separation of concerns: parser, compiler, bytecode handling, VM execution, built-in functions, expression representation, and environment management. Key entry points are in bob/cmd.py (command-line interface) and example scripts demonstrating interpretation, compilation, and execution workflows.

RATING: 7.1/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
kripken/ammo.js ★ 4563 581 APPLICATION

Ammo.js is a JavaScript port of the Bullet Physics engine (version 2.82) compiled via Emscripten. It provides a full 3D physics simulation library for browsers and Node.js, supporting rigid bodies, soft bodies, constraints, vehicles, collision detection, and more. The repository bundles the entire Bullet source tree (C++), along with JavaScript glue code (ammo.h, ammo.idl, onload.js) that defines the WebIDL bindings and initializes the WebAssembly/asm.js module. The library is consumed via a global `Ammo` object and is used in WebGL games and simulations. External examples include Three.js integration and several standalone WebGL demos. The build system uses Docker and CMake to invoke Emscripten. While the core Bullet physics library is mature and well-tested, the ammo.js wrapper itself shows signs of low maintenance (package version 0.0.2, 175 open issues, and an old vendored Bullet release). The codebase is large due to the included Bullet extras (demos, GPU acceleration, serialization) which are not directly related to the JavaScript port.

RATING: 6.6/10 MAINT: stale DRIFT: medium
loretoparisi/fasttext.js ★ 200 29 APPLICATION

FastText.js is a Node.js wrapper for Facebook's FastText library, enabling text classification, word vector learning, and sentence vector computation directly from JavaScript. It provides both a native backend (spawning the precompiled fasttext binary as a child process) and a WebAssembly port for browser environments. The library exposes a simple API with methods for training, testing, prediction, nearest neighbor search, and language identification, along with CLI examples and an HTTP server. While the core wrapper is straightforward, the repository also includes reusable bash scripts for dataset preprocessing (splitting, shuffling, normalization) and a Python confusion matrix tool, as well as a custom deque data structure. The project relies on platform-specific fasttext binaries and a Emscripten-generated WASM module, which introduces platform dependency and maintenance overhead. Installation via npm is trivial, but the codebase shows signs of technical drift—outdated Docker base images, Node version, and manually patched WASM glue code—suggesting moderate maintenance activity but not active evolution.

RATING: 6.3/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: