Building Better Systems

“Modularity is Freedom. All-In-One is servitude. In technology, keep your options open, avoid lock-in.”

We have created multiple systems that have delivered over $1 million USD in business value.

It is easy to fall into the trap of various solutions we could call “all-in-one”, which intend to solve multiple issues for a paricular market.

Our contention is that such solutions are never the best at everything, by definition, that such vendors tend to get complacent, overcharge, and that building modular systems is a better solution for organizations that are beyond startup.

No Strategy…

All-in-One systems appear to address several issues in one stop – and it might be an OK place to start.

Adopting such a system is an attempt to trade convenience and ease for the need to analyze requirements.

Typically there is a bit of an entanglement, a mixing of functions – for example,  a bit of CRM/database, a bit of payment processing, and a bit of a simple/limited page builder.  There can be redundancy, too – it should be architecturally better to build your donation page on your existing web platform, where you have your Analytics connected.  

As the price starts to climb…it’s like the frog being boiled…it’s easy to be a bit too comfortable, and hard to leave.

If you need something even a bit out of the ordinary, your options can be limited : petition the company with your suggestion, develop some kind of shadow I.T. solution with spreadsheets, or pay for custom development.

Pro vs. Amateur…

We follow a nutrition and athletic coach who says “Amateurs do it until they get it right, Pros do it until they don’t get it wrong”.

The analogy here is that, instead of trying to fit your business into the first thing that appears designed for your vertical market, think about your requirements, and get the best thinking that you can.

We prefer to build systems around more specialized components, which leads to better functionality and modularity and less lock-in…it is easier to switch systems for better performance, value, and/or cost.  When each component of a system has a well-defined and distinct function, it is easier to upgrade parts of the system when better options arise, which they always do in software.


For example, we recently replaced the integrated donation management function of Network for Good with Donorbox.org, a single-purpose service which offers connectivity via an API. DonorBox has feature parity (and MORE) with NfG, notably around Employer Match of donations, among others.  Donorbox, in turn, relies on 
DoubleTheDonation for their Corporate Matching fuctionality.

You can read the full Case Study here.

Contact Us do discuss how we can apply systems design to produce better results for you.