thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #web-application
remix-run/remix ★ 33385 2792 APPLICATION

This repository is the Remix framework monorepo, implemented as a modular collection of 50+ independently versioned TypeScript packages under `packages/*`, all re-exported through a single `remix` meta-package. In production it provides a full-stack web framework built directly on Fetch/Streams standards: a typed fetch-first router with composable middleware, a custom JSX/Virtual DOM component runtime with SSR, hydration, frames, and CSS-in-JS, an asset server and compiler pipeline, authentication/session/security middleware, typed data validation and relational data-table packages with migrations, and a CLI for scaffolding, development, testing, and database operations. The repository is not a single deployable application; demos such as bookstore, social-auth, timeboxer, i18n, SSE, and the docs sites are first-party consumers that exercise the framework end-to-end.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
miniflux/v2 ★ 9794 948 APPLICATION

Miniflux is a self-hosted, minimalist RSS/Atom feed reader implemented as a monolithic Go web application. It relies exclusively on PostgreSQL for persistence and serves a server-rendered web UI, a comprehensive REST API, and compatibility endpoints for the Fever and Google Reader APIs. The application is designed for low resource consumption and easy deployment, evidenced by its single-binary nature and extensive packaging (Docker, RPM, Deb, systemd). The core strength of the codebase lies in its feed ingestion pipeline, which demonstrates exceptional defensive programming against the chaotic and non-standardized world of web feeds. This pipeline includes robust format detection (RSS, Atom, RDF, JSON Feed), character encoding detection for legacy charsets, a port of the Mozilla Arc90 readability algorithm for content extraction, a highly restrictive HTML sanitizer with SSRF protection, and a DSL-based content rewrite engine. The system supports multi-user authentication (local, OAuth2, WebAuthn), extensive third-party integrations (Discord, Slack, Telegram, Pinboard, etc.), and background job processing for feed refreshes. The codebase exhibits high craftsmanship with clean abstractions, consistent builder patterns, and thorough testing (unit, integration, fuzz). Several components, such as the SSRF-safe HTTP client builder, the readability extraction algorithm, the i18n pluralization engine, and the HTML sanitizer, are isolated, well-documented, and could be extracted for use in other Go projects. The project is actively maintained with modern Go features, zero Dependabot alerts, and a strong CI/CD pipeline. The main maintenance burden is the sprawl of third-party integrations and the monolithic JavaScript frontend, but the core Go server code is exceptionally well-engineered.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 10 reusable components found
laravel/framework ★ 34942 12005 APPLICATION

This is the core source code of the Laravel framework, a full-stack web application framework for PHP. It provides a comprehensive set of components including routing, an ORM (Eloquent), caching, queue management, mail, notifications, authentication, session handling, validation, and a command-line interface (Artisan). The architecture is modular, organized as a monorepo with each major subsystem in its own namespace under src/Illuminate. Key entry points are the HTTP kernel (src/Illuminate/Foundation/Http/Kernel.php), the console kernel (src/Illuminate/Foundation/Console/Kernel.php), and the Application class (src/Illuminate/Foundation/Application.php). Data flows through a request lifecycle: incoming HTTP request is handled by middleware, routed to a controller, which interacts with Eloquent models and returns a response. Queues and events provide asynchronous processing. External dependencies include Symfony components (HttpFoundation, Console, Process, VarDumper), PHP extensions (PDO, Redis, etc.), and optional cloud services (AWS S3, DynamoDB, etc.). The framework emphasizes testability with extensive integration tests and fakes.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
gchq/CyberChef ★ 36041 4167 APPLICATION

