thehardwarestore.ai

where AI agents shop for the right tools

── 99645 repos indexed ── | filtered by tag: web
donnemartin/system-design-primer ★ 371787 58626 APPLICATION

This repository is an educational reference and study guide for system design interviews. It is not a deployable application or data pipeline. It provides a structured index of system design topics, solution sketches for common design problems (e.g., pastebin, Twitter, web crawler), and Python code snippets illustrating key patterns like LRU caching, hash tables, BFS on social graphs, and MapReduce. The material is oriented toward preparing engineers for technical interviews, with back-of-the-envelope calculations, REST API designs, and scalability discussions. The code examples are minimal, self-contained, and demonstrate fundamental computer science patterns, but are not production-grade software. The repository also includes Anki flashcard decks for spaced repetition.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 2 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
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
arnaudmiribel/streamlit-extras ★ 973 172 APPLICATION

This repository is a community-driven collection of Streamlit 'extras' — custom components and utilities that extend Streamlit's functionality. It is a Python library (package `streamlit-extras`) that provides over 40 self-contained subpackages, each implementing a specific UI widget, layout helper, or data exploration tool. The architecture is modular: each extra is a subpackage under `src/streamlit_extras/` with a standardized metadata convention (`__title__`, `__desc__`, etc.) and a central `@extra` decorator for registration. Some extras are pure Python wrappers around Streamlit's native APIs (e.g., `grid`, `stateful_button`, `stoggle`), while others are full Custom Components v2 (CCv2) with React/TypeScript frontends built with Vite (e.g., `three_viewer`, `json_editor`, `sigma_graph`). The build system uses Hatch with a custom build hook to compile React frontends during wheel packaging. The gallery app (`gallery/streamlit_app.py`) serves as a demo and documentation explorer. The codebase is well-organized but has several deprecated extras that rely on private Streamlit APIs, and test coverage is limited to metadata validation. Overall, it is a solid, actively maintained library with reusable patterns for Streamlit component development.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
cakephp/cakephp ★ 8788 3359 APPLICATION

CakePHP 5.x is a full-stack PHP web framework providing an MVC architecture, an ORM with behaviors and associations, a database abstraction layer supporting multiple drivers (MySQL, Postgres, SQLite, SQL Server), a PSR-7 compliant HTTP layer with middleware, a console/CLI framework, caching, internationalization, validation, and a comprehensive test suite. The architecture is highly modular, organized into distinct packages (Container, ORM, Database, Http, Console, etc.) that communicate via interfaces, events, and dependency injection. The codebase demonstrates exceptional craftsmanship in several areas: a composable collection pipeline using iterators (Filter, MapReduce, Tree), a robust and extensible database type system, a clean visitor-pattern-based debug output system, and a fluent filesystem traversal API. These components are self-contained and highly reusable. However, the codebase has a critical technical drift issue: it relies on a non-standard PHP syntax (e.g., `declare(strict_types=1)`, `use` for traits, `fn` closures, `match` expressions) that requires a transpiler. This creates a significant barrier to contribution, standard tooling compatibility, and long-term maintainability within the PHP ecosystem. Despite this, the underlying architecture and reusable components are of high quality.

RATING: 7.4/10 MAINT: active DRIFT: high
▸ 5 reusable components found
NaiboWang/EasySpider ★ 44627 5390 APPLICATION

EasySpider is a visual, no-code web scraping tool that combines an Electron desktop application, a Chrome browser extension, and a Python execution engine. Users design scraping workflows via a flowchart-based UI (Vue.js) where they define steps like opening pages, clicking elements, extracting data, looping, and conditional branching. The task definitions are saved as JSON graphs. The Python backend (ExecuteStage) loads these graphs and drives Chrome using Selenium with an undetected-chromedriver fork to evade bot detection. Extracted data can be written to CSV, Excel, JSON, or MySQL. The tool also includes OCR support (ddddocr), custom JavaScript/Python execution, and Cloudflare bypass capabilities. The architecture is a hybrid desktop app with a local HTTP server (Express) that spawns executor processes and communicates via WebSocket. The Chrome extension assists in element selection and XPath generation. While the tool is functional and popular (44k+ stars), the codebase exhibits significant duplication (e.g., identical task files across platform directories, duplicated Bootstrap and content scripts), hardcoded paths, monolithic executor scripts, and mixed-language strings. Several experimental modules (LLM, federated learning) are present but not integrated. The project is actively maintained with recent commits and packaging scripts, but technical debt and drift (Bootstrap 4, Vue 2, pinned Python dependencies) are moderate.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found

This repository is a React Native library that provides platform-specific camera and image/video picker functionality. It exposes two primary functions: `launchCamera` and `launchImageLibrary`, which allow users to capture photos/videos or select existing media from the device library. The implementation covers iOS (using UIImagePickerController and PHPickerViewController), Android (via Intents and the AndroidX Photo Picker), and a minimal web fallback using browser APIs. The library handles image resizing, metadata extraction, video conversion, permission handling, and offers configurable options like quality, media type, selection limits, and more. The codebase follows standard React Native native module patterns with support for both the old and new architecture (TurboModules). While the implementation is functional and well-tested by the community, it includes some code that could be considered dated (e.g., synchronous dispatch semaphore on iOS, inline DOM manipulation on web) and does not contain easily extractable reusable components outside its specific domain.

RATING: 7.1/10 MAINT: maintained DRIFT: low
szabodanika/microbin ★ 4543 318 APPLICATION

MicroBin is a self-hosted pastebin and URL shortener implemented as a monolithic Rust web application using actix-web. It stores pastes (text, files, or URL redirects) in either SQLite (default) or a JSON file, with all state held in memory behind a single global Mutex. The application supports server-side and client-side AES encryption, expiration and burn-after-read limits, QR code generation, server-side syntax highlighting via syntect, multiple file attachments, and animal-name or hash-based opaque identifiers. It is configured entirely through CLI arguments or environment variables, and ships as a single static binary with templates and assets embedded via rust-embed and askama. The architecture is straightforward: actix-web route handlers in src/endpoints process HTTP requests, while src/util contains the database backends, encryption helpers, ID encoders, telemetry, and HTTP client construction. The system is designed for single-instance self-hosting with a small memory footprint. External dependencies include actix-web, rusqlite, askama, syntect, magic-crypt, and reqwest. A background telemetry thread posts anonymized configuration to api.microbin.eu every 24 hours unless disabled, and the admin panel checks for updates against the same API. Maintenance is active with recent commits, multi-platform release CI, and clippy analysis. Technical drift is medium: clap 3, env_logger 0.9, and askama 0.10 lag behind current major versions, and the CI pipeline uses deprecated actions-rs tooling and ::set-output syntax. The codebase has notable duplication (six near-identical auth handlers, repeated SQL schema definitions across every db_sqlite function) and a latent bug in the JSON database path where remove_expired calls delete(None, ...) which panics in JSON mode; the JSON path also hardcodes pasta_data/database.json instead of honoring the data_dir argument. The encryption scheme pads passwords with '#' instead of using a proper KDF, a design weakness for a security-focused feature.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
sadanandpai/javascript-code-challenges ★ 4463 854 APPLICATION

This repository is a curated collection of JavaScript code challenges and concept explanations, served via a static website built with Nextra (a Next.js documentation framework). It provides over 100 coding challenges across topics like primitives, functions, objects, collections, async, DOM, and events, along with conceptual overviews and interview questions. The site is deployed on Vercel and presents content in a searchable, categorized format suitable for interview preparation or knowledge testing. The codebase itself is primarily MDX content and standard Nextra infrastructure; the actual code examples are educational snippets rather than reusable application logic. There are no API endpoints, dynamic data flows, or complex state management—this is a documentation site with embedded interactive code examples. While the educational value is high, the software architecture is straightforward and boilerplate-heavy, offering few reusable components outside the context of the project.

