Canvas came from a much bigger (too big) project I started in 2018 ina bid to streamline many more aspects of content creation. Initially it concentrated on video and made extensive use of transcription data. Now, that project has been pared down significantly and Canvas is the result.
The idea behind Canvas is that a user creates a template in an interface somewhat similar to Canva, comprising of image and text elements that can be subsequently targeted in an API request.
The properties of the image and text elements can be modified in realtime, producing a different image. It was important that the templates were responsive, so that in the API request the user could specify a new size, and the elements would resize in a meaningful and useful way.
Once a template has been designed responsively, images can be generated from it in multiple sizes in one API request, for example, producing assets for an Instagram post and Story at the same time.
Here's an example of an API request that creates two images from the instagram-post
template, one 1080x1080
and the other 1920x1080
. In both sizes the headline has been set to Use this headline instead. But in the square image it's also been translated into Italian.
{
"template": "instagram-post",
"sizes": [
{
"width": 1080,
"height: 1080,
"elements": {
"headline": {
"translateTo": "it"
}
}
},
{
"width": 1920,
"height: 1080
}
],
"elements": {
"headline": {
"text": "Use this headline instead."
}
}
}
A few bells and whistles have been added, mostly based on my own requirements. Canvas now supports QR codes, Adobe 3D CUBE LUTs for images, and translation of text elements. It's also possible to batch requests and injest data directly from Airtable.
Some of my progress can be found on indiehackers.com.
SEO remains an important part of any growth strategy, so it's still imperative to often write about the product's benefits as well as think about paid search and social media etc.
As anyone with a side hustle project of this nature knows, it's necessary to split spare time between development of the application and marketing, and finding the right balance is always tough.