---
title: 'Do you have your own Gatsby site? Let''s brainstorm a dev.to cross-poster'
date: 2019-06-23
excerpt: 'So, like all good things, the idea for this post comes from a tweet...'
tags: [productivity, tools, react, dev, gatsby]
canonical: https://mikebifulco.com/posts/gatsby-dev-to-cross-poster-brainstorm
---
# Do you have your own Gatsby site? Let's brainstorm a dev.to cross-poster

*Note: I updated some names and links in this post. Dev.to's product became
**Forem** when it went open source*

So, like all good things, the idea for this post comes from a tweet:

[View on X](irreverentmike/status/1141169316273897536)

This is something I've been ruminating on for a bit. I've even tried to build it - a few times! I keep starting in on the work and getting lost in the millions of directions I could take it.

Here's what I'd like: When I publish a new post to [my gatsby site](https://mikebifulco.com) (you're on it now!), I'd like for that post to appear on [dev.to](https://dev.to) automatically.

## It should:

- recreate my post verbatim, from its original markdown source
- use the `canonical_url` frontmatter field to make sure I retain SEO goodness on my post
- happen without my intervention
- be agnostic of where my posts are coming from. At the time of writing this article, I use [takeshape.io](https://www.takeshape.io) as a headless CMS for my site, so my individual posts aren't in source control
- only take posts from my `master` branch, since I use feature branches for draft posts from time to time
- use the [dev.to API](https://developers.forem.com/api) (update: now called the *Forem API*), of course

## Nice to have:

- maybe posts should be set to `published: false` at first, so I can preview/review/update them as needed for dev.to?

## Possible approaches for this:

1. Tap into GitHub's webhooks somehow, and fire off a post here
2. Come from a job kicked off after CI, maybe? I use CircleCI, but would like this feature to be fairly implementation agnostic.
3. Use a [GitHub App](https://developer.github.com/v3/apps/)?
4. ...or a [GitHub Action](https://github.com/mbifulco/thepraticaldev-crosspost-action)?
5. Perhaps just a lamba function deployed to AWS or [Netlify Functions](https://functions.netlify.com/).

So - here's where I ask for your help. Surely there's a simple approach here I haven't thought of, or maybe it's a matter of collecting a few scenarios and building something based on 80/20.

What else am I missing here? I'd love your help. What use cases would you have for a cross-poster from your gatsby site? How would you implement it? How can we help each other?

## More from mikebifulco.com

- [What it's like to migrate a high-traffic website from Gatsby to Next.js](https://mikebifulco.com/posts/migrate-gatsby-to-nextjs-apisyouwonthate-com)
- [I reclaimed 10GB of disk space from node_modules](https://mikebifulco.com/posts/reclaimed-10gb-of-disk-space-from-node-modules)
- [AI is your intern (not your boss)](https://mikebifulco.com/newsletter/ai-is-your-intern-not-your-boss)

---

Written by Mike Bifulco. Originally published at https://mikebifulco.com/posts/gatsby-dev-to-cross-poster-brainstorm
