Typed clients

Articles on generated typed service clients: why hand-written microservice SDKs rot, how self-describing services replace them, and using clients as test seams.

4 articles

Sep 4, 2026 · Serhiy Morenko

The contract your services already publish: contract testing for Node.js microservices

Contract testing exists because two services can agree on a shape today and disagree on it next Thursday, with nothing in either repository to notice. If your clients are generated, most of that machinery is already built for you — and the part that is left is not the part the tooling advertises. Here is what an @imqueue service publishes about itself, how to pin it in a test that needs no broker, and the one place the contract can quietly disagree with your TypeScript.

read →
Jul 17, 2026 · Serhiy Morenko

Stop hand-writing and maintaining your microservice clients

Every service you call needs a client, and hand-maintained clients drift out of sync with the services they talk to. Here's why that happens, how to make the client fall out of the service, and what the generated approach costs.

read →
Jul 4, 2026 · Serhiy Morenko

Cutting the boilerplate out of Node.js microservices

Most of a new service's first commit is ceremony — transport wiring, serialization, a client, CI, a Dockerfile. Here's where the boilerplate hides and how to stop writing it by hand.

read →
Jun 29, 2026 · Serhiy Morenko

Testing services that call each other

Integration tests that require every service and its infrastructure running are slow, flaky, and painful. Here's a layered approach that tests most of your logic without spinning up the world.

read →