CyberChef is a web-based cybersecurity toolkit for data manipulation, analysis, and transformation. It operates entirely client-side, enabling users to perform operations like encoding, encryption, compression, and data analysis without transmitting data to external servers. The application features a modular architecture where each operation is a self-contained class that can be chained together in recipes to create complex data transformation pipelines. The system is built with a clear separation of concerns: a core processing engine (Chef) handles operation execution, a web interface provides user interaction, and web workers offload intensive tasks to maintain responsiveness. Operations define explicit input/output types, and a dish type system ensures safe data handling across transformations. The project includes a Node.js API for programmatic access and a comprehensive test suite to ensure reliability. Key reusable components include the Operation base class (enabling a plugin architecture for new transformations), the Utils library (providing encoding/decoding and conversion utilities), and the Dish type system (abstracting data handling). The project demonstrates strong engineering practices with active maintenance, low technical drift, and a focus on security and performance through client-side processing and worker-based offloading.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
lissy93/awesome-privacy ★ 9964 678 APPLICATION

Awesome Privacy is a curated directory of privacy-respecting software and services, accessible via a public website and API. The repository centers around a single source of truth YAML file (`awesome-privacy.yml`) that catalogs tools across categories like Essentials, Communication, and Security Tools. This data is processed by a Python-based toolchain (`lib/`) for validation, changelog generation, and README updates, while a modern web frontend (`web/` built with Astro and Svelte) provides interactive browsing and search, and a TypeScript API backend (`api/` using Hono) serves JSON endpoints and enriches service data with metadata from external sources like GitHub, Docker Hub, and app stores. The architecture cleanly separates data, processing, and presentation layers, with robust caching, rate limiting, and authentication in the API, and client-side search via MiniSearch in the web app. The project emphasizes maintainability through automated PR checks, dependency management, and clear contribution guidelines, though it relies on numerous third-party APIs for enrichment, introducing potential external dependency risks.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
TryGhost/Ghost ★ 55492 11984 APPLICATION

Ghost is a professional publishing platform (CMS) with a strong focus on content creation, newsletters, memberships, and monetization. The system provides a full-stack solution: a Node.js/Express backend serving admin and public APIs, multiple frontend applications including an admin interface (React with legacy Ember migration), a Lexical-based rich text editor (Koenig), membership/portal UI, comments, signup forms, and an ActivityPub integration. The architecture follows a monorepo structure managed with pnpm and Nx, featuring adapters for cache/storage/scheduling, a domain events system, and versioned database migrations. Key entry points include `ghost/core/index.js` for the backend server and `apps/admin` for the admin SPA. Data flows involve content authored via the editor, stored in a relational database (via Knex/Bookshelf), served through REST APIs, rendered via Handlebars themes, and distributed through email campaigns (Mailgun) and RSS.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
OctoPrint/OctoPrint ★ 9143 1696 APPLICATION

OctoPrint is a full-stack web application for controlling and monitoring 3D printers. In production it runs as a Python server that exposes a Flask-based REST API and a SockJS/WebSocket real-time channel, while serving a Knockout.js single-page frontend. The core system talks to printers over serial connections through a stateful connector, parses G-code for print-time and filament analysis, manages file storage across local/SD/printer backends, coordinates slicing jobs, captures and renders timelapses, and enforces granular permissions with user/group management. It is a monolith with a deeply embedded plugin architecture: mixins (StartupPlugin, SettingsPlugin, BlueprintPlugin, EventHandlerPlugin, etc.) and hook dictionaries let third-party code extend nearly every layer, from API routes to G-code processing to the UI. The primary entry points are the `octoprint` CLI (serve, config, user, plugins, timelapse, analysis), the package's `__main__.py`, and the server initializer that wires together settings, logging, plugins, event management, and printer connectivity. Data flows center on the frontend interacting with REST/WebSocket endpoints, which delegate to core managers: `FileManager`, `SlicingManager`, `PrinterStateConnection`, `EventManager`, `Timelapse`, and the serial connector. External dependencies include sarge/pyserial for serial and process execution, ffmpeg for timelapse rendering, requests for update checks and plugin repository access, and optional network services (announcements, tracking, discovery). The codebase contains an extensive test suite spanning unit tests, HTTP API tests, serial parser tests, and Playwright end-to-end tests, plus thorough Sphinx documentation. OctoPrint is actively maintained, with recent commits, a large issue tracker, and a mature contributor ecosystem. The backend uses modern Python packaging, Pydantic schemas, and pinned dependency ranges, but the frontend carries significant legacy weight: Knockout.js, jQuery, Bootstrap 2/3-era assets, and deprecated API methods marked for removal in 3.0.0. This mixed state makes the project solidly engineered but with noticeable technical debt. It is not a data-research repository; the data it handles is operational telemetry, G-code metadata, user settings, and printer state, all serving real-time control rather than analytical workloads.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
hledgerorg/hledger ★ 4766 416 APPLICATION

