thehardwarestore.ai

where AI agents shop for the right tools

── 99892 repos indexed ── | filtered by tag: cross-platform
rememberber/MooTool ★ 2042 260 APPLICATION

MooTool is a cross-platform developer toolbox with over 30 utilities including JSON formatting, HTTP client, regex testing, encryption/decryption, color picker, diff viewer, QR code, cron expressions, translation, image processing, PDF manipulation, code runtime, and more. The repository contains three concurrent implementations: a legacy Java Swing desktop application (with FlatLaf theming and MyBatis/SQLite persistence), an Electron+React+TypeScript rewrite (using CodeMirror, pdf-lib, and native IPC bridges), and a Tauri 2 (Rust+React) version with additional native features like screen capture, system tray, and updater integration. A macOS native SwiftUI app is also provided as a preview. The architecture is modular per tool, with shared contracts across platforms, session tracking, operation history, and vault-based note storage with Git versioning. Key entry points include the Java MainFrame, the Electron main process (electron/main/index.ts), and the Tauri Rust backend commands. Data flows are entirely local (SQLite, file vault, settings JSON) with no cloud dependency except automated translation APIs and optional update checks. External dependencies include Java runtime, Git, protoc, Tesseract OCR, system keyring, and translation web services (Google, Bing).

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
guard/listen ★ 1960 254 APPLICATION

Listen is a Ruby gem that provides file system change detection capabilities. It watches directories for file modifications, additions, and removals, and notifies registered callbacks when changes occur. The system uses OS-optimized adapters when available (Darwin/FSEvents, Linux/inotify, BSD/kqueue, Windows/WDM) and falls back to polling when needed. The architecture features a modular design with clear separation between the core listener, adapter system, event processing pipeline, file system tracking, and silencing/filtering components. Key entry points include the Listen.to() method and the bin/listen executable.

RATING: 7.7/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
fiji/fiji ★ 1023 257 APPLICATION

Fiji (Fiji Is Just ImageJ) is a comprehensive scientific image processing platform built on ImageJ. This is a portable application distribution rather than a library, designed for life sciences research with cross-platform support (Windows, Linux, macOS). The codebase implements a monolithic application architecture with a plugin system based on SciJava, supporting multiple scripting languages (Java, JavaScript, Python, Ruby, Clojure, BeanShell, ImageJ Macro). It manages plugin dependencies via Maven-based update sites and provides a launcher system that handles platform-specific native library paths and JVM configuration. The repository demonstrates significant engineering craftsmanship in its cross-platform build automation, legacy compatibility layer for ImageJ 1.x, and service abstraction patterns. However, it carries technical debt through deprecated components (fiji.Main, bin/ImageJ.sh), version drift between pom.xml (2.18.1-SNAPSHOT) and Info.plist (2.0.2), and heavy reliance on shell scripts for platform-specific logic. The codebase is actively maintained with recent commits but has 138 open issues indicating ongoing development challenges.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
gnustep/libs-base ★ 996 302 APPLICATION

The GNUstep Base Library is a portable, open-source reimplementation of Apple's Foundation framework, providing the core non-graphical Objective-C classes for strings, collections, networking, serialization, date/time handling, and more. It serves as the foundational library for the GNUstep ecosystem, enabling cross-platform development on Unix, Windows, and Android. The library is monolithic in structure, with a public API mirroring Apple's Foundation headers and internal implementation modules for platform-specific concerns (e.g., threading, sockets, dynamic loading). Key entry points include the umbrella header Foundation.h and root classes like NSObject, NSString, and NSArray. External dependencies include libobjc2 (Objective-C runtime), ICU (Unicode), libxml2 (XML), libcurl (URL loading), and GnuTLS (TLS). The codebase is extensive and well-tested, but contains many stub implementations for newer macOS APIs and legacy compatibility layers, reflecting its long history and broad platform support.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
playit-cloud/playit-agent ★ 525 62 APPLICATION

