Inspiration
I been trying to build a developer tool to auto generate images from html or webpage for sometime. I have seen links of github link tools displaying a auto generated images when its shared in social media platforms like twitter. I thought why not build it and provide it as a service for every developer to build similar functionality in their web app without having to build the whole infra required for it. But I had difficulty in implementing the subscription and user management as it took more time to build than the actual tool itself.
What it does
It gives an api endpoint to user to automatically create images with html, css or directly from a webpage. Users can also create templates which can be reused multiple times to generate image.
How we built it
Public facing apis are build as follows,
POST https://toimage.net/_functions/images - To create images with html or url
POST https://toimage.net/_functions/templates - To create templates for reuse
GET https://toimage.net/_functions/templates - To get list of existing templates
GET https://toimage.net/_functions/templates/:templateId - To get details of a particular template
Users can use these apis by authenticating with API Key available in user's accounts page.
The image generation is built with puppeteer running in Google Cloud Run instance. Wix hits the cloud run end point and generate the image
Challenges we ran into
I was too late to start working on the project so I was able to build only the core functionalities and could not create any content for the web page yet. Being a hard core engineer I had difficulty in getting the content ready for the webpage as well.
Accomplishments that we're proud of
I was able to learn the wix velo backend in only a couple of days and was able to build upto this couple of days.
What's next for To Image
Completing the app and publishing it to production asap.
Note: I was unable to record a video hence just gave a random video in demo link. Kindly ignore it.
Built With
- cloud-run
- gcp
- wix
Log in or sign up for Devpost to join the conversation.