[{"data":1,"prerenderedAt":531},["ShallowReactive",2],{"project-30045901":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":48,"what":49,"said":91,"maker_in_thread":208,"shape":221,"grid":224,"attempts":492,"same_week":493,"maker_shows":34,"maker_hidden":523,"reader_version":524,"card":525},"30045901","Webutils","Bulk convert images online without sending to server","title","Show HN: Bulk convert images online without sending to server","https:\u002F\u002Fwww.webutils.app\u002Fimage-compress","webutils.app","akmittal",1642943610,2022,188,103,311,2570,13,"notable","creative","image conversion and compression","web_app",[24,25,26,27,28],"image compression","bulk image convert","webassembly","client side image","webp converter","curious",0.103,{"positive":32,"neutral":33,"mixed":34,"critical":35},7,18,1,5,31,{"performance":38,"execution":40,"docs":41,"pricing":42,"privacy":43,"idea":45},{"positive":39,"critical":39},0,{"positive":39,"critical":39},{"positive":34,"critical":34},{"positive":39,"critical":39},{"positive":39,"critical":44},2,{"positive":34,"critical":44},[47,47,47,35,35,47,39,47,35,39,39,47,35,39,39,47,47,34,39,39,39,39,39,39,39,47,39,39,47,47,39,34,39,39,47,39,47,47,47,47],3,"There are lots of solutions already, but most solutions have too many ads or they process on server(privacy concern).\n\nWebutils convert all images on client using webassembly.",{"problem":50,"audience":56,"pricing":64,"motivation":70,"time_to_build":74,"stack":75,"openness":89,"stage":90,"team_size":89},{"value":51,"source":52,"evidence":53},"Converting and compressing images without ads or uploading them to a server","maker",[54],{"id":55},"post",{"value":57,"source":58,"evidence":59},"people converting or compressing images who want privacy and no ads","inferred",[60,61],{"id":55},{"id":62,"by":11,"text":63},"30046413","Images are not send to server, all processing is on client side. Server is required to download the webpage\u002Fwasm, but not to process files. In future planning to make the app…",{"value":65,"source":52,"evidence":66},"Free, ad-free, no plans to commercialize",[67],{"id":68,"by":11,"text":69},"30058178","No, want to keep it ad free always",{"value":71,"source":52,"evidence":72},"Avoid ads and server-side processing of images for privacy",[73],{"id":55},null,[76,80],{"value":77,"source":52,"evidence":78},"WebAssembly",[79],{"id":55},{"value":81,"source":52,"evidence":82},"Squoosh WASM codecs",[83,86],{"id":84,"by":11,"text":85},"30046794","I actually use wasm build by https:\u002F\u002Fsquoosh.app\u002F team.",{"id":87,"by":11,"text":88},"30046754","I actually use wasm codecs built by squoosh team. Squoosh is freaking awesome. Resize to particular size idea came, when online service asked me to upload image upto 25KB. I had…","unknown","launched",{"praise":92,"objections":116,"requests":140,"questions":165,"alternatives":184},[93,109],{"value":94,"source":95,"evidence":96},"Useful, fast client-side tool","commenter",[97,101,105],{"id":98,"by":99,"text":100},"30046349","karanbhangui","HN feedback has become cancer. OP, this site is great, and even as a highly technical user, I'd use this site in a heart beat. Thank you!",{"id":102,"by":103,"text":104},"30048458","dilliwal","Bookmarked! thanks for this amazing tool.",{"id":106,"by":107,"text":108},"30047502","skilled","Nice! Thank you.",{"value":110,"source":95,"evidence":111},"Resize-to-file-size feature is useful",[112],{"id":113,"by":114,"text":115},"30046424","jeroenhd","This looks like a nice alternative to https:\u002F\u002Fsquoosh.app\u002F. I particularly like the \"resize image to a particular size\" (https:\u002F\u002Fwww.webutils.app\u002Fcompress-image-to\u002F50kb) feature,…",[117,129],{"value":118,"source":95,"evidence":119},"Browser apps cannot guarantee that data stays local",[120,121,125],{"id":113,"by":114,"text":115},{"id":122,"by":123,"text":124},"30047410","bbarnett","It may seem negative, but it is also true. You cannot have privacy with web apps. At all. Ever.",{"id":126,"by":127,"text":128},"30047262","scrollaway","> Sadly, because of the nature of the web, one can never be sure that the image actually stays within the browser. There's no way to prevent it from secretly sending everything…",{"value":130,"source":95,"evidence":131},"Not clearly offline; requires internet to load",[132,136],{"id":133,"by":134,"text":135},"30046621","dylan604",">Bulk convert images online without sending to server If the data never leaves the local, how is it online? \"Bulk convert images in the browser without sending to server\" seems…",{"id":137,"by":138,"text":139},"30046355","personjerry","How can it be both online AND not need a server? In this case, it sounds like it's not online -- you can simply save the script.",[141,151,158],{"value":142,"source":52,"evidence":143},"Add offline support",[144,147],{"id":145,"by":11,"text":146},"30053944","It's done, webutils is now PWA and you should be able to use it when offline",{"id":148,"by":149,"text":150},"30047495","hunter2_","Would it be possible to eliminate the need to be online, so then you could make the much more enticing claim (for privacy-conscious users) that it works offline? Maybe a PWA, or…",{"value":152,"source":95,"evidence":153},"Add RAW file support",[154],{"id":155,"by":156,"text":157},"30047403","arriu","Thanks for building this! Would you be able to add something like dcraw.js for various RAW file support?",{"value":159,"source":95,"evidence":160},"Open source version or npm package for server-side use",[161],{"id":162,"by":163,"text":164},"30046948","KaoruAoiShiho","Is there an open sourced version of this so I can process the images the user uploads first before sending it to s3 thus saving space?",[166,173],{"value":167,"source":95,"evidence":168},"How the Squoosh WASM was integrated",[169],{"id":170,"by":171,"text":172},"30047488","yawnxyz","This is so cool! I'm completely new to WASM but excited to learn — how did you use the Squoosh repo to turn it into WASM, and how did you embed that into your app? Is that just a…",{"value":174,"source":95,"evidence":175},"Recommendations for lightweight photo editors",[176,180],{"id":177,"by":178,"text":179},"30049509","kretaceous","Oh heavens, this is really neat! Thank you! I love Squoosh but I often have a multiple photos to compress to WEBP. On a similar note, does anyone know similar lightweight…",{"id":181,"by":182,"text":183},"30047913","zerop","Recommend a good such tool for all kinds of image editing \u002FCropping\u002Fetc in browser?",[185,190,197,201],{"value":186,"source":95,"evidence":187},"Squoosh",[188,189],{"id":113,"by":114,"text":115},{"id":177,"by":178,"text":179},{"value":191,"source":95,"evidence":192},"ImageMagick",[193],{"id":194,"by":195,"text":196},"30045917","h2odragon","or there's http:\u002F\u002Fwww.imagemagick.org\u002F",{"value":198,"source":95,"evidence":199},"Photopea",[200],{"id":177,"by":178,"text":179},{"value":202,"source":95,"evidence":203},"wasm-vips",[204],{"id":205,"by":206,"text":207},"30053769","dvhh","different from vips for webassembly ? https:\u002F\u002Fwasm-vips.kleisauke.nl\u002Fplayground\u002F",{"comments":209,"answered":210,"key":211},16,10,[212,215,218],{"id":213,"text":214},"30052751","Squoosh already had wasm files built, all i had to just import and create a common API. For now wasm can be compiled from C,C++, Rust and Go, so mostly compiled languages.…",{"id":216,"text":217},"30047100","I have published to npm https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Foptimg-wasm Sorry there is no documentation for now. Will be doing it first thing tomorrow (IST)",{"id":219,"text":220},"30082848","Its done now https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Foptimg-wasm Still very rough though, Will do a better job when i have more time.",{"commenters":222,"max_depth":32,"maker_replies":209,"first_comment_mins":44,"lifespan_hours":223},64,105,[225,229,233,235,239,240,244,247,249,252,254,256,259,262,263,266,271,274,277,281,284,285,287,289,290,293,296,299,302,305,308,313,315,316,321,324,327,329,332,334,336,339,343,346,350,353,356,357,360,361,363,366,368,370,373,375,378,381,383,386,388,390,393,396,399,402,405,408,411,414,416,418,420,422,423,426,430,431,434,437,438,441,443,445,447,450,453,456,459,460,463,467,469,471,473,477,478,480,482,484,485,487,490],[226,39,47,227,228,39],"30048115","maker\u002Fneutral\u002Fperformance","xml",[230,39,39,231,232,39],"30049853","commenter\u002Fneutral\u002Fperformance","mnutt",[170,34,47,234,171,39],"maker\u002Fneutral\u002Fexecution",[236,34,39,237,238,39],"30051558","other\u002Fneutral\u002Fnone","ficklepickle",[213,34,39,234,11,34],[241,34,47,242,243,39],"30055099","maker\u002Fneutral\u002Fnone","zamber",[245,34,39,237,246,39],"30052857","MBlume",[177,44,35,248,178,39],"project\u002Fpositive\u002Fnone",[250,44,39,237,251,39],"30049815","jakub_g",[162,47,47,253,163,39],"project\u002Fneutral\u002Fnone",[216,47,39,255,11,34],"maker\u002Fneutral\u002Fdocs",[257,47,35,258,163,39],"30047512","maker\u002Fpositive\u002Fnone",[260,47,34,261,163,39],"30082257","maker\u002Fcritical\u002Fdocs",[219,47,39,255,11,34],[264,47,35,265,163,39],"30086338","maker\u002Fpositive\u002Fdocs",[267,268,39,269,270,39],"30050602",4,"other\u002Fneutral\u002Fprivacy","cblconfederate",[272,268,39,269,273,39],"30052212","leppr",[275,35,39,237,276,39],"30060780","thehappypm",[278,279,47,253,280,39],"30051832",6,"Krasnol",[282,32,47,234,283,39],"30046427","ir193",[84,32,39,234,11,34],[102,286,35,248,103,39],8,[155,288,47,253,156,39],9,[181,210,39,237,182,39],[291,210,39,237,292,39],"30047995","poniko",[294,210,39,237,295,39],"30050430","rikschennink",[297,210,39,298,11,34],"30053743","commenter\u002Fpositive\u002Fnone",[300,210,39,237,301,39],"30052326","elcamino44",[205,303,47,304,206,39],11,"project\u002Fneutral\u002Fperformance",[306,303,39,237,307,39],"30062034","majora2007",[309,310,47,311,312,39],"30057827",12,"maker\u002Fneutral\u002Fpricing","foxbee",[68,310,39,314,11,34],"maker\u002Fpositive\u002Fpricing",[106,18,35,248,107,39],[317,318,39,319,320,39],"30050404",14,"other\u002Fpositive\u002Fnone","kingcharles",[322,318,39,237,323,39],"30052780","josefrichter",[325,318,39,326,243,39],"30055027","commenter\u002Fneutral\u002Fnone",[328,318,39,326,323,39],"30061162",[330,318,39,269,331,39],"30053059","ramraj07",[333,318,39,234,11,34],"30053269",[335,318,39,237,243,39],"30055071",[113,337,47,338,114,39],15,"project\u002Fmixed\u002Fprivacy",[340,337,47,341,342,39],"30046481","project\u002Fneutral\u002Fprivacy","tyingq",[344,337,39,345,11,34],"30046693","maker\u002Fneutral\u002Fprivacy",[347,337,34,348,349,39],"30047506","project\u002Fcritical\u002Fprivacy","gruez",[351,337,39,352,342,39],"30047739","commenter\u002Fneutral\u002Fprivacy",[354,337,47,341,355,39],"30046698","sokoloff",[87,337,39,242,11,34],[358,337,39,237,359,39],"30046783","mobilio",[126,337,39,269,127,39],[362,337,39,237,123,39],"30047363",[364,337,39,326,365,39],"30047903","dahart",[367,337,39,326,123,39],"30048742",[369,337,39,326,365,39],"30049047",[371,337,39,326,372,39],"30051105","pjerem",[374,337,39,326,365,39],"30051350",[376,337,39,269,377,39],"30047400","justin66",[379,337,39,269,380,39],"30049127","teawrecks",[382,337,39,269,372,39],"30051026",[384,337,39,269,385,39],"30051532","zamadatix",[387,337,39,319,372,39],"30054460",[389,337,39,352,385,39],"30050368",[391,337,39,352,392,39],"30047616","rom1v",[394,337,39,352,395,39],"30047825","mattl",[397,337,39,352,398,39],"30047868","tuyiown",[400,337,39,352,401,39],"30048802","indymike",[403,337,47,341,404,39],"30048000","jimkleiber",[406,337,39,352,407,39],"30048134","osrec",[409,337,39,352,410,39],"30048268","quaintdev",[412,337,39,352,413,39],"30048661","extra88",[415,337,39,352,114,39],"30048658",[417,337,39,352,407,39],"30048767",[419,337,39,352,114,39],"30052731",[421,337,47,341,228,39],"30048206",[194,209,39,237,195,39],[424,209,39,425,11,34],"30045938","project\u002Fpositive\u002Fidea",[427,209,34,428,429,39],"30046328","project\u002Fcritical\u002Fidea","s_gourichon",[98,209,35,248,99,39],[432,209,39,237,433,39],"30046514","natch",[435,209,39,326,436,39],"30046883","poisonborz",[122,209,34,348,123,39],[439,209,39,237,440,39],"30106401","dang",[442,209,39,237,99,39],"30107289",[444,209,39,326,436,39],"30046382",[446,209,39,237,440,39],"30106377",[448,209,39,237,449,39],"30046909","marginalia_nu",[451,209,39,237,452,39],"30065958","Handytinge",[454,209,39,237,455,39],"30046918","hoherd",[137,457,47,458,138,39],17,"project\u002Fneutral\u002Fdocs",[62,457,39,341,11,34],[461,457,47,458,462,39],"30046594","tantalor",[464,457,39,465,466,39],"30046908","commenter\u002Fneutral\u002Fdocs","rubyist5eva",[468,457,39,326,149,39],"30047435",[470,457,39,326,466,39],"30052447",[472,457,39,425,11,34],"30052684",[474,457,47,475,476,39],"30046435","project\u002Fneutral\u002Fexecution","throwoutway",[133,33,47,458,134,39],[479,33,39,255,11,34],"30046704",[148,33,47,481,149,39],"project\u002Fneutral\u002Fidea",[483,33,39,242,11,34],"30047676",[145,33,39,475,11,34],[486,33,34,428,134,39],"30048294",[488,33,35,425,489,39],"30049769","tomcatfish",[491,33,39,475,11,34],"30053535",[],[494,499,504,509,514,518],{"id":495,"name":496,"points":497,"category":498},"30057442","Let's Block It",261,"security_privacy",{"id":500,"name":501,"points":502,"category":503},"30047455","Marginalia",236,"consumer_social",{"id":505,"name":506,"points":507,"category":508},"30089895","Electric Tables",231,"productivity",{"id":510,"name":511,"points":512,"category":513},"30051902","bangBang",146,"games",{"id":515,"name":516,"points":517,"category":503},"30039692","Hacker XP",136,{"id":519,"name":520,"points":521,"category":522},"30066184","Hey.Café",133,"web_saas",false,"v2",{"id":526,"name":5,"line":6,"ai":523,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":527,"top":18,"kw":528,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":529,"url":9,"mix":530,"praise":94,"objection":118,"sub":21},30045901,0.1,[24,25,26,27,28],"3335530350035003310000000300330100303333",[32,33,34,35],1794036616046]