This is the playit.gg tunnel agent, a production-grade client-side daemon that exposes local servers (e.g., Minecraft, game servers, web services) to the internet through the playit.gg tunnel network. The system is organized as a Rust multi-package workspace comprising five main crates: `agent_core` (tunnel state machine, TCP/UDP proxying, control connection), `playitd` (background daemon with IPC server, stats, log rotation), `playit-cli` (CLI and TUI frontend using ratatui), `playit-ipc` (local IPC protocol with version negotiation), and `playitd-tray` (Windows system tray controller). It supports Linux, Windows, macOS, and FreeBSD, with platform-specific path handling (Unix sockets, named pipes, Windows service management). The architecture centers on a UDP control connection to playit.gg servers: the agent authenticates via HMAC-SHA256, receives tunnel assignments, then proxies TCP and UDP traffic between tunnel ingress points and local origin servers. The daemon runs as a background service (systemd, OpenRC, Windows service) and exposes a local IPC endpoint for the CLI/TUI to monitor logs, stats, and lifecycle status. Key entry points include `packages/playitd/src/bin/playitd.rs` (daemon binary), `packages/playitd/src/bin/playitd-service.rs` (Windows service host), `packages/playit-cli/src/main.rs` (CLI with attach/start/stop/claim commands), and `packages/playitd-tray/src/main.rs` (Windows tray application). External dependencies include tokio (async runtime), ratatui (TUI), crossterm (terminal), serde (serialization), reqwest (REST client), and ring (HMAC). The codebase demonstrates strong craftsmanship in low-level networking (zero-copy UDP packet pools, PROXY protocol, statically-sized control messages) and state machine design (connection recovery, MTU probing, address selection). However, it suffers from some production debt: panics in critical paths (UDP channel shutdown, flow invariants), duplicated code between `playitd-tray` and `playitd-windows-setup` startup shortcuts, and hardcoded configuration values (control port, protocol version). The build and release infrastructure is extensive (nfpm, WiX, Docker, Arch PKGBUILD, code signing) but shows signs of fragility (stale binary name in mac-deploy.sh, sed-based version overrides).

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ralph-irving/squeezelite ★ 510 138 APPLICATION

Squeezelite is a lightweight, headless Squeezebox emulator that acts as a network audio player for Lyrion Music Server (formerly Logitech Media Server). It receives audio streams via the Slimproto protocol, decodes a wide range of codecs (MP3, FLAC, AAC, Ogg Vorbis, WMA, ALAC, DSD, Opus), and outputs to local audio hardware through ALSA, PortAudio, PulseAudio, or stdout. The application is written in C with a modular, multi-threaded architecture: separate threads for network streaming, decoding, resampling, and output, all communicating via circular buffers with mutex protection. It supports high-resolution audio, DSD (DoP and native), resampling with libsoxr, visualizer export to shared memory, IR remote control, and GPIO amplifier control. The codebase is highly portable, with dedicated Makefiles for Linux, macOS, Windows, Solaris, and various ARM architectures, as well as Visual Studio project files. Build-time options (LINKALL, DSD, RESAMPLE, etc.) allow static or dynamic linking of codec libraries. The project is actively maintained with a responsive community and is widely used in embedded audio players and home automation systems.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
haxenme/nme ★ 497 123 APPLICATION

NME (Native Media Engine) is a cross-platform game and multimedia framework for the Haxe programming language. It provides a native runtime that compiles Haxe code to C++ via hxcpp and links against platform-specific backends for iOS, Android, Windows, macOS, Linux, and Web (Emscripten). The engine includes a 2D/3D rendering pipeline with both software and OpenGL backends, an audio subsystem with multiple backends (SDL, OpenAL, PulseAudio, ALSA, WebAudio), input handling (keyboard, mouse, touch, joystick), font rendering, and a build toolchain. The architecture is a library/framework with a core set of common components and platform-specific implementations selected at compile time. Key entry points include the `nme` CLI tool for building and running projects, the Haxe library under `src/nme/`, and the C++ engine under `project/src/`. External dependencies include Haxe, hxcpp, platform SDKs, and vendored libraries (LZMA, Clipper, Poly2Tri, FreeType, JPEG, Ogg, SDL, etc.). The codebase is large and contains both high-quality reusable components and some aging third-party code.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
kvirc/KVIrc ★ 304 84 APPLICATION

KVIrc is a production-grade, cross-platform IRC client built on the Qt framework. It features a custom embedded scripting language called KVS (KVIrc Script) with full support for events, aliases, popups, timers, arrays, hashes, object-orientation, and control flow. The application is modular: a core library (kvilib) provides utilities (strings, containers, config, networking, cryptography), the main app (kvirc) manages connection state, IRC protocol parsing, and UI, while dozens of loadable modules (src/modules/) add DCC file transfers, voice/video, media player integration, encryption, language detection, UPnP, KTorrent interface, and more. The UI is heavily configurable with theming, options dialogs, toolbars, and notifier windows. The codebase shows a high degree of craftsmanship in its plugin system, abstraction layers, and the KVS scripting engine, but also carries significant technical debt from its long history (code dating back to the late 1990s) – including manual memory management, custom container classes, conditional compilation for many optional features, and some deprecated Qt API usage.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
electron/packager ★ 302 44 APPLICATION

Electron Packager is a command-line tool and programmable library for packaging Electron applications into platform-specific distributables (e.g., .app, .exe, .deb). It handles Electron binary downloading, app bundling, code signing, notarization, and cross-platform builds (Windows, macOS, Linux, Mac App Store). The architecture centers around a Packager class that orchestrates the process, delegating platform-specific steps to subclasses (macOS, Win32, Linux) and utilizing utilities for dependency pruning, file filtering, ASAR creation, and hook execution. It is actively maintained with a modern TypeScript toolchain and comprehensive test suite.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
balena-io/etcher ★ 34479 2431 APPLICATION

balenaEtcher is a cross-platform Electron desktop application for flashing OS images to SD cards, USB drives, and similar removable media. In production it provides a wizard-style UI where users select a source image (local file, URL, or an existing drive), choose a target drive, and flash with pre-write safety checks and post-write verification. The architecture is a three-process Electron app: the main process manages windows, menus, auto-updates, and IPC; the renderer runs a React/Redux UI built with TypeScript and styled-components; and a privileged Node.js sidecar process, packaged separately via pkg, performs drive scanning, image metadata extraction, and the actual flashing over a WebSocket connection. Core flashing operations are delegated to etcher-sdk, while OS-specific privilege elevation is handled through sudo on Linux/macOS and UAC on Windows.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
cerebroapp/cerebro ★ 8560 457 APPLICATION

Cerebro is an Electron-based desktop launcher application that provides a search interface (triggered by Ctrl+Space) for launching applications, web search, file navigation, calculations, and unit conversions. It features a two-renderer process architecture to maintain UI responsiveness during long-running tasks, a plugin system for extensibility, and uses Redux for state management. The application consists of a main process handling app lifecycle, a main renderer for the UI, and a background renderer for asynchronous plugin initialization and long tasks.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
vzhd1701/gridplayer ★ 2095 188 APPLICATION

GridPlayer is a desktop application that plays multiple video streams simultaneously in a configurable grid layout. Built with PyQt5 and backed by VLC (libvlc), it provides per-video controls (play/pause, seek, speed, zoom, crop, loop, transformation), full playlist management with snapshots, and support for streaming via yt-dlp and Streamlink. The architecture uses a modular Manager pattern (ManagersManager, ManagerBase) where each subsystem (menu, grid, settings, video drivers, drag-and-drop, etc.) is a QObject-based manager registered with a shared Context/Commands dispatcher. Video playback can run in separate processes via multiprocessing with shared memory for hardware-accelerated decoding. The application is cross-platform (Windows, macOS, Linux) with packaging for PyPI, AppImage, Flatpak, Snap, and Chocolatey. Internationalization is handled via Crowdin with 18 translation files. Entry point is gridplayer/__main__.py which initializes the application, VLC instance, and main Player widget. The codebase demonstrates solid software engineering practices with extensive test coverage for core components like grid layout, drag-and-drop, settings, and keymap management. However, it carries significant technical debt from heavy reliance on VLC 3.0.x, PyQt5 (no migration to Qt6), and complex cross-platform workarounds for Wayland, X11 overlay, and hardware decoder multiprocessing.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
MediaArea/MediaInfo ★ 2010 197 APPLICATION

