Node.js / NestJS, TypeScript. I build event-driven systems: microservices on Kafka, streaming pipelines and domain models that hold their invariants under DDD.
I turn the patterns I keep needing in production into small, tested, documented libraries:
| Library | What it does | |
|---|---|---|
| nestjs-kafka | Decorator-driven Kafka consumers and producer for NestJS on librdkafka: dead-letter and retry topics, Avro via Schema Registry, topic namespacing | npm |
| typeorm-unit-of-work | Unit of Work for TypeORM: ambient transactions, aggregate domain events before and after commit, transactional outbox | npm |
| flink-projections | Stateful Flink operators that project entity change streams into search documents, with explicit deletes and savepoint-safe state | Maven Central |
| nest-result | Typed errors for NestJS: the compiler proves every error is mapped to an HTTP response | npm |
| domain-integrity | Static analysis that fails CI when an aggregate's lifecycle drifts from its declared intent | npm |
Stack: TypeScript · Node.js · NestJS · PostgreSQL · Kafka · Flink · Elasticsearch / OpenSearch · Redis · Kubernetes · Java
📫 Telegram @agabatov · mannkostir@gmail.com