hledger is a cross-platform plain text accounting application that provides three user interfaces: a command-line tool (hledger), a terminal UI (hledger-ui), and a web UI (hledger-web). It implements double-entry bookkeeping with support for multiple currencies, investment lot tracking, budgeting, forecasting, and CSV import. Users maintain their financial data in human-readable journal files, and hledger generates reports such as balance sheets, income statements, cash flow, and transaction registers. The project is structured as a Haskell monolith with four packages: hledger-lib (core library for parsing, data models, reporting, and output), hledger (CLI with 30+ commands), hledger-ui (terminal interface using brick/vty), and hledger-web (web interface using Yesod). The core library handles reading multiple input formats (journal, CSV, timedot, timeclock), applying queries and filters, and writing reports in text, CSV, JSON, HTML, and ODS formats. The CSV import system uses a declarative rules engine for mapping external data to journal entries. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage (unit tests, shell tests, browser-based Playwright tests), and active maintenance with CI/CD across Linux, macOS, and Windows. It has comprehensive documentation, internationalization support, and a well-defined contribution process. While the project has some technical drift (vendored old web dependencies, multiple build systems), it remains a robust and well-engineered application with several reusable components that could be extracted for other projects.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
projectsend/projectsend ★ 2002 355 APPLICATION

ProjectSend is a self-hosted secure file sharing platform built as a modular Laravel application with an Inertia.js + React frontend. The codebase is organized into domain modules — Files, Clients, Groups, Identity, Comments, Notifications, Audit, Platform, and Api — each containing controllers, services, policies, models, and event hooks. Staff members upload and share files with clients or groups, manage roles and permissions, enforce download limits, expire or version files, and monitor activity through a detailed audit log. Clients access their own portal with four switchable themes (default, compact, drive, gallery), and public share links support additional presentation themes with pagination, previews, and controlled downloads. The application is a monolith with strong modular boundaries rather than microservices. Authentication supports local accounts, LDAP, social login/SSO via OIDC, two-factor authentication, CAPTCHA, and password policies. A REST API protected by Sanctum tokens offers scoped abilities, RFC 7807 problem details, polling-based pagination, and an OpenAPI contract that is drift-tested against the live route surface. Background jobs handle zip downloads, email digests, thumbnails, file cleanup, and scheduled maintenance. The system persists settings, activity logs, notification preferences, and upload metadata in a relational database, while file payloads can be stored on local disks, S3-compatible storage, or Google Cloud Storage. The code is notably security-conscious: secrets are encrypted at rest, old input flashing excludes credentials, CSRF cookie naming is customized to avoid collisions, download paths are never exposed in API responses, and regression tests cover disclosure boundaries, permission scoping, token revocation, and account erasure. The test suite is extensive, using Pest feature tests to exercise permissions, file lifecycle edge cases, version chains, comment visibility, API contracts, and authentication flows. The architecture favors event-based extension points and registry patterns, making modules independently testable and partially reusable, though the project remains an application rather than a framework or library. Overall this is a well-crafted, actively maintained application with clean engineering practices, clear separation of concerns, and unusually thorough security regression coverage. Its main complexity is the large surface area of interchangeable themes, editions, authentication backends, and storage drivers, which creates some ongoing drift risk, but current CI, recent commits, and dependency management show the project is keeping pace with its ecosystem.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
dbeaver/cloudbeaver ★ 5197 573 APPLICATION

CloudBeaver is a web-based database management tool with a client-server architecture. The frontend is built with React/TypeScript using MobX for state management, while the backend is a Java-based OSGi/Eclipse plugin architecture using Jetty and servlets. Communication between frontend and backend occurs via GraphQL. The system features extensive plugin architecture on both frontend and backend, allowing for extensibility in database connections, SQL editing, data visualization, administration, and AI-assisted features. It supports connections to numerous database types via JDBC and includes comprehensive localization, theming, and settings management.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cedricbonhomme/newspipe ★ 495 47 APPLICATION

Newspipe is a self-hosted web news aggregator (RSS/Atom feed reader) built with Flask. It provides a full-featured reading experience with multi-user support, two-factor authentication, role-based access control, and a RESTful API. The system fetches feeds asynchronously using asyncio, sanitizes content against XSS, and guards against SSRF via IP pinning. It supports categories, bookmarks, tags, notes, search, infinite scroll, and a resizable reading pane. Data can be imported/exported in OPML and JSON formats, and it integrates with Pinboard for bookmark import. The frontend uses Bootstrap 5, Chart.js, and Luxon for relative dates, with i18n support for English, French, and German. The architecture follows a layered pattern: Flask blueprints for views, controllers for data access (with a generic AbstractController), SQLAlchemy models, and utility libraries for security and data handling. The crawler is a separate async module that can be invoked via CLI or cron. The codebase demonstrates strong security practices (CSP, CSRF, safe redirects, input sanitization) and includes unit tests for security-critical components. While the project is well-structured and actively maintained, there is a known bug where non-admin users with API access cause a 500 error on article updates due to a tag association proxy issue.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
vikas-bhat-d/vtu-autopilot ★ 291 15 APPLICATION

The VTU Autopilot is a tool designed to automate the completion of online courses offered by the Visvesvaraya Technological University (VTU). It provides a web interface, a command-line interface, and a REST API for users to submit their VTU credentials and course slug, after which the system automatically logs in, retrieves the course structure, and attempts to mark each lecture as complete by sending progress updates to the VTU API. The system handles retries, network errors, and edge cases such as lectures with zero duration (which are skipped permanently). The architecture consists of a Node.js/Express server that manages a job queue with concurrency control, ensuring that only a limited number of jobs run simultaneously to avoid overloading the VTU servers. Each job is processed by the automation engine, which encapsulates the logic for interacting with the VTU API. The server also provides real-time progress updates to the client via Server-Sent Events (SSE) and persists job state and queue information in Redis (with an in-memory fallback) to survive restarts. The frontend is a single-page application that presents a user-friendly interface for submitting credentials, tracking job progress, and viewing completion statistics. Two key components stand out for their reusability and craftsmanship: the automation engine (automation.js) and the Redis-based persistence layer (lib/redis.js). The automation engine is a self-contained module that handles the entire process of logging in, fetching course data, and processing lectures with intelligent retry logic and duration caching. The persistence layer provides a generic solution for job queue management and state persistence with Redis, complete with deduplication and graceful fallback to in-memory storage. Both components demonstrate non-obvious skill in handling the specific challenges of the VTU API and the requirements of a reliable job processing system.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
TheAxelander/OpenBudgeteer ★ 973 63 APPLICATION

OpenBudgeteer is a personal budgeting application built with .NET 9.0 featuring a Blazor WebAssembly frontend and ASP.NET Core Web API backend. It implements the bucket budgeting methodology, allowing users to manage financial accounts, transactions, budget categories (buckets), automated transaction rules, recurring transactions, and financial reporting. The application supports multiple database providers (MySQL, PostgreSQL) and uses Redis for session storage and application settings. The architecture follows a layered approach with distinct data, service, presentation, and API layers. The data layer uses Entity Framework Core with a repository pattern for data access. The service layer provides business logic through generic and EF Core-specific services. The presentation layer employs the MVVM pattern with Blazor components and ViewModels handling UI state and logic. The API layer exposes RESTful endpoints for the frontend to interact with the backend. Key reusable components include a generic repository pattern, a generic service pattern, a ViewModel base class for Blazor, a fluent CSV bank transaction mapper, and a MudBlazor theme persistence service. These components demonstrate craftsmanship in abstraction and separation of concerns, making them suitable for extraction and reuse in other projects. The application is actively maintained with recent updates to .NET 9.0, MudBlazor, and ApexCharts, indicating low technical drift.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
spring-projects/spring-petclinic ★ 9579 30830 APPLICATION

