Technology stack

The platform is built on mature technologies with long support cycles. Below is what the products actually run on, not a list of fashionable names.

Server side development

A single ecosystem for every platform service: shared libraries, a shared API contract and a predictable update cycle.

  • C#Primary server side language
  • .NETRuntime and shared libraries
  • ASP.NETWeb services and public product APIs

Storage and search

A relational store for records, a cache for hot operations and a search index for documents and logs.

  • PostgreSQLPrimary product data store
  • RedisCache, sessions and fast task queues
  • ElasticsearchFull text search across documents and logs

Interfaces and clients

Web interfaces for products and websites, plus mobile and desktop apps from a single codebase.

  • TypeScriptType safety across all client code
  • Vue.js + ViteProduct interfaces and product websites
  • MAUIMobile and desktop clients

Infrastructure and operations

Containers, orchestration and request routing. Updating one product does not require stopping the whole platform.

  • DockerPackaging services into containers
  • KubernetesOrchestration and scaling of services
  • NginxRequest routing and TLS termination
  • CloudPanelServer management and website deployment

Observability and integrations

End to end request tracing between services and data exchange with the customer accounting systems.

  • OpenTelemetryRequest tracing between services
  • 1CData exchange with customer accounting systems

How we make technical decisions

  • We pick technology with a long support cycle rather than the newest one.
  • One language on the server and one on the client: the team moves between products without retraining.
  • Every service is deployed on its own, so updating one product does not stop the rest.
  • All external calls are traced, so the cause of a slowdown is found in data rather than by guesswork.
  • Integration with customer systems goes through a documented exchange, not direct database access.

Need an integration with your landscape?

We will describe the exchange contract, agree on the data format and connect the products to your existing systems.