Atlas: Flexible Software Composition using Protocols

Last year, my team delivered an application that aggregated data from multiple remote services, and we produced it in a third of the time allocated.

To facilitate this pace of development, I modeled our services using Norm, composed those models using protocols, and then used property testing to verify them against the real services: enabling us to concurrently develop the frontend, backend, and upstream services.

I'll explore these patterns through an example application that demonstrates them in action.