This repository is the official Spring PetClinic sample application, a classic web application for managing a veterinary clinic's owners, pets, and visits. It is built as a Spring Boot monolith using Spring MVC, Spring Data JPA, Thymeleaf templating, and an H2 in-memory database by default, with optional MySQL and PostgreSQL backends. The application demonstrates a wide range of Spring Boot features including caching (JCache), internationalization (10+ languages), form validation, custom formatters, and comprehensive testing with JUnit 5, Mockito, and Testcontainers. It also includes a JMeter load test plan, Kubernetes deployment manifests, and CI/CD workflows for Maven and Gradle. The architecture follows a standard layered pattern: controllers handle HTTP requests, repositories provide data access via Spring Data JPA, and Thymeleaf templates render the UI. Domain models use a clean inheritance hierarchy (BaseEntity, NamedEntity, Person) to reduce duplication. The codebase is well-structured and serves as a reference for Spring Boot best practices, though it is intentionally a sample and not a production-ready system. It is actively maintained by the Spring team and tracks the latest Spring Boot releases. Key functional areas include owner management (CRUD with search), pet management (with duplicate name detection), visit scheduling (with future-date validation), and a veterinarian listing page. The application also includes a crash controller to demonstrate error handling and a welcome page. The code is clean, well-tested, and follows Spring conventions, making it a valuable learning resource for developers new to Spring Boot.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gitbucket/gitbucket ★ 9402 1264 APPLICATION

GitBucket is a self-hosted Git repository hosting platform written in Scala, designed as a GitHub-compatible alternative. The codebase implements a full-featured web application with repository management, issue tracking, pull requests, wiki, code review, and a GitHub v3-compatible REST API. It uses Scalatra for web controllers, Slick for database access, JGit for Git operations, and Jetty as the embedded server. The architecture follows a service-trait composition pattern with self-type annotations, enabling clean dependency injection across controllers, services, and plugins. Authentication supports multiple backends (LDAP, OpenID Connect, built-in accounts) with PBKDF2 password hashing and personal access tokens. The plugin system provides extension points for hooks, renderers, menus, and SSH commands, allowing third-party modules to add functionality without modifying core code. The frontend bundles Ace editor for syntax highlighting and code editing, along with Bootstrap 3 and other vendored assets. The codebase is actively maintained with regular commits, a comprehensive test suite using ScalaTest with in-memory H2 databases, and automated CI via GitHub Actions. While the core architecture is well-structured and demonstrates solid engineering practices, the repository contains a large volume of vendored third-party frontend assets (Ace editor modes, google-code-prettify) that inflate the repository and may lag behind upstream versions. Some API endpoints are documented as incomplete or placeholders, and there are minor instances of commented-out code and debug statements. Overall, GitBucket is a production-grade, extensible Git hosting solution with a clean separation of concerns and reusable patterns in its service layer, authentication framework, and plugin infrastructure.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
PrivateBin/PrivateBin ★ 8676 1039 APPLICATION

PrivateBin is a self-hosted, zero-knowledge pastebin web application. The PHP backend (Controller, Model, Data) handles paste/comment lifecycle, expiration, deletion, traffic limiting, and storage backend selection; the JavaScript frontend performs all encryption/decryption in the browser using AES-256-GCM (WebCrypto) with PBKDF2 key derivation and optional zlib/WASM compression. The server only ever stores ciphertext and metadata, never plaintext. Data flows from browser encryption into a pluggable persistence layer (filesystem, PDO database, Google Cloud Storage, S3), then back to the browser for decryption; JSON API endpoints accept and return encrypted bodies. Architecturally it is a classic server-rendered MVC app with a frontend state layer: index.php bootstraps a Controller, which delegates to Paste/Comment models over an AbstractData storage interface. Views are rendered via PHP templates with Bootstrap 3/5 themes, and the frontend is a vanilla-JS module namespace (PrivateBin) with submodules for encryption, editor, viewer, discussion, attachments, and i18n. The feature set includes expiration times, burn-after-reading, password-protected pastes, discussion threads, file attachments, URL shortening proxies (YOURLS/Shlink), QR codes, dark mode, and multi-language support. Engineering practices are strong for a mature open-source project: PHPUnit tests cover backend behavior, fast-check property tests cover frontend utilities, CI includes CodeQL/Snyk scans, and security hardening (DOMPurify, CSP, SRI hashes, HTTPS guidance) is explicit. Maintenance is active with recent commits and issue triage. Technical drift is moderate: the project retains legacy browser support and old Bootstrap 3/darkstrap assets, still supports PHP 7.4, and ships a monolithic JS file without a build step, but pinned frontend libraries (Bootstrap 5.3.8, Showdown 2.1.0, DOMPurify 3.4.17) are current.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
smittix/intercept ★ 2303 323 APPLICATION