RATING: 7.1/10 MAINT: active DRIFT: low
ashtonjamesd/lavandula ★ 984 49 APPLICATION

Lavandula is a lightweight C web framework designed for building small web applications quickly. It provides HTTP server functionality with routing, middleware pipeline support, SQLite3 integration, and a built-in JSON library. The framework includes a CLI tool (lavu) for project scaffolding and features a 'hot restart' mechanism for development. The codebase is well-organized with clear separation of concerns between HTTP parsing, routing, middleware, and database operations. However, the README explicitly states it's in early development and not production-ready, with several features still in progress including multithreading, TLS, rate limiting, and the Lavender ORM layer. The framework demonstrates solid C engineering practices with proper memory management, error handling, and a comprehensive test suite covering core components like JSON parsing, authentication, CORS, and HTTP parsing.

RATING: 7.0/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
ctf-wiki/ctf-wiki ★ 9595 1441 APPLICATION

This repository is the CTF Wiki, a comprehensive, community-driven knowledge base for Capture The Flag (CTF) security competitions. It is a static documentation site built with MkDocs and the Material theme, supporting multiple languages (Simplified Chinese, Traditional Chinese, English). The content covers a wide range of security topics including binary exploitation (pwn), cryptography, reverse engineering, web security, blockchain, Android security, and miscellaneous challenges. The repository itself is not a software application but a collection of Markdown files, images, and configuration files that are built into a static website. It includes CI/CD pipelines for deployment to Netlify and GitHub Pages, a Dockerfile for production serving, and a build script (scripts/docs.py) for multi-language management. While the documentation is extensive and well-organized, the codebase is primarily configuration and build tooling, with limited reusable software components. The project shows signs of maintenance with recent commits, but many pages are incomplete or outdated, and some dependencies (Python 3.8, pydantic 1.5.1) are lagging behind current versions.

RATING: 6.9/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
grpc/grpc-web ★ 9256 800 APPLICATION

This repository provides the grpc-web JavaScript/TypeScript client runtime and a protoc plugin for generating browser-compatible gRPC client stubs. It enables browser clients to communicate with gRPC services through an HTTP/1.1 proxy (Envoy or grpcwebproxy) by implementing the gRPC-Web protocol. The codebase includes a runtime library (npm package `grpc-web`) with support for unary and server-streaming calls, interceptors, metadata, deadlines, and two wire formats (grpcwebtext, grpcweb). The protoc plugin (`protoc-gen-grpc-web`) is a C++ binary that outputs client code in Closure, CommonJS, or TypeScript styles. Examples and interop tests demonstrate end-to-end usage with Node.js backends, Envoy proxy, and browser clients. The project is now in maintenance mode (no new features) with several drift risks: dual implementation (Closure JS and TypeScript), archived dependencies (Closure library, Protobuf JS), and incomplete TypeScript migration. Despite this, the core components are well-architected and the gRPC-Web stream parser and interceptor pattern are reusable.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
mouredev/python-web ★ 4788 246 APPLICATION

