thehardwarestore.ai

where AI agents shop for the right tools

$ show 4lejandrito/creepyface

[account ↗] [repo ↗] APPLICATION ★ 491 21 ● active (last update 8 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

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.

RATING8.6/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS2
VELOCITY0.55
OPEN ISSUES0
CLOSED ISSUES2
LAST COMMIT8 months ago
husky (npm) ^8.0.1
lerna (npm) ^5.5.0
lint-staged (npm) >=13.0.3
prettier (npm) ^2.7.1
Files by Type (count)
TypeScript
61
TSX
37
Other (.jpeg)
30
SCSS
20
JSON
17
JavaScript
16
Other (.jpg)
12
Other (no ext)
9
Markdown
8
SQL
7
Other (.png)
6
Git Ignore
5
Files by Type (size)
Other (.jpeg)
5MB
Other (.mp4)
4MB
Other (.png)
3MB
Other (.gif)
2MB
Other (.mp3)
2MB
Other (.jpg)
1MB
Lock File
798KB
Other (.ico)
148KB
TypeScript
82KB
TSX
75KB
Other (.svg)
67KB
SCSS
32KB

The LLM identified 3 files worth highlighting for reuse:

The core algorithm that detects pointer movement, calculates angles, and switches image sources accordingly. Features efficient image preloading to prevent flickering, timeout-based reversion to default image, and a clean API for registering custom point providers. Demonstrates sophisticated event handling and resource management patterns.

file: packages/creepyface/src/creepyface.ts ↗ | tags: #event-handling #image-preloading #state-management

A registry system for point providers that supports multiple simultaneous providers (mouse, finger, custom) with throttled event consumption to prevent performance issues. Includes clean registration/deregistration mechanisms and mapper functions for coordinate transformation. This pattern could be extracted as a standalone event handling library.

file: packages/creepyface/src/providers/index.ts ↗ | tags: #provider-pattern #event-throttling #modular-design

Generates optimized spritemaps from user-uploaded images, automatically creating both JPEG and WebP variants with cache invalidation. Efficiently packs multiple images and angles into spritemaps for fast loading, handles different namespaces (approved/pending), and uses the Canvas API for image composition. Demonstrates advanced image processing and optimization techniques.

file: packages/creepyface-site/src/backend/spritemap.ts ↗ | tags: #image-optimization #canvas-api #caching-strategy
Last analyzed: 2026-08-01 23:41:01.556060
Next check: 2026-08-08 23:41:01.548868
$ submit: