The Little CMS that Could

Max Wilkinson
FordLabs
Published in
2 min readDec 2, 2020

In the early days of any software product, engineers can often play the person behind the curtain role. We will do things ranging from manually inserting data to updating text in the app. Given enough time and success, though, and eventually your team will find itself at a place where it is no longer prudent to have engineers wizard of oz’ing everything.

That is where we found ourselves, as a software product team, on Ford’s AV Partner Portal. Our product owner needed to be able to edit the text on the website without having to rely on engineers. Due to how much of the app had already been architected and built, and that only a few pages of content needed to be edited, a full-blown CMS did not make sense to integrate into our product. But we also couldn’t ask our product owner to manually edit code in order to make simple text changes. So we searched for an outside-the-box approach to solving our problem.

We discovered an approach using markdown, that provided us with the middle-ground that we were looking for. Markdown was a syntax that was familiar to our engineers as well as our product owner. There is also a good NPM package for rendering markdown as HTML within a React app. This enabled us to separate out our text content into dedicated markdown files, that would be consumed by the appropriate parts of the website. As a result, our product owner could make simple text edits in the markdown files, using tools he was already familiar with. And upon pushing the changes, our CI/CD pipeline would detect the changes and automatically publish the new content.

It is worth mentioning that there are some drawbacks to using markdown, as opposed to going HTML all the way through. For example, markdown does not support having interactive objects like buttons. Additionally, the way that markdown is rendered also prevents having links to specific sections of page. However, you can apply styles to your text and images, allowing your markdown content to blend right in with everything else on your website.

All in all, markdown proved to be an effective and simple, but limited, way to enable content changes without having to edit code. It was the little CMS that could.

--

--

Max Wilkinson
FordLabs
Writer for

Max Wilkinson is a software engineer at Ford Motor Company. He has a passion for technology, entrepreneurship, and design.