Skip to content

P-04 / Case study

Compressly Pro

A privacy-first toolkit to compress, convert and resize images in the browser.

Project type
Image optimisation product
My role
Designer & full-stack developer
Timeline
Feb – Aug 2026
Context
Own product · open source
Status
Live
Technologies
  • Laravel 12
  • PHP 8.2+
  • Intervention Image
  • DomPDF
  • Alpine.js
  • Tailwind CSS
  • Sentry
Compressly Pro homepage with an image drop zone and tabs for compress, convert, batch and resize
Fig. 1 — Homepage — one drop zone, several tools

01

The challenge

Large images are one of the most common reasons websites feel slow, especially on mobile data. Most free tools are cluttered, ask for sign-up, or keep uploaded files around.

02

My role

Designer & full-stack developer. Compressly Pro is a free online image tool built with Laravel. It compresses JPG, PNG, WebP and GIF files, converts between formats, resizes, watermarks, batch-processes into a ZIP and converts between images and PDF — with no sign-up. The public repository has more than 110 commits.

03

The approach

  1. 01Kept the interface to one job at a time: drop an image, pick a quality, compare, download.
  2. 02Processed images server-side with Intervention Image, with adjustable quality and format conversion.
  3. 03Made privacy a feature: uploaded files are deleted automatically after 30 minutes and no account is required.
  4. 04Added clipboard paste and drag-and-drop so the tool fits into a real workflow.

Development process

  1. Think
  2. Design
  3. Build
  4. Test
  5. Deploy
  6. Improve

04

Architecture overview

A simplified view of how the system is organised. Internal infrastructure details are intentionally left out.

P-04 · System overview
  1. InterfaceBlade views with Alpine.js for upload, progress and before/after comparison
  2. ProcessingLaravel controllers using Intervention Image v3 (GD / Imagick)
  3. StorageTemporary file storage with automatic clean-up after 30 minutes
  4. ContentAdmin CMS for blog posts, categories, tags and media; dedicated SEO landing page per tool
  5. OperationsMemory-guard middleware on processing routes, scheduled upload clean-up, Sentry error tracking

05

Key features

  • Compress

    JPG, PNG, WebP and GIF with an adjustable quality slider.

  • Convert

    Change format while compressing.

  • Resize & watermark

    Resize images and add watermarks.

  • Batch to ZIP

    Process several images and download them together.

  • Image ↔ PDF

    Convert images to PDF and PDF pages back to images.

  • Paste & compare

    Paste with Ctrl/Cmd+V and compare original and compressed side by side.

  • Content & SEO

    Admin-managed blog with categories, tags, RSS and an XML sitemap; a crawlable landing page for every tool.

—

Captured from the live website.

Compressly Pro image compressor on a mobile phone
Fig. 2 — Mobile layout

06

Challenges

Big files, small servers
Supporting uploads up to 20 MB while keeping memory use predictable — processing routes run behind a memory-guard middleware and uploads are cleaned up by a scheduled command.
Quality vs size
Choosing sensible defaults so most people never need to touch the slider.

07

The result

Live as a free public tool at compresslypro.com, with the full source on GitHub (119 commits between March and August 2026).

No metrics are published here unless they have been verified.

08

What I learned

“Building a product on my own meant owning every decision — from the upload limit to the copy on the button. It made me much more careful about defaults, because most users never change them.”

— Rupesh Dahal

Related writing

— / Contact

Need something similar built?

If you’re building a website, web application, business system or digital product, let’s talk.

Based in Nepal · UTC+5:45

rupesh@np
--:-- NPT
Esc