Sharp is a high-performance Node.js native addon for image processing, built on libvips. It provides a fluent, chainable API for resizing, converting, and manipulating images in formats like JPEG, PNG, WebP, GIF, AVIF, HEIF, TIFF, SVG, and raw pixel data. The architecture cleanly separates a JavaScript API layer (in lib/*.mjs) from a C++ core (src/*.cc) that leverages libvips via N-API async workers, enabling non-blocking, multithreaded processing. The library supports streaming, buffer, and file-based I/O, and includes advanced capabilities such as ICC profile management, metadata preservation, animation handling, gain map support, and tiling for deep zoom formats. Sharp is distributed as prebuilt binaries for a wide range of platforms and architectures, with a build-from-source fallback. The codebase demonstrates strong engineering practices: a comprehensive unit test suite using node:test, a CI pipeline that tests on multiple OS/arch combinations, and meticulous handling of format-specific edge cases. It is actively maintained and keeps pace with libvips updates, with a low technical drift.
Tachyon is a production-grade serverless image resizing service built on AWS Lambda and S3. It takes HTTP requests that specify a path to an S3 object and query parameters (width, height, crop, quality, format, etc.), fetches the original image from S3 using the AWS SDK v3, resizes/transcodes it in-memory using the Sharp library (with support for animated GIF/WebP/PNG and smart cropping via smartcrop-sharp), and streams the result back to the client with appropriate cache headers. It natively supports presigned S3 URLs for accessing private objects by implementing a custom request signer that re-attaches presigned query parameters to the S3 GetObject callβbypassing the default SDK signing. The function is designed to be deployed as a single Lambda behind a Function URL (response streaming) or API Gateway, and includes a local development server for testing. While its primary use case is WordPress media handling (as part of the Human Made ecosystem), the core resizing and S3-fetching logic is framework-agnostic and could be adapted to any serverless image processing pipeline.