 SpecModic enables teams to practice contract-driven development by leveraging API specifications as executable contracts. Let's assume we're building a mobile application that requests product details from a service and then displays the same. The application requesting the data is the consumer, and the service responding with the data, let's call it the provider. With the terminology out of the way, let's look at how we would go about building the consumer application. One approach is to wait for the provider to be built and deployed so that we have a reference. However, such sequential style of development is not very productive when it comes to shipping features quickly. The usual alternative is to stand up a mock server in place of the provider so that we can make progress independent of the provider on the application development of the consumer. While this looks good on paper, there is a fundamental flaw with this approach. The mock server may not be truly representative of the provider, by which I mean there can be variations in times of data types and the number of parameters we're sending and receiving. Such issues are hard to find on the local environment or in the CI for the consumer or the provider because both of these teams may be working in isolation. The first instance where we may discover such issues is when we deploy both applications together in an environment such as integration testing, and then we realize there is an incompatibility issue. Such issues first of all compromise your integration testing environment and block your path to production. And because such issues are found so late in the cycle, they also make it harder to fix and take time to fix, which is what is represented by the heat map at the bottom. Is there a way we can identify such compatibility issues early on our local environment or on the CI by leveraging APS specifications? That's exactly what Spectmatic enables you to do. Spectmatic reads your APS specifications such as OpenAPI, SNKAPI, WSTL and makes it available as a step server, which is a service virtualization of the provider. This step server is significantly different from the hand rolled stub that we saw earlier because this service virtualization of the provider is truly representative of the actual provider because it is based off of the API specification that was jointly agreed upon between the consumer and the provider teams. Now to keep the equation balanced on the provider side, Spectmatic is able to convert your APS specifications into contract test and verify that the provider is indeed adhering to the API specification. Now for these tests, you don't have to write them. Spectmatic is able to generate them for free based on your APS specification. Now that we've seen how Spectmatic is able to help you leverage APS specifications as stub on the consumer side and contract test on the provider side on your local environment, let's look at how it pans out in the CI. For the consumer, once the unit test is done, for the component testing, we don't have to look for another mocking mechanism for the provider. We can pretty much leverage the same Spectmatic contract test of server that we were leveraging on the local machine. Spectmatic is just an executable and it can run in any environment. It is completely agnostic of programming languages or technology stacks. So thereby now the consumer is able to continue being compatible with the API specification even on the CI. Now for the provider side, once the unit tests are done, we can run the contract test on the CI server and verify that the API signature is indeed as per the specification before we run the component test for the provider. Now that we have always adhered to the API specification on the local environment or on the CI, we can confidently deploy to the integration testing environment knowing for sure that these two applications are going to be compatible, which means you have an unblock path to production. And also the fact that you're finding such issues if at all any on your local environment or on the CI, which means the cost of fixing such issues is also significantly lower. Now that's how Spectmatic enables you to leverage your API specifications as executable contracts, thereby enabling you to shift left the identification of compatibility issues and thereby kill integration tests effectively.