NightCafe 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.
Nice 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.
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.
Very 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.
Thanks, 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.
Love 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.
Faces 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.
I’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.
Is 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)
14 comments
[ 3.2 ms ] story [ 46.2 ms ] threadThere 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.
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.
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.
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.
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.
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.
Thanks for trying it out!