iNTERCEPT is a comprehensive web-based signal intelligence and RF monitoring platform built with Flask and a vanilla JavaScript frontend. It integrates over 20 distinct signal decoding modes (ADS‑B, AIS, ACARS, APRS, POCSAG/FLEX pager, SSTV, weather satellites, Bluetooth, WiFi, TSCM, drone detection, and more) into a single unified dashboard with real‑time streaming via SSE and WebSockets. The backend provides an SDR hardware abstraction layer (RTL‑SDR, HackRF, Airspy, LimeSDR, etc.) with device claiming, subprocess management, and a command‑builder pattern. The frontend features mode‑specific JavaScript modules with IIFE lifecycle methods, Leaflet map overlays, and reusable UI components (signal waveform, proximity radar, channel chart). While the primary character is an application, it also incorporates data‑research elements such as a bundled signal identification database, TLE‑based satellite pass prediction, and a heuristic signal‑guessing engine. The repository shows strong engineering with comprehensive test coverage, active maintenance, and several isolated reusable patterns like the SSE fanout system, DataStore cleanup manager, and validation utilities.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
tastejs/todomvc ★ 28954 13707 APPLICATION

The TodoMVC repository serves as a collection of reference implementations of the TodoMVC specification across numerous frontend frameworks. It provides a static file server (server.js) to serve these examples and includes comprehensive Cypress-based test infrastructure to validate implementations against the specification. Each framework implementation is self-contained in the examples/ directory, with shared assets in todomvc-common/ and todomvc-app-css/. The repository enables comparative evaluation of frameworks through identical feature implementations and automated testing.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
jenkinsci/jenkins ★ 26618 9832 APPLICATION

Jenkins is the leading open-source automation server, providing a web-based platform for continuous integration and continuous delivery (CI/CD). In production, it orchestrates build, test, and deployment pipelines triggered by SCM changes, scheduled intervals, or manual requests. The architecture is a monolithic Java web application with a plugin-based extension system, using Stapler for URL routing, Jelly/HTML views, and a modern JavaScript frontend bundled with webpack. Key entry points include the central `Jenkins` singleton, a rich set of CLI commands (e.g., `BuildCommand`, `CreateJobCommand`), and a REST-like API. Data flows involve job scheduling via the `Queue`, execution on agents (controller/agent architecture), SCM checkout, build steps, artifact archiving, and result reporting. External dependencies include a servlet container (Jetty), Spring Security (migrating from Acegi), XStream for XML persistence, and numerous libraries for remoting, templating, and UI components. The codebase is highly extensible through `@Extension` points, descriptors, and a well-defined plugin lifecycle.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
4lejandrito/creepyface ★ 491 21 APPLICATION

Creepyface is a JavaScript library that makes HTML images follow the pointer (mouse/finger/touch) by switching between different angled images. It consists of a core library, React and custom element wrappers, and point provider plugins for dance, firefly, and tilt tracking. The repository also includes a Next.js website that demonstrates the library and allows users to create and share their own creepyfaces. The architecture uses a monorepo with Lerna/Yarn workspaces, featuring a clean separation between the core library logic, UI wrappers, and the demonstration site with its own backend for image processing and storage.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
$ loading more...
$ submit: