If I was to do the 12 startups challenge over, I would focus on one particular area of tech or industry and create several solutions in the same space.
The way I did it, I launched several totally-unrelated products. In retrospect I don't think this was a good idea, but it did have the unintended side-effect of allowing me to see what general space I enjoyed the most.
If you're direction-less (as I largely was) then the 12 Startups challenge can accelerate you towards a certain direction. But it can also be a fruitless waste of time, so be warned!
It only really occurred to me part way through this journey, but the reason automated image generation resonated with me so much is because I had felt the pain before.
I had previously worked in an Ecommerce company where we would manually create visual assets every day for all the new products being uploaded to the store. It was a tedious process that I would have loved to automate at the time, but there was no solution.
My North Star became trying to create a product that would have solved that past problem, for companies in the future.
This comment reply from the founder of Wavve was a good wake-up call.
Ultimately, auto-generating Open Graph images is not a hair on fire problem. It's *part of* a hair on fire problem, that being "we need to automate some of our marketing because we don't have time" but it's a very niche part of that.
By now I was already thinking about how to pivot the tech so it could have a more universal application rather than being confined to this single use case.
This pivot away from a standalone Open Graph image tool was risky, as for existing customers, that's what they signed up for.
The API launch definitely alienated some of these early customers and they churned.
Note: early customers still had full access to the old product but I made it clear that the API would be the focus going forward.
You can Google some literature on the topic, there wasn't one particular resource that I found helpful.
But essentially the mindset shift is... everyone always says that you need to know your target market. Even better, is knowing what job your target market is trying to get done.
Once you have figured that out, use that language in how you market your solution.
I will add that, these "jobs to be done" for my app were not obvious in the beginning and it took months of looking at usage trends to understand what they were.
This is maybe a bit of an abstract concept, especially if you're like me and you're a technical founder building a product.
But here's an illustration by @SamuelHulick that I think captures the idea perfectly: