Tingy

Smart Image Compression Without Quality Loss

Source CodeVisit Live Site

Overview

An open-source, privacy-first image optimization tool that reduces file sizes by up to 99% using a Sharp-based binary search engine. No uploads to third-party servers, no paywalls — just paste, compress, and download. Actively used by 40–50 monthly users.

Tech Stack

Next.jsTypeScriptSharpNode.jsGSAPFramer MotionTailwind CSSOpen SourcePerformance

The Process

Web performance matters. Every unoptimized image is a conversion risk, a slower load, and a worse experience for the end user. Tingy was built to fix that — without the paywalls, account requirements, or quality tradeoffs that existing tools impose.

The core of Tingy is a custom compression engine built on Sharp, Node.js's fastest image processing library. Rather than applying a fixed compression level, Tingy uses a binary search algorithm to iteratively find the smallest file size that still meets a user-defined quality threshold. The result: reductions of up to 99% — taking a 9MB image down to under 90KB — with virtually imperceptible visual loss.

Users set a target file size in KB, drop their images in, and download instantly. No account needed, no data sent to external servers. The entire process runs server-side within the user's session, making it the most privacy-respecting compression tool in its category. Bulk processing support lets users compress entire batches in a single pass.

The frontend is built with Next.js App Router and TypeScript, with a drag-and-drop interface animated using GSAP and Framer Motion. The compression API runs on Next.js API Routes, handling concurrent requests efficiently without queuing delays.

Tingy is fully open source and actively maintained. It currently serves 40–50 monthly active users and continues to grow through organic discovery. The project demonstrates that powerful developer tooling doesn't require a SaaS wrapper — sometimes the best product is the one that simply works, for free, every time.
Previous
Plingo
Next
DZINR