About MeHi, I'm James 👋🏻

Portait of James Moschou

While working on an API redesign, I noticed some problems with the process.

I was redesiging an existing API to be easier to use while scaling to more use-cases. I am a big proponent of spec-driven development, but OpenAPI is not good at conveying the different scenarios in which an API would be used.

Developers make sequences of requests, passing data from a response to the next request. They also call the same API with different parameters and expect different results. What I needed was a way to describe how the API would be used in the real world.

Naturally I turned to Postman. Being able to model an API as a collection of requests seemed like the ideal solution, especially with built-in support for environment variables and test scripts.

It was not.

Our Java tech stack was already well established, and Postman did not fit into it. While it was a great tool for me, the product manager, when it came to engineering it was just another Product Requirements Document in a more complicated format.

Introducing Criteria…

I'm building Criteria to bring product-engineering teams closer together to build APIs. Like Postman, Criteria models your API as a series of actions. Unlike Postman, Criteria does not lock you into writing vendor-specific JavaScript. Everything is defined declaratively, meaning your test suites can be generated instantly, in any language and using any framework.

Join the waitlist →