thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: flutter
chipweinberger/flutter_blue_plus ★ 1003 620 APPLICATION

This repository implements **flutter_blue_plus**, a Flutter plugin library for Bluetooth Low Energy (BLE) communication across Android, iOS, macOS, Linux, and Web platforms. It provides a unified Dart API to perform BLE scanning, connect to devices, discover GATT services/characteristics/descriptors, read/write data, subscribe to notifications, and manage bonding and MTU negotiation. The architecture follows Flutter's federated plugin pattern: a common platform interface package defines abstract contracts and serialization messages, while separate packages implement the native side using MethodChannel (Android Java, iOS/macOS Objective-C, Linux Dart/BlueZ, Web JS interop). The library is designed for production use, featuring per-device operation queues via a mutex factory, robust error handling, streaming state updates, and conveniences like automatic subscription cleanup on disconnect. It is commercially licensed, requiring a paid license for commercial use. The codebase is well-structured with clear separation of concerns, though it carries a moderate amount of deprecated API surface and some platform-specific workarounds. The example app demonstrates all major features and serves as both a test harness and reusable UI pattern for BLE exploration.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Telosnex/fonnx ★ 297 22 APPLICATION

Fonnx is a Flutter plugin that enables cross-platform, on-device machine learning inference by wrapping the ONNX Runtime engine. It provides a unified Dart API that abstracts away the complexities of native FFI (for iOS, Android, macOS, Windows, Linux) and WebAssembly (for web), allowing developers to run models like OpenAI Whisper, Silero VAD, Magika, and various text embedding models without cloud dependencies. The codebase exhibits high software craftsmanship. Its architecture uses conditional Dart imports to cleanly separate native and web backends, employs Dart isolates for offloading heavy inference tasks, and implements a custom RPC protocol for web workers. A standout feature is its robust native memory management, including a C finalizer tested with sanitizers to prevent leaks during Flutter hot-restarts. While primarily a software library, it bridges the gap between ML research and production by bundling specific, optimized ONNX models and providing a deterministic test corpus with golden outputs. It is an excellent resource for Flutter developers building privacy-focused, offline-first AI applications, though its reliance on pinned native assets and specific build tooling introduces a moderate technical drift risk.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
NativeScript/NativeScript ★ 25663 1742 APPLICATION

NativeScript is a mature, cross-platform mobile application framework that enables developers to build native iOS, Android, and visionOS apps using JavaScript, TypeScript, or Angular. The repository is structured as a monorepo containing the core runtime (`@nativescript/core`) with platform-abstracted UI components, styling engine, data binding, and application lifecycle management; dual build toolchains (`@nativescript/vite` and `@nativescript/webpack5`) with Hot Module Replacement (HMR) support; platform type definitions (`@nativescript/types-ios`, `@nativescript/types-android`); and native widget libraries (Android Java, iOS Objective-C). The architecture is component-based: XML-declared UIs are parsed by a builder, instantiate native views, and styled via a custom CSS engine with selector matching, inheritance, and animations. An extensible property system with coercion, CSS properties, and change tracking drives reactivity. HMR infrastructure includes a Vite plugin that serves modules over WebSocket with framework-specific strategies (Angular, Vue, Solid, TypeScript). The codebase is heavily tested with unit tests (Vitest), platform-specific integration tests, and Appium E2E tests. Reusable design patterns include the observable data binding, property change origin tracking, platform-qualified file resolution, and CSS media query parsing. Notable technical drift risks include the coexistence of two build systems (webpack5 deprecated in favor of Vite), extensive platform-specific code duplication (`.android.ts`/`.ios.ts` pairs), and reliance on some deprecated iOS APIs in type declarations. Overall, it is a well-engineered framework with a large ecosystem and active development.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
spotiflacapp/SpotiFLAC-Mobile ★ 6709 317 APPLICATION

SpotiFLAC-Mobile is a cross-platform mobile application (Android and iOS) that enables users to download and play high-fidelity music in lossless formats such as FLAC and DSD. It operates through an extension-based architecture where community-provided plugins supply download sources, metadata, lyrics, and cover art. The application integrates with streaming services like Deezer, Tidal, Qobuz, and Spotify via these extensions, handling authentication, rate limiting, and content resolution. The system is built on a multi-language stack: a core Rust backend handles audio processing, metadata tagging, library management, and network communication; a Flutter (Dart) frontend provides the user interface; and platform-specific code in Kotlin (Android) and Swift (iOS) bridges native features like file system access, USB audio output, and system audio routing. The Rust backend is exposed to mobile languages via UniFFI-generated bindings. Key data flows include: extension-based download orchestration with cancellation and progress reporting, audio file finalization (metadata embedding, ReplayGain scanning, cover art insertion), incremental library scanning with SQLite persistence, and multi-provider lyrics fetching with caching. The application also features hi-res audio authenticity verification using STFT analysis, direct USB audio output for bit-perfect playback, and a comprehensive extension management system with sandboxed JavaScript runtimes. External dependencies include FFmpeg for audio conversion, libusb for USB audio transport, and various web APIs (Deezer, MusicBrainz, LRCLib, Apple Music, etc.) for metadata and lyrics enrichment. The project demonstrates strong engineering practices with extensive unit and integration tests, a modular crate architecture, and reusable patterns for cancellation, progress tracking, and caching.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
GopeedLab/gopeed ★ 26704 1744 APPLICATION

Gopeed is a high-performance, cross-platform download manager written in Go with a Flutter frontend. It supports HTTP/HTTPS, BitTorrent, Magnet links, ed2k, and HLS streaming protocols. The backend provides a REST API, CLI, and an MCP server for AI agent integration. The frontend is a full-featured Flutter app for desktop (Windows, macOS, Linux), mobile (Android, iOS), and web. Key features include multi-connection downloads with slow-start and work-stealing, a JavaScript extension system (goja) with polyfills for fetch, XHR, Blob, and streams, archive extraction (zip, 7z, rar), webhook/script notifications, and browser impersonation via TLS fingerprinting. The architecture is modular: protocol-specific fetchers implement a common interface, the download engine manages task lifecycle and persistence (BoltDB), and the UI communicates via RPC or FFI. The codebase is well-tested with extensive integration tests and includes a legacy Flutter UI (ui/flutter_old) alongside the current one, indicating an ongoing migration from GetX to Riverpod.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
G-Ray/pikatorrent ★ 1019 54 APPLICATION

PikaTorrent is a cross-platform BitTorrent client built with Flutter, supporting Windows, macOS, Linux, Android, and iOS. It provides a modern, user-friendly interface for downloading and streaming torrents, with features like sequential downloading, media playback with subtitle/audio track selection, torrent tagging and filtering, and platform-specific integrations (system tray, background service, file association). The application follows a clean architecture with an engine abstraction layer (currently backed by the Transmission library via flutter_libtransmission), provider-based state management (AppModel, SessionModel, TorrentsModel), and separate HTTP servers for streaming content and subtitles. The codebase is generally well-organized, though it contains some hardcoded values and minor code smells. The project is actively maintained with a full CI/CD pipeline and multi-platform release automation.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
pounat/absorb ★ 657 44 APPLICATION

Absorb is a production-grade Flutter mobile application that serves as a full-featured client for self-hosted Audiobookshelf servers. It streams and downloads audiobooks and podcasts, providing offline playback, sleep timer, bookmarking, chapter navigation, built-in equalizer, on-device speech-to-text transcription via whisper.cpp, and an ebook reader. The architecture is a cross-platform Flutter app with extensive native platform code (Kotlin for Android, Swift/ObjC for iOS) that deeply integrates with Android Auto, Apple CarPlay, Wear OS, Chromecast, and home-screen widgets. Audio playback is managed by a highly customized audio_service plugin with a native iOS audio engine (AbsorbAudioEngine) that handles cross-book transitions and equalizer effects. The transcription feature uses a forked whisper_ggml_plus package with a voxel-activity detection and MP3 slicer for frame-accurate clip extraction. The codebase demonstrates high craftsmanship in platform-level audio handling, but its reliance on multiple vendored plugins (audio_service, just_audio, flutter_carplay, whisper_ggml_plus, flutter_epub_viewer) creates maintenance overhead due to duplicated native code across platforms and occasional divergence from upstream versions.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
yaoyao2mm/cheatreader ★ 637 18 APPLICATION

CheatReader is a Flutter-based desktop ebook reader designed for low-distraction reading. It provides a floating, always-on-top window that supports single-line and multi-line reading modes, transparency, a boss key for quick hide/restore, system tray integration, and app disguise (icon/name change). The application imports local files in multiple formats (txt, epub, html, md, fb2, docx, pdf) via text extraction, never modifying the source. It features a bookshelf with reading progress tracking, customizable keyboard shortcuts, auto page-turn, full-text search, and a control panel for all settings. The architecture is a standard Flutter app with platform-specific abstractions for window management, file import, and startup behavior, targeting Windows, macOS, and Linux. The codebase is well-tested, localized in English and Chinese, and uses a spec-driven development process (OpenSpec). While the main reader surface widget is large (~2600 lines), the overall structure demonstrates solid engineering with reusable patterns for platform abstraction, settings persistence, and text extraction.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
oguzhnatly/flutter_carplay ★ 317 117 APPLICATION

This repository is a Flutter plugin that bridges Flutter applications with Apple CarPlay and Android Auto in-car infotainment systems. It provides a Dart API to construct native vehicle-optimized UI templates (lists, grids, tab bars, alerts, search, etc.) and manage navigation stacks on both platforms. The architecture is a classic Flutter plugin pattern: Dart models serialize to JSON, which is passed via method channels to native iOS (Swift) and Android (Kotlin) implementations that render the corresponding native CarPlay/Android Auto templates. Event channels handle user interactions (list item selection, alert actions, connection changes) back to Dart. The plugin includes a sophisticated SVG rasterization utility that converts Flutter asset SVGs to PNG bytes for native consumption, since native platforms cannot render SVG directly. It also provides image loading with caching and tinting on both platforms. The example app demonstrates full setup and usage for both iOS and Android, including scene delegate configuration and Android Auto service registration. External dependencies include the Flutter SDK, flutter_svg for rasterization, and native frameworks (CarPlay.framework on iOS, Car App API on Android).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Losses/rune ★ 991 31 APPLICATION

Rune is a cross-platform music player and library manager built with a Rust backend and Flutter frontend. It provides local audio playback, metadata extraction, audio analysis (FFT, spectral features, MFCC, chroma), acoustic fingerprinting (MusicBrainz/Shazam-style), and a recommendation engine based on feature vectors. The system supports multi-device synchronization using Hybrid Logical Clocks (HLC) and chunked data transfer, LAN device discovery with TLS certificate pinning, and scrobbling to Last.fm, Libre.fm, and ListenBrainz. It includes a CLI tool, a Svelte-based authorization panel for remote server management, and a full GUI with cover art wall, lyrics display, dynamic mixes, and extensive theming. Architecturally, the project is a monorepo with 11 Rust crates and a Flutter app. The Rust backend (native/hub) handles database operations (SeaORM/SQLite), audio analysis, playback (rodio), networking (WebSocket/HTTP server), and sync. The Flutter frontend communicates via rinf (Rust-FFI message passing). The codebase demonstrates strong engineering practices: trait-based abstractions (FsIo, PlaybackStrategy, HLCRecord), macro-driven boilerplate reduction (collection_query!, parallel_media_files_processing!), and a clean separation of concerns between UI, business logic, and data layers. While primarily an application, it incorporates significant data engineering patterns in its sync and analysis subsystems, making it a hybrid project with reusable data infrastructure.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
hiddify/hiddify-app ★ 33117 3089 APPLICATION