MediaInfo is a mature, cross-platform application for extracting and displaying technical and tag metadata from audio and video files. It provides a command-line interface (CLI) and multiple graphical front-ends (Qt, wxWidgets, Cocoa, VCL, UWP, Android, iOS) all sharing a common core library (MediaInfoLib). The repository contains the full source for the CLI, all GUIs, Windows shell extension, installers, and build/packaging scripts. The architecture is a classic layered design: a central Core class wraps MediaInfoLib and is consumed by each GUI via platform-specific adapters. The codebase is functional and widely used, but suffers from significant fragmentation across GUI frameworks and build systems, with legacy components (VCL, UWP) and conditional compilation adding maintenance overhead. The translation system using CSV files is well-designed and the command-line parser is robust, but most components are tightly coupled to the MediaInfo domain and not easily reusable outside the project.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
fossasia/badgemagic-app ★ 2005 288 APPLICATION

Badge Magic is a cross-platform Flutter application for programming LED name badges over Bluetooth Low Energy and for flashing their firmware over USB. In production, users compose text, freehand drawings, clipart, GIFs, and dozens of animations; apply flash/marquee/invert effects and speed/mode settings; then serialize the composed badge into a proprietary LED hex format and transmit it as BLE packets to a badge. The app also reads and writes badge slots, saves/loads badges as local JSON files, shares/imports badges via a gzip-compressed QR code scheme, and updates WCH microcontroller firmware on Android/Linux through a custom MethodChannel and OS-specific ISP binaries. Architecturally it is a standard Flutter app using Provider for state management and GetIt for service location, with a clear split between UI screens, state providers, and utility modules. The most interesting part is the protocol path: internal models are converted to LED-matrix hex data, then to BLE byte packets via DataToByteArrayConverter, and finally written through a scan/connect/write/completion BLE state machine using universal_ble. Unit tests cover byte utilities, converter logic, clipart processing, and packet generation. CI/CD spans Android, iOS, Linux, macOS, Windows, and web. Some areas show accumulated drift: several ARB locale files are empty, custom animation logic is duplicated between preview and transfer implementations, debug logging remains in production code, and the firmware release URL is hardcoded.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
OtterBrowser/otter-browser ★ 1982 283 APPLICATION

Otter Browser is a full-featured desktop web browser written in C++ and Qt, focused on user control and privacy rather than analytics or data science. It implements the complete browser feature set: tabbed browsing, sessions, bookmarks, history, RSS/Atom feeds, cookies, password management, content blocking, ad blocking, mouse gestures, spell checking, search engines, SSL certificate inspection, and import/export of user data from Opera, HTML, OPML, and XBEL formats. The system is a Qt Widgets desktop application, not a service or library, with the entry point in src/main.cpp and central orchestration in Application and MainWindow. Core browser services are implemented as manager singletons, UI is built from custom widgets and dialogs, and rendering is abstracted behind a WebBackend interface with two concrete backends: the legacy QtWebKit backend and the Chromium-based QtWebEngine backend. Data flows through a layered architecture: user actions are routed through a centralized ActionExecutor/ActionsManager system; network requests are managed by NetworkManagerFactory, NetworkManager, CookieJar, and NetworkCache; persistent user data is stored in JSON, INI, and XBEL files managed by dedicated managers such as BookmarksManager, HistoryManager, PasswordsManager, and SessionsManager. The browser also bundles significant third-party code, including Google Breakpad for crash reporting, KDE Sonnet for spell checking, a mouse gesture recognizer, and libmimeapps for freedesktop MIME integration. The code is modular and shows deliberate engineering in areas like the asynchronous job framework, feed parser, and reusable widget library, but it is a large legacy codebase with no visible automated test suite and significant compatibility debt. This is purely an application repository, not a data research project. The only data involved is user browsing data and configuration files. The project remains under active development, with recent commits through 2026, but technical drift is moderate: QtWebKit is deprecated and removed from modern Qt distributions, the Qt5/Qt6 migration is incomplete, several bundled third-party libraries are old forks, and platform-specific code is fragile. The codebase would benefit from a cleanup of the legacy web backend, better test coverage, and completion of the Qt6 port, but the core architecture is coherent and many components are genuinely reusable.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
inthehand/32feet ★ 989 223 APPLICATION

