The Making of

Kishore's photo
·Sep 10, 2019·

min read

The Making of


The global photo count is rising swiftly due to the accessibility of digital cameras and camera phones. With people having multiple Social Media handles/accounts, we often like to put out pictures we clicked only to find them being used by strangers without proper authorization or being stolen. Watermarking is the best way to protect them. The usage of watermarking doesn’t confine to just Photographers. Real Estate professionals, local/budding Artists, Resellers from various domains are some among the others who use watermarking tools frequently. is a complete online photo watermarking tool. Images are processed inside the browser, they are never sent to server for processing. If you are curious to know about the tech specs behind, here is an overview of how it’s been developed.

Technology : Firebase — AngularJS 1.6 — FabricJS

Why AngularJS 1.6 ? AngularJS 1.6 has least conflicts with other modules, especially with Canvas, Fabric, Zip, Image converting libraries, etc,.

Time Taken: 3+ Months (Including deprecated feature templates)

Payment Method: Stripe

Current registered users: ~1000 (Most visitors are from Turkey and Spanish speaking countries)


  • Adds Text (Google Fonts)
  • Adds user Image
  • Saves user watermark as template for future watermarking
  • Downloads images as png, jpg (with quality adjustment)
  • Downloads as zip
  • Internationalization
  • Templates (Hidden Temporarily) Intro video

Lessons Learned: Templates enables to apply borders, designs, icons and colors to customize events/invitations/announcements. This is the most time spent feature of It took more than 50% of the total application development time. Unfortunately the feedback on this feature was negative, as the users found it complex and not very relevant to watermarking. Hence, Templates is temporarily hidden. I plan to do some usability study and add it back in the future with the modifications.

Most asked for feature is a direct ‘Download’ button on the screen.

Share this