Services
IT architecture and modernisation
IT architecture, system integrations, cloud infrastructure and CI/CD pipelines built for a company's actual scale. Technical advisory and modernisation of existing systems.
An architecture decision is rarely reversible without a cost. Rewrite the system or modernise it in stages, one database or several, an in-house team or a vendor - these questions get settled before the first line of code, not after it.
An architecture review ends with a document a whole company can read, not only its technical team: what is fine, what is a risk, what it costs to maintain and in what order to tackle it. The recommendations are not tied to a single vendor, because no commission stands behind them.
The system itself gets chosen for scale, not for fashion. A monolith with clear module boundaries is often a better choice than microservices nobody maintains later - splitting into separate services makes sense only once there is a concrete reason to deploy them separately. The backend usually runs on Node.js and NestJS, data sits in a relational database, and asynchronous communication goes through a queue.
An integration rarely breaks on deployment day. It breaks three months later, when one system changes its data format and the other stays silent about the failure. That is why retries, a dead-letter queue for failed events and an alert on a stalled flow get designed together with the integration itself, not bolted on after the first outage.
The cloud can cost more than a dedicated server when the architecture does not match the traffic profile. Infrastructure gets described as code in Terraform, the staging and production environments come from the same description, and rolling back a deployment means returning to the previous version, not a manual fix in production.
The release pipeline ties all of it into one answer to a single question: can this change ship. The build passes or it stops. Building, testing, route and structured-data contract checks, dependency hygiene with automated updates and a grace period - each of these checks halts the build instead of landing on a backlog to review someday. The same rule set runs on the services it was worked out on, including the in-house search-quality-kit package wired into the CI of three maintained services.
Out of scope: maintaining Kubernetes clusters, round-the-clock operational on-call and preparation for ISO 27001 or SOC 2 certification - that is work for a shift-based maintenance team or an accredited auditor.
Technologies used
- TypeScript
- Node.js and NestJS
- SQL and TypeORM
- RabbitMQ
- Terraform
- Docker
- GitHub Actions
- Cloudflare Workers, Azure and Google Cloud
- REST API and GraphQL
- search-quality-kit - an in-house npm package for contract checks in CI
What it delivers
- Architecture matched to the scale of the process, not to technology fashion
- The release pipeline answers automatically whether a change can ship
- Every integration has an explicit rule for failure before the first outage happens
- Environments reproducible from a description in the repository, not from anyone's memory
- Rolling back a deployment in one step, without a manual fix in production
- Recommendations not tied to any vendor
Example use cases
- An architecture review ahead of a decision to rewrite or modernise a system
- Extracting a module from a sprawling application and adding tests around uncovered code
- Migrating an application from a dedicated server to the cloud, in stages, with a way back
- Integrating a sales system with a warehouse and accounting through an API and a queue
- A release pipeline with tests, route-contract checks and publication to production
- Infrastructure described in Terraform, separately for staging and production