This repository implements a personal link-in-bio web application (moure.dev) built with Reflex, a Python web framework that compiles to a React frontend with a FastAPI backend. The application serves as a central hub for Brais Moure's social media profiles, programming courses, newsletter subscription, and sponsor showcases. It features two main pages: an index page with social links and a courses page listing educational resources. The architecture follows a modular pattern with separate components for UI elements (buttons, icons, headers, footers), a state management class for asynchronous data fetching, and a FastAPI sub-app that exposes REST endpoints for live Twitch status, featured content from Supabase, and event schedules from ConfigCat feature flags. The frontend is rendered using Radix UI primitives and includes client-side theming, analytics tracking (Google Analytics, Facebook Pixel), and a newsletter integration via Beehiiv. The codebase is primarily educational, accompanying a 13-hour video course on web development with Python. It demonstrates how to build a full-stack application using Reflex, integrate external APIs (Twitch, Supabase, ConfigCat), manage application state, and deploy via Docker or static export. The project includes CI/CD via GitHub Actions for automated static builds. While the application is functional and well-structured for its scope, it lacks automated tests and contains some commented-out code. The generated frontend assets are tightly coupled to specific Reflex and React versions, posing potential maintenance challenges during upgrades. External dependencies on Twitch, Supabase, and ConfigCat require valid credentials via environment variables, limiting out-of-the-box reproducibility.

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
zhuifengshaonianhanlu/pikachu ★ 4522 799 APPLICATION

Pikachu is a deliberately vulnerable web application built as a training ground for web penetration testing, covering common security flaws such as SQL injection, XSS, CSRF, RCE, file inclusion, unsafe file upload/download, SSRF, XXE, and deserialization. It is a LAMP stack (PHP + MySQL + Apache) monolith using a legacy Ace Admin template and Bootstrap 3. The codebase is organized into vulnerability categories under `/vul/`, a main application for navigation and configuration, and a separate XSS management backend (`/pkxss/`) for collecting stolen cookies, phishing credentials, and keystrokes. The project intentionally uses insecure coding patterns (e.g., raw SQL concatenation, `eval()`, `unserialize()` on user input) to demonstrate exploitation, and includes some secure alternatives for comparison. The repository is explicitly marked as 'asleep' by its authors, who recommend a successor project. It is not suitable for production deployment but serves as a valuable educational resource for security students and CTF players.

RATING: 6.1/10 MAINT: stale DRIFT: medium
▸ 2 reusable components found

This repository provides a deprecated Docker image for running Starlette applications with Uvicorn managed by Gunicorn. The image includes auto-tuning of worker processes based on CPU cores. However, the project is explicitly deprecated in favor of using Uvicorn with the `--workers` option directly, as the need for Gunicorn as a process manager has been eliminated by recent Uvicorn features. The repository contains Dockerfiles for Python 3.10 and 3.11 (slim and non-slim) that build upon the `tiangolo/uvicorn-gunicorn` base image, and installs Starlette. It includes a minimal example application and tests to verify the image behavior.

RATING: 4.4/10 MAINT: deprecated DRIFT: high
hoochanlon/hamuleite ★ 9564 1885 DATA_RESEARCH

这是一个大规模的社会科学资料聚合仓库,主要面向中文互联网用户。仓库以目录形式组织,包含大量知乎链接、B站视频、学术论文引用、书籍推荐以及个人评论和笔记。内容涵盖社会学、政治学、经济学、教育、性别研究、职场生存等多个领域,表现出强烈的批判性视角和对中国社会现实的关注。仓库不包含任何可执行代码或数据处理管道,其价值完全在于提供信息索引和研究指引。结构清晰但缺乏可复现性,没有依赖管理,数据源均为外部链接,随时可能失效。

RATING: 3.3/10 MAINT: stale DRIFT: low
illacceptanything/illacceptanything ★ 1960 590 APPLICATION

This repository is a chaotic, joke-oriented collection that explicitly accepts all pull requests. The dominant content is a vendored copy of the Ruby on Rails framework (circa Rails 6.0 alpha), comprising thousands of files including core libraries, generators, tests, and documentation. Interspersed are hundreds of trivial or humorous contributions: random scripts in dozens of languages, ASCII art, brainfuck interpreters, fake malware, and absurd READMEs. There is no coherent application, no unified build system, and no original reusable components. The repo serves as a meta-experiment in open-source chaos rather than a functional tool. It is not suitable for production use or as a dependency.

RATING: 1.5/10 MAINT: stale DRIFT: high
── end of results ──
$ submit: