This article was originally published on Jo4 Blog . We built a small tool to keep our dev.to posts in sync with our markdown source files. Write locally, push to Git, and the tool updates dev.to if anything changed. Simple. One morning, we noticed dev.to showing "Updated 2 hours ago" on an article we hadn't touched in weeks. Then we checked the logs. Every article with an updatedAt field in its frontmatter was being republished. Every. Single. Day. How the Sync Works The tool is straightforward: Read markdown posts with frontmatter ( title , publishAfter , updatedAt , etc.) For each post already on dev.to, check: "Has the local version changed since last sync?" If isUpdateNeeded() returns true , PUT the latest content to dev.to's API The check logic: function isUpdateNeeded ( localPost , devtoArticle ) { // If local content changed after dev.to publish date, update needed const localDate = localPost . updatedAt || localPost . publishAfter ; const devtoDate = devtoArticle .β¦