← Back to builds

Prototype · Progressive Web App

ImgSqueeze: a batch photo tool built for how photographers actually work

A lightweight PWA that compresses, watermarks, renames, and exports photos in bulk — designed to install straight to a phone or desktop, with no app store required.

Role Design & Development
Stack React · Vite · vite-plugin-pwa · Canvas API
Status Live, deployed on Vercel
Platform Installable web app (iOS, Android, desktop)
ImageSqueeze app interface

The problem

Anyone who works with image files understands the tedious prep work that comes with every batch: compressing large files, adding watermarks, renaming images consistently, and exporting everything somewhere usable.

Existing tools often handle only one part of the process, add usage limits, only work in the browser, or require larger editing software like Adobe Lightroom Classic.

I wanted to create a tool that made this workflow faster and more accessible across devices.

Validation

I was not the only person with this problem.

A Reddit post in the WordPress community asked for a single tool that could handle both image compression and watermarking. The comments suggested multiple tools, but no clear option handled everything without limits or extra steps.

The tools existed. The workflow was still fragmented.

The whole point was to remove friction. If a photographer has to think about the tool, the tool is in the way.

Similar Tools

I reviewed existing tools like Watermarkly, which offers both image compression and watermarking.

However, each feature exists as a separate workflow. To compress and watermark the same images, users have to compress, save, re-upload, watermark, and save again.

Some controls also rely heavily on dropdowns and counters, adding unnecessary clicks for simple adjustments.

How It Works

Users can upload one or multiple images and:

  • Use preset compression options or choose a custom amount
  • Add a text or image watermark
  • Save watermark settings locally for future use
  • Rename batch exports with sequential numbering
  • Preview changes in real time
  • Export finished images

Design & Dev Choices

Simple interface

The design is intentionally minimal and easy to navigate, keeping the focus on the images and the task at hand.

Sliders over counters

Compression settings use a slider instead of counters, reducing clicks and making adjustments easier on mobile.

Collapsible controls

Settings are grouped into collapsible drawers to reduce clutter and keep the interface focused.

PWA access

ImqSqueeze was built as a Progressive Web App so users can access it across devices and install it for a more app-like experience.

Real-time preview

Changes automatically update in the preview so users can see the result before exporting.

Watermark customization

Users can add text or image watermarks, adjust their appearance, and save watermark settings locally for future use.

Mobile exporting

The original mobile workflow downloaded images as files. On iOS, this added extra steps because images were saved to browser downloads instead of the photo library.

I switched to the Web Share API so users could access native sharing options and more easily save or send images on mobile.

Tech Build

ImqSqueeze was built with React and Vite, using vite-plugin-pwa for installable PWA functionality.

The Canvas API handles watermark rendering, while browser-image-compression compresses images locally in the browser.

JSZip packages batch exports, and the Web Share API improves the mobile export experience by using the device’s native sharing options.

Real-World Feedback

I shared ImqSqueeze on social media while building and received early interest from photographers who recognized the workflow problem.

The tool is currently being tested by users while I collect feedback on usability, mobile behavior, and the overall image prep workflow.

Building With AI: My Approach

I used AI throughout development to explore implementation options, debug issues, and move quickly from idea to working product.

My approach was to treat AI as a collaborator, not the decision-maker. I defined the problem, chose the features, tested the workflows, reviewed the code, and continuously evaluated the output through both a design and development lens. The first iteration worked, but it was clunky and hard to navigate. I continued refining the product based on usability, visual hierarchy, cross-device behavior, and the overall experience I wanted to create.

AI helped me move faster, but I remained responsible for deciding what worked, what needed to change, and how the final product should function and feel.

Try ImqSqueeze

ImqSqueeze can be used directly in your browser or installed on your device for a more app-like experience.

On Iphone or Ipad

  1. Open ImqSqueeze in Safari
  2. Tap the Share button
  3. Select Add to Home Screen
  4. Tap Add

On Andriod

  1. Open ImqSqueeze in Chrome
  2. Tap the three-dot menu
  3. Select Add to Home screen or Install app
  4. Follow the prompt to install

On Desktop

Open ImqSqueeze in a supported browser and select the Install option in the address bar when available.

Try ImgSqueeze here