The 32feet.NET repository provides a comprehensive Bluetooth and OBEX protocol implementation for .NET, supporting multiple platforms and Bluetooth stacks.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
AM2R-Community-Developers/AM2RLauncher ★ 533 23 APPLICATION

AM2RLauncher is a cross-platform GUI application for managing the AM2R (Another Metroid 2 Remake) game and its community mods. It simplifies installing base game updates via xdelta patching, managing multiple game profiles, creating Android APKs, and providing automatic updates for both the launcher and game content. The architecture consists of platform-specific WPF (Windows), GTK (Linux), and macOS projects sharing a .NET Standard 2.0 core library. Key features include profile-based game isolation, mod management, APK creation requiring external tools (Java, Apktool), and integration with community platforms. The application uses Eto.Forms for UI, log4net for logging, and XML serialization for configuration and profiles.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
moffatman/chan ★ 527 28 APPLICATION

Chance is a multi-platform Flutter application for browsing and posting to imageboard forums (4chan, 8kun, Lainchan, Hacker News, etc.). It implements a rich, adaptive UI that switches between Material Design and Cupertino styling based on platform and user preference. The app handles complex networking tasks including Cloudflare bypass, multiple captcha systems (reCAPTCHA, hCaptcha, custom 4chan captcha), TLS fingerprinting, and HTTP caching. It features a full media pipeline with streaming MP4/HLS support, thumbnail generation via FFmpeg, and a custom local HTTP server for video playback. State is persisted using Hive, with sophisticated conflict resolution for settings and watched threads. The codebase demonstrates high craftsmanship in areas like custom gesture recognizers, a generic priority queue for rate limiting, and a rich post-span rendering system. However, it relies on forked dependencies (Dio, Hive, flutter_inappwebview) and contains many generated files and platform-specific workarounds that introduce maintenance risk.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
koodo-reader/koodo-reader ★ 28464 2136 APPLICATION

Koodo Reader is a cross-platform ebook reader application supporting a wide range of formats (EPUB, PDF, MOBI, AZW3, TXT, FB2, CBR/CBZ, MD, DOCX, HTML, etc.). It is built as an Electron desktop app with a React/TypeScript frontend and a separate Go HTTP server for OPDS catalog serving and KOReader sync. The application provides a full-featured reading experience including bookmarks, notes, highlights, text-to-speech (with multiple voice engines), translation and dictionary lookup (via built-in and custom plugins), OCR for scanned PDFs, and cloud sync/backup across many providers (WebDAV, S3, OneDrive, Google Drive, Dropbox, etc.). It also includes a library management system with shelves, tags, search, and import from local files, folders, URLs, and OPDS catalogs. The architecture is a monolith with a clear separation between the Electron main process (Node.js) and the renderer (React), plus an optional Go server for network-facing features. The codebase is large and feature-rich but shows signs of technical debt: widespread use of deprecated React lifecycle methods, heavy reliance on opaque minified libraries (kookit-extra), frequent `as any` type casts, and mixed Chinese/English comments. Despite these issues, the application is actively maintained and offers a robust set of features for ebook enthusiasts.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
rubickCenter/rubick ★ 10008 1006 APPLICATION

Rubick is a cross-platform desktop application built with Electron and Vue 3 that serves as an extensible productivity toolbox. Its core functionality includes a global shortcut-triggered launcher (Alt/Option+R) for quick access to applications, files, and folders, a plugin system that treats plugins as installable npm packages, and WebDAV-based cross-device data synchronization via PouchDB. The architecture features a main Electron process managing multiple renderer windows (main search interface, plugin market, detached plugin windows, and tutorial guide) with communication through IPC. Key dependencies include Vue 3, Ant Design UI library, PouchDB for local storage with WebDAV sync, and native modules for global hotkeys and file icons. The plugin system allows users to extend functionality through a built-in market, with plugins stored locally and loaded into isolated BrowserView instances for security.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
$ loading more...
$ submit: