sharp icon indicating copy to clipboard operation
sharp copied to clipboard

Survey: what are you using 'sharp' for?

Open lovell opened this issue 10 years ago • 46 comments

I'm truly humbled by the recent surge in support for sharp.

Whilst :star: and the trending status they bring are both amazing, thank you, the real measure of open source success is happy users.

I'd love to find out more about how you or your organisation are using (or plan to use) this module.

Feel free to add a comment with details of who you are, what you're doing with it and why you chose it. Alternatively let me know via @lovell on Twitter.

Thank you!

lovell avatar May 23 '14 09:05 lovell

Hi Lovell,

at https://kraken.io we process millions of images every month. Speed and resources consumption are the most important factors for us. That's why now we look closely at your project and libvips itself. After our initial tests we decided to give it a try and deploy our sharp-enabled apps to a tiny number of our API machines and see how it behaves in production.

Keep up your good work. We will definitely give you a shout after our trials.

kraken-io avatar May 23 '14 12:05 kraken-io

@lovell

Great work and thanks for introducing libvips to the node.js ecosystem.

At http://timesmachine.nytimes.com We generate and optimize millions of thumbnails from original New York Times newspaper scans, which happen to be very large tiff files with dimension (~6000 × 6700). That's 40.2 million pixels for one image file. This creates a major performance bottleneck for our thumbnail generation pipeline.

For more information about what we are doing with images: http://searchaws.techtarget.com/news/2240220787/New-York-Times-goes-back-to-the-future-with-AWS-storage

ttback avatar May 27 '14 21:05 ttback

building an image service like imgur and kraken, but i plan to always make it free and public because https://github.com/mgmtio/simgr

right now i'm testing it on heroku, but i'm running into memory problems and i don't want to pay for a better server haha

jonathanong avatar May 29 '14 10:05 jonathanong

StoryDesk is using sharp in prod for resizing and optimizing all the user content uploaded to our cloud based presentation app. We also use it behind the scenes to resize image captures of presentation pages for thumbnail generation.

We choose sharp because it is fast and efficient compared to the alternatives.

nathanpeck avatar Aug 11 '14 20:08 nathanpeck

http://unsplash.it/ Uses sharp for serving user-defined sizes of images, because of it's usability and speed

DMarby avatar Aug 16 '14 21:08 DMarby

I'm using sharp to crop/resize assets on the fly for various sites (mainly portfolio/image heavy), I've used Imagemagick for years and have been amazed at the performance gains. I was prompted to investigate alternatives by the guy behind http://images.weserv.nl/ who pointed out how slow it was.

homerjam avatar Oct 25 '14 14:10 homerjam

We are using Sharp as part of an in-house on-the-fly image re-sizing cluster to handle all of our real estate listing photos at HomeFinder.com. Our old system used ImageMagick to pre-process photos before publication on the web. Your library with libvips is fast enough that we can handle all the photo manipulation on-demand, giving us the flexibility to use any photo size we want on the site, while only processing photos that are actually seen by our visitors.

bradisbell avatar Nov 06 '14 20:11 bradisbell

We're using Sharp to resize / optimize / generate thumbnails of images uploaded by our users and manipulate page screenshots on IgniteTeaching.com and our iPad app. I've been very impressed with the performance and the responsiveness of the maintainers - thanks so much for keeping up the great work!

thisjustin avatar Nov 07 '14 17:11 thisjustin

We are using sharp to deliver dynamically resized and retina optimized movie posters for the streaming services youseeplay.dk and blockbuster.dk.

aronallen avatar Feb 25 '15 10:02 aronallen

I am working on replacing my php script that get the images from the ftp server and resize it. Nodejs and Sharp seems to use less resources then php.

Zewy avatar Apr 14 '15 09:04 Zewy

@FiftyThree uses sharp on our Mix backend to pyramid (resize) our user image uploads into different resolutions as well as compositing PNGs onto different background colors (hence #94). We previously used ImageMagick and improved our image processing performance by several factors once we switched to sharp. Thanks for all your hard work on this, @lovell :heart:

gasi avatar Apr 22 '15 23:04 gasi

We are using Sharp at InVisionApp in increasing amounts as we replace legacy ColdFusion code with node microservices. We are using it for thumbnails as well as general resizes, and chose to use Sharp due to the performance gains compared to Image Magick

Robert-Wett avatar Jul 10 '15 20:07 Robert-Wett

On the fly local and s3 image resizer.

pajtai avatar Aug 31 '15 23:08 pajtai

Image validation/resize on upload and tile() for breaking big floor plans into tiles to show them with Leaflet.

x-cray avatar Sep 21 '15 07:09 x-cray

We're using sharp as the guts of an on demand image resizing service. Signal is a group video chatting app that allows you to browse photos, youtube videos, and the like synchronously with your friends. Internet together! https://signal.is/

cassieramen avatar Oct 01 '15 15:10 cassieramen

Hey Lovell, great module!

We're using sharp at GoDaddy via an open-source image server, ImageSteam. This allows us to serve only the bytes required by the device viewing the page, enabling much better user experiences.

asilvas avatar Nov 12 '15 16:11 asilvas

Thank you Lovell, for the great module. We at https://app.covve.com are using sharp as part of our avatar micro-service both for creating standard sizes for our common cases as well as transforming avatars on the fly for the not so common requests. Covve is serving millions of contacts to its users and most of them have avatars, so we are putting your module to a good use.

masimplo avatar Nov 12 '15 17:11 masimplo

We use sharp to resize originals & generate thumbnails. In normal site mode gm was ok, but for migration we have to process 1M of images, and sharp is significantly faster.

puzrin avatar Nov 14 '15 13:11 puzrin

It is used to optimize & presize facial photos. Made a handheld mobile access card reader solution for Kaba and instead of having to push images up to 500KB down a 3G or wifi network we now have in general only some 10 to 15KB per image. With up to 64k images that is rather a lot less bandwidth and loading time

PeterNierop avatar Feb 26 '16 14:02 PeterNierop

at http://sunshineapp.com we are creating an application that use DLNA and peer to peer to give the users the ability to browse and stream there files across all devices in realtime and we are using sharp in our nodewebkit desktop app for collecting files info and generating thumbnails for all image files and it is Amazing :)

digital-flowers avatar Aug 23 '16 07:08 digital-flowers

We sync images to an ios app, since the images are too big in width/heigth and filesize, I just landed here =)

pablomaurer avatar Mar 16 '17 08:03 pablomaurer

Generate image thumbnails for pre-existing assets and also to rotate mobile images when being uploaded from the client.

longieirl avatar Sep 29 '17 14:09 longieirl

Using to convert tiffs to pngs to display in browser

MattJeanes avatar Sep 29 '17 16:09 MattJeanes

We use sharp to convert and resize PNGs/JPEGs into bitmaps for use in a webgl context on a headless instance.

dhritzkiv avatar Sep 29 '17 17:09 dhritzkiv

We use sharp to stream and transform screenshots generated by chrome headless and store them in google cloud storage. We use them for customer-facing images as well as internal screenshots that are taken and analyzed for visual regressions.

sourcec0de avatar Dec 11 '17 22:12 sourcec0de

Extracted compressing user uploaded images to AWS Lambda for speed, cost, scalability.

In future, we will extract resizing/cropping operations from app to Sharp @ Lambda as well.

pavelloz avatar Jan 24 '18 12:01 pavelloz

Hi @lovell , thank you for this amazing project! I'm using it to build Caravaggio. Without sharp it wouldn't be possible, or at least so easy to realize! I'll let you know when it will be production ready.

ramiel avatar Feb 11 '18 00:02 ramiel

Lazily compressing admin-supplied images in jpg/png format to web-ready jpg/png/webp.

Results are stored on disk under a predictable URL (size+aspect ratio+type), so if the file is not on disk it is auto-generated.

I take care to use webp when the client supports it, but now I found out that mozjpeg can supposedly rival webp results (at the cost of compression time) and I'm a bit sad that sharp doesn't ship with mozjpeg :)

wmertens avatar Mar 30 '18 15:03 wmertens

We are using Sharp to process images in order to prepare them for printing in a Print-On-Demand system. The POD system needs to have a "print sheet" which combines several images, laid out in a grid. We are using Sharp to combine the images into this grid. We also have to rotate some of the source images before adding to the grid.

Some complications / challenges we have include...

  • We are working with CMYK, 300ppi, tiff files as source images. When manipulated with Sharp, we seem to lose the ppi information and the images are converted to sRGB. So far, I think this is fine as we are doing some post-processing work using GraphicsMagick to fix that in the final image.

  • We are running the image processing in Node on Alibaba Function Compute (basically their version of AWS Lambda). There are environmental limitations of 3GB memory and 1GB ephemeral disk space, which has been a struggle to work within. Also, we had to jump through some hoops to compile Sharp/libvips in a sandbox container in order to have it compile for the correct architecture.

Hope this helps! Thanks!

kevinswarner avatar May 21 '18 17:05 kevinswarner

Hello @lovell,

Bunk1.com uses Sharp with AWS Lambda to create carrierwave-compatible images in s3. We use auto-rotate as well. The photos are then applied to a wide range of photo products.

davidgross avatar Jul 09 '18 21:07 davidgross