Hiddify is a cross-platform proxy/VPN client built with Flutter and a Go core (Sing-box). It supports multiple proxy protocols (Vless, Vmess, Reality, TUIC, Hysteria, WireGuard, SSH, etc.), subscription management, per-app proxy, routing rules, chain configuration, and advanced features like Warp, Psiphon, and TLS tricks. The architecture is a Flutter frontend communicating with a Go backend via gRPC/protobuf over a local socket. The app uses Riverpod for state management, drift for local SQLite storage, freezed for immutable models, and go_router for navigation. It has platform-specific native code for Android (Kotlin), iOS/macOS (Swift), Windows (C++), and Linux (C). The codebase is well-organized into feature modules, core infrastructure, and generated protobuf bindings. It is actively maintained with CI/CD pipelines and multi-platform releases, though it contains some commented-out code and generated file churn.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
lollipopkit/flutter_server_box ★ 8836 568 APPLICATION

This is a comprehensive server monitoring and management platform called ServerBox (Flutter Server Box). It consists of a cross-platform Flutter mobile/desktop app, a Rust-based agent (monitor) that collects system metrics and exposes a REST/WebSocket API, and a Svelte web panel. The system supports SSH terminal sessions, SFTP file management, container management, virtual machine management (Proxmox VE and libvirt), BMC/Redfish power and sensor monitoring, firewall management (ufw/firewalld), cron, systemd/OpenRC services, process management, benchmark execution, custom commands, and push notifications. The architecture is heavily dependent on shared Rust crates (`sbm_parser`, `sbm_virt`, `sbm_redfish`, `sbm_ffi`) that are used both by the agent and via FFI by the Flutter app. This is a production-grade, actively maintained project with extensive test coverage across all layers.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
iconoir-icons/iconoir ★ 4542 198 APPLICATION

Iconoir is an open-source icon library (MIT) providing over 1600 SVG icons in 24×24 grid, distributed as framework-specific packages for React, React Native, Vue, SolidJS, Flutter, and CSS. The repository is a monorepo containing the raw SVG icons, a build pipeline that generates typed component libraries from those SVGs, and a Next.js website for browsing and downloading icons with search, filtering, and customization. The build system (bin/build/index.js) uses a plugin architecture to produce components for each target framework, while the website includes virtualized rendering for performance. Despite the large surface area, the codebase is well-organized with clear separation between icon sources, build tooling, and distribution packages. The primary architectural pattern is code generation: SVGs are transformed into framework-specific components via templates, enabling consistent cross-platform delivery. Notable components include the build pipeline's template system (e.g., icon-template.js), the website's virtualized icon list with React Window, and a Python script for enriching icon metadata from naming conventions.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
flutter-webrtc/flutter-webrtc ★ 4485 1446 APPLICATION

This repository provides flutter-webrtc, a Flutter plugin that wraps native WebRTC SDKs (Android, iOS, maccOS, Windowws, Linux, embedded Linux, and Web) to enable real-time audio/video communication, screen shaning, data channels, and end-to-end encryption. The architecture follows a common Dart interface with platform-specific implementations using method channels, event channels, and texture registries. Key entry points include the Dart factory classes (RTCFactoryNative/Web) and native plugin handlers (FlutterWebRTCPlugin on each platform). The plugin exposes a comprehensive WebRTC API including getUseMedia, peer connections, tranceivers, simulcast, stats, and E2EE via frame cryptors. It is actively maintained with regular commits and issue triage, but exhibits code duplication across platforms and some fragile patterns (reflection, monoilithic method handlers).

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
invoiceninja/invoiceninja ★ 10266 2744 APPLICATION

