4 ms·
Show HN: NightCafe Creator – neural style transfer app with style masks
- GusRuss89 7y agoNightCafe Creator has been my side project for about 6 months. It's a PWA built with TypeScript, React, Next.js and Firebase; and the style transfer jobs run on Algorithmia. There are plenty of neural style transfer apps online. Some of the features that set mine apart are: - Multiple style images with relative weights - Style masks - clip a style to a certain region of the content image - Free image search built in (via Pexels) - No signup required to create (uses Firebase's anonymous users) There are still a lot of improvements to make - I want to improve and speed up the back end algorithm, add public user accounts and the ability to 'like' creations, along with a never-ending list of smaller things like pagination - which I've avoided adding thus far. This is probably the most effort I've ever put into a side project. Would love to hear your thoughts and am happy to answer any questions.
- primedteam 7y agoNice art works and slick experience. Some suggestions 1. While waiting for the art to be generated, get the user to do a hot-or-not between some existing art to get a better sense of what they like and then generate them something 2. Have a little more feedback on how much longer they'll need to wait while generating 3. Once generated, show the artwork framed and hanging somewhere not just the rendering 4. When a user kicks off a job, kick off a bunch in parallel using some other styles in case the style they pick really doesn't work well.
- GusRuss89 7y agoThese are great suggestions, thanks! I especially like the last one, particularly for a user's first creation - because if their first creation doesn't work out so well, it's often their last. Auto-creating a few jobs based on their content image - with styles that are known to work pretty well - would really improve their experience and first impressions.
- GusRuss89 7y ago#4 is now implemented. Thanks again for the suggestion.
- bluepnume 7y agoVery cool! I remember working on an evolutionary algorithm at one point to generate CSS versions of images using random fonts, positions and transforms. The results you've got here are very impressive.
- GusRuss89 7y agoThanks, that project sounds interesting, I'd love to see some examples. I should also clarify - I'm more of a front-end developer and I'm just using an open source style transfer algorithm from github (with some minor tweaks) on the back end. I can't take much credit for how well the artworks turn out, apart from the factors of UX guiding people to choose good images, and a good set of preset styles.
- nojvek 7y agoLove the giraffe image. Although I wonder if your algorithm handles faces well. There is a huge demand in Instagram for auto touchups. Like improved lighting, smoother skin, vibrant colors, convert to anime etc. Make amateur photos look like they’re taken by pros.
- GusRuss89 7y agoFaces often don't work well unless they're really tightly framed / close up. I think it's because if the eyes turn out a bit weird, it's very off-putting. I've thought a bit about marketing to Instagrammers, I think neural style for short videos would be a good service to offer. Not sure where it fits on my roadmap yet though.
- airdeck 7y agoI’ve been playing with this for several weeks now and it’s a lot of fun. I was always really intrigued by style transfer algorithms and thus was a great low-barrier way to play around with them.
- GusRuss89 7y ago@airdeck thanks for being the #1 Creator and early adopter!
- aviditas 7y agoIs there a way to rotate the original image after uploading? The image I tried originally uploaded sideways so it made doing the mask more difficult. I edited the photo on my phone to rotate it and resubmit it. (my phone didn't show me the photo needed to be adjusted until after I uploaded it)
- GusRuss89 7y agoiPhones do this sometimes. Thanks for letting me know - I will add this to my to-do list. Thanks for trying it out!
- 100-xyz 7y agoGood job. Fun to experiment with!
- GusRuss89 7y agoThanks for giving it a go!