Yeah, the ML is still in it's infancy, so we're almost in that cold-start right now. To address that, I built in some more randomness into the algorithm so the initial logo designs can just get the user thinking and then we can get a better sense of their taste as they favorite logos. Without that randomness, the algorithm tries and fails horribly at creating logos.
I would love to analyze 'good' logos. I would imagine it's realllllyyy hard to analyze actual pixels. We just analyze actions and pre-created objects (ie. a font choice).
Great question. I've been designing logos for 12 years so I have a good sense of what's important:
1. Amazing fonts. This is the low-hanging fruit, and the core of every logo. Some logos are just nice fonts :P
2. Brainstorming and idea exploration. Logojoy is cool because it gets you thinking, and makes it a joy (haha) to explore different fonts, symbols, colors, etc.
3. Presentation. If you look at how the top agencies present logos to clients, it's always with a ton of whitespace, real-life mockups, etc.
One thing is the intimidation factor. 3 months ago, I had 0% confidence that I could do anything that even touched ML. I'm still very new to the game, but once I started learning about it, it became much more approachable.
Absolutely. I talk a lot about the tech in the IH article, but I'll re-iterate here with as little jargon as possible, focusing on the machine learning part, as I assume that's what you're more interested in.
The logo generating algorithm is still in its infancy, so right now it's mostly acting as an idea source for most users.
So our logos are just combinations of ingredients — fonts, colors, layouts, symbols, etc. Logojoy uses machine learning specifically to learn which ingredients go better together.
It starts with tracking basically everything our users do. We track things like: the inspiration they selected, the logos they favorite, the changes they make to logos (e.g. changing the font), the time spent looking at certain logos, the commonalities between all of their favorited logos, the logos they purchase, and more. We currently track about 80 types of actions.
Every day, the learning algorithm reads all these actions and weights each one by how many times it occurred. Because of the structured way it reads actions, it's able to define rules based on "heavy" actions.
For example, an action might be defined as "user changed font weight from 100 (light) to 600 (bold)". This action object includes the number of times it occurred, every other preceding action, and all of the logo's ingredients. In this case, let's say the algorithm concluded that every time this happened, the color of the logo was classified as "light". The algorithm would presumably define a rule that says "if the color of the logo is light, do not use a light font weight".
I would love to analyze 'good' logos. I would imagine it's realllllyyy hard to analyze actual pixels. We just analyze actions and pre-created objects (ie. a font choice).