Invoice Ninja is a full-featured open-source invoicing and billing platform designed for small to medium businesses. It handles the complete lifecycle of invoices, quotes, credits, purchase orders, payments, and expenses. The system supports multi-tenant SaaS and self-hosted deployments with per-company database isolation, and integrates with over 20 payment gateways (Stripe, PayPal, Mollie, GoCardless, etc.). It provides client and vendor portals for self-service, along with extensive reporting, CSV export, and e-invoicing capabilities (Peppol, Verifactu, France e-reporting). The application follows a monolithic MVC architecture built on a custom PHP framework (Illuminate) similar to Laravel. It uses an event-driven architecture with domain events and listeners for side effects (email, webhooks, activity logging). Background jobs are queued for async processing. The frontend uses Blade templates, Livewire components, and a separate React app for some admin panels. The API is RESTful with OpenAPI documentation. Key entry points are HTTP controllers under app/Http/Controllers, with request validation classes. Core data flows involve creating entities through factories, persisting via repositories, and triggering events that listeners handle. Payment flows go through abstract payment drivers that encapsulate gateway-specific logic. The system also includes extensive reporting, CSV export, and e-invoicing (Peppol, Verifactu, France e-reporting). External dependencies include a relational database (MySQL/PostgreSQL), Redis for caching and queues, Elasticsearch for search, and various third-party APIs for payment processing, tax calculation (ZipTax), bank integration (Nordigen, Yodlee), email delivery (Mailgun, Postmark, Brevo), and e-invoicing gateways (Storecove, Qvalia).

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
SimformSolutionsPvtLtd/showcaseview ★ 1930 534 APPLICATION

This is a Flutter package for creating step-by-step showcase/onboarding tours. It highlights widgets with tooltips, supports custom tooltip widgets, auto-play, animations, and multiple scopes. The architecture uses a service locator pattern (ShowcaseService) to manage independent showcase scopes without requiring BuildContext. The overlay system uses a custom ShapeClipper to cut out holes around target widgets. The code is well-organized and actively maintained, though it lacks unit tests.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
devtodollars/mvp-boilerplate ★ 996 124 APPLICATION

This is a production-oriented full-stack SaaS starter kit (not a data/research project). It is a monorepo template pairing a Next.js web app (landing page, auth flow, account dashboard, marketing sections) with a Flutter cross-platform app (iOS/Android/macOS/Windows/Linux/web) on top of a shared Supabase backend. The backend is a Postgres schema (users, customers, products, prices, subscriptions, invoices) protected by row-level security, plus Deno edge functions that orchestrate Stripe Checkout sessions and process Stripe webhooks. PostHog handles analytics on both frontends, Loops.so handles transactional email, and an optional Monero cryptocurrency payment variant can be toggled in via patch scripts, giving the template two billing backends.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 5 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
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
harmonoid/harmonoid ★ 4724 257 APPLICATION

Harmonoid is a cross-platform music player built with Flutter, targeting Windows, macOS, Linux, Android, and iOS. It scans local files, reads metadata via taglib, and organizes a media library of albums, artists, genres, tracks, and playlists. Audio playback is powered by mpv/FFmpeg through the media_kit package, with support for gapless playback, speed/pitch adjustment, ReplayGain, and crossfade. The app integrates Last.fm scrobbling, Discord Rich Presence, MPRIS (Linux), System Media Transport Controls (Windows), and a custom lyrics system that fetches synced lyrics from tags, local LRC files, or an online API. State management uses Provider and ChangeNotifier, navigation uses go_router, and persistent configuration is stored in a drift SQLite database. The UI adapts between desktop and mobile layouts, with Material Design 2 and 3 theming. A subscription system (via RevenueCat) gates premium features like artist images and lyrics translation. The codebase is large and well-organized, but shows signs of technical drift: incomplete tablet layouts, deprecated model classes, many HACK comments, and heavy reliance on git-based dependency overrides. Despite these issues, the architecture demonstrates solid Flutter engineering with reusable patterns like a mixin registry for platform services, custom image providers, and a code generation pipeline for localization and configuration.

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