Unified API layer for bespoke integrations
Replaced custom, one-off integration builds with a Unified API layer that every new partner could plug into.

Context
Every time Repute connected to a new partner, whether that was a background check vendor, a tax tool, or a benefits provider, engineers built that connection from scratch as its own separate project. Each one worked fine on its own, but none of the underlying plumbing was shared between them. That meant the tenth partner we connected took almost as long to build as the first one had, because we were solving the same problem over and over instead of learning from it.
What was needed
We needed a way to stop rebuilding the same plumbing every time a new partner came along, and we needed it before the catalog got big enough that this became unmanageable. At 75 integrations, it was already slow. At double that, it would have been a real bottleneck.
Work I did
I replaced the one-off builds with a single API layer sitting on one canonical data model, which is really just one common, agreed-upon way of describing an employee's data (their name, salary, tax details, leave balance, and so on) that every partner could map their own system into. Instead of engineers custom-building a new connection every time, a new integration could follow the same reference architecture, the same blueprint, that every integration before it had used.
What helped
I stopped treating each new integration as a special case that needed its own design conversation. Once the API layer and data model existed, the question for a new partner became "how does your data map into what we already have," not "how do we build this from zero." That mental shift did as much work as the API layer itself.
Results
The integration catalog grew from 75 to over 175. Just as importantly, new integrations started shipping in days instead of months, because most of the hard design work was already done before the first line of code got written for a new partner.
Want to discuss this in person?
Send me a note about what you read here and I'll get back to you myself.

