Skip to content

Instantly share code, notes, and snippets.

@JasonEtco
Last active September 28, 2021 20:00
Show Gist options
  • Save JasonEtco/659410ad82400ea4ea8f581eedc5ec2f to your computer and use it in GitHub Desktop.
Save JasonEtco/659410ad82400ea4ea8f581eedc5ec2f to your computer and use it in GitHub Desktop.
Universe 2021 Talk

Title

  • Special Projects: Building a dynamic social card service
  • Improving the social presence of GitHub with dynamic preview images
  • Making your GitHub projects shine with dynamic preview images
  • Making your GitHub URLs shine with dynamic preview images

Abstract

You know that feeling when you make your latest project on GitHub public, and you’re ready to share it with the world? Or when you landed a PR that you’re so proud of, that you want the entire Twitterverse to hear about it? We wanted to make those links stand out, and give people a visually interesting and informative preview of your hard work.

We set about creating a framework and service for automatically generating social preview images for repositories and other resources on GitHub. Now when you share a link to a GitHub resource on a social media platform, you and your friends will see a beautiful preview image.

This talk will explain why we built it, how the OpenGraph spec works, and how we built this little service that generates 2 million images a day so that you can share your work in the best way.

Outline

  • What is OpenGraph?
    • The protocol for sharing content on social media
    • How its used by social media platforms
    • How its used by GitHub
  • What we wanted to improve
  • Special Projects explorations
    • We took a vague prompt and turned it into research and a proof-of-concept
  • How it works
    • Node.js server (originally started as a serverless function)
    • GitHub Apps authentication (?)
    • GraphQL
    • Puppeteer
  • Performance
    • Monitoring via DataDog
    • Optimizations

Links

Slides

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment