ImageForge
The source code is in a public repo on GitHub (source-available, PolyForm Noncommercial license).
ImageForge is a web-based image toolkit. It bundles the edits you usually need a handful of separate tools for into seven tools, with batch processing and bulk download built in.
Tools
- Convert — change the image format.
- Compress — make the file smaller.
- Resize / crop — change the size, or cut the image.
- Watermark — add a watermark to the image.
- Filters — apply image filters.
-
Metadata — view or strip the EXIF data baked into your photos (
exif-reader). -
AI background removal — runs entirely in your browser via
@imgly/background-removal(WASM in a Web Worker) — the image never leaves the device for this step.
How it is built
- One shared request handler for all six server tools — auth, rate limit, validation, storage, job record, and error mapping in one place. Each tool route is a thin wrapper.
- Server-side processing with Sharp — resize, crop, format conversion, compression, watermark, and filters.
-
Client-side compression before upload (
browser-image-compression) to keep things fast. -
Batch operations with one-click bulk download as a zip (
JSZip). - Pluggable storage — local disk by default, or S3-compatible storage when configured; download tokens for results.
- 24-hour file retention — a scheduler and a cron route delete files in batches of 200 and keep the job history.
- Accounts and data — Clerk authentication; Prisma + PostgreSQL for users and jobs.
- Tests — 50 automated test cases across 5 files with Vitest.
Summary
A batch-friendly image utility built with Next.js.
- Seven tools: convert, compress, resize / crop, watermark, filters, metadata view / strip, and AI background removal.
- Client-side AI background removal (WASM) and pre-upload compression.
- One shared server pipeline with Sharp, local or S3-compatible storage, and time-limited file retention.
- Clerk auth, Prisma + PostgreSQL; 50 Vitest test cases; Dockerfile prepared for Coolify on Hetzner Cloud.
This post is licensed under CC BY 4.0 by the author.
