MODX is an open-source content management system that is simpler, more flexible and more powerful than more well-known (and more structured) options such as WordPress and Drupal. If a client wants total freedom in design and user experience, this technology is the right fit.

MODX is battle tested and has been around since 2010. It has a foundation in PHP, but is actually a domain specific language built on top of PHP. The focus of MODX is to make building and managing complex, dynamic publishing websites easy. The API is well designed and mature, and the application framework is stable. It interacts happily with any Javascript framework from jquery to Angular, Vue and React. You can also use MODX to create JSON APIs that are easily managed by non technical staff.

We reach for MODX when clients need a convenient editing interface but require flexibility and freedom on the front end website experience, where their users will be viewing the content. Rather than force content into a strict taxonomy or structure, MODX allows for flexibility to create content structure in a way that makes sense to the user. This also allows singular focus on pushing the limits of design and user experience, rather than being forced to cater to the limits of a framework. With great power comes great responsibility, however, and we work to make sure that our MODX sites are modular and maintainable. We have built tooling around MODX to allow us to version control key aspects of sites built with this technology.

MODX has a flexible permissions system which can be used to allow different users access to different parts of a site. If you have multiple websites you want to manage from within one administrative interface, MODX can handle this easily. There are also a number of third party plugins which can be "dropped in" to provide functionality such as menu management and WYSIWYG editing.

MODX scales horizontally and can handle a large amount of traffic (tens of thousands of concurrent users). MODX also integrates with other content sources. We have built data loading systems to make third party data available to MODX. Leveraging this functionaliyt allows editors to control and interact with third party data from within the same editing interface where they do their normal day to day publishing work.

No technology is perfect and MODX is not without its warts. Its flexilibility means that it can be easy to write code that is hard to maintain. Its maturity means that there's less frequent improvements, though there is a major new version under development. This technology is not aimed at making it easy for non technical people to build the underlying websites, but rather requires technical expertise. (However, once a site is built in MODX, non technical staff can easily create and edit pages of their website.)

We have built the following sites for our clients in MODX: