Stencilbot

Image automation for content creators

aka I'm to lazy to create images for my blog posts

Michał Pasierbski

SDE @aws 

What is Stencilbot

and why I'm even doing this?

Images drive engagement, some studies show 313% increase (source https://adespresso.com/blog/23-strategies-increase-twitter-engagement)

Tweets from businesses that contain images are 34% more likely to get retweeted than tweets from businesses with no image at all. (source https://blog.hubspot.com/marketing/twitter-statistics )

I am lazy and full of imposter syndrome and will take lack of preview image as an excuse not to write a blog post

How it started?

Why it failed?

  • No frontend, i.e. no customer engagement
  • 20$/month 

How it's going?

Address failures

Make it cheap

  1. Serverless
  2. Stateless
  3. Cachable

Make it engaging

  1. Visual editor
  2. Easy to modify

Demo time ⏰

Technicalities

AbstractRenderer (canvas)

BrowserRenderer

(HTMLCanvas)

ServerRenderer

(NodeCanvas)

abstract loadImage(uri: string): Promise<CanvasImageSource>
abstract getLayerCanvas(layer: Layer): HTMLCanvasElement

node-canvas native bindings

  1. Does not work out-of-the-box on AWS Lambda
  2. Container images FTW! (or not)

Lessons learned

  1. Editors are tricky
  2. Native bindings on Lambda are tricky
  3. Query params API is powerful

https://memes.io/batman-slapping-robin?robin=Espaci...&batman=Enough!

Thanks!

https://github.com/pasierb/stencilbot

Made with Slides.com