Skip to content

// project

CompressPower

A file conversion and compression service that handles images, PDFs, and documents across nine formats.

Date

Status

completed

Type

Web Application

CompressPower

Technologies Used

Next.jsReactTypeScriptBunHonotRPCPrismaPostgreSQLCloudflare R2RedisStripeBetter AuthTailwind CSS

CompressPower converts and compresses files across nine formats: JPG, PNG, WebP, BMP, GIF, TIFF, SVG, PDF, and DOCX. It offers dozens of conversion tools and a set of compressors, with the interface available in sixteen languages.

Common image jobs run in the browser through the Canvas API and pdf-lib, so they finish without uploading anything. Heavier work, like DOCX conversion, TIFF handling, PDF rendering, and bitmap-to-SVG vectorization, runs on a separate API service using Sharp, LibreOffice, pdftocairo, and vtracer, with finished files stored on Cloudflare R2.

The codebase is a Bun monorepo: a Next.js 16 web app, a Hono API service, and shared core and database packages. It uses Prisma with PostgreSQL, Redis for caching, Better Auth for accounts, and Stripe for subscriptions.

Highlights

  • Nine formats with dozens of convert and compress tools
  • Browser-side processing for common image jobs
  • Separate Hono API for the heavier server-side engines
  • Sixteen-language interface

Challenges

  • Most online converters upload every file to a server and wrap the result in ads or tight limits.

Outcomes

  • Nine file formats supported
  • Browser and server-side processing
  • Bun monorepo: Next.js web plus Hono API

// next

Interested in this project?

Check out more of my work or get in touch to discuss your ideas.