Technologies

We don't chase trendy technology; we use a stack that works well together
While building our sector products, we didn't try a different technology on every project; instead we used the same stack again and again, one we've repeatedly confirmed works well together: .NET 9 and PostgreSQL on the backend, Next.js on the public web, Angular on the admin panel, Flutter on mobile, native Windows on the desktop. This isn't a habit β it's a discipline. Every new project starts on a proven foundation, not a from-scratch technology debate.
The proof of this stack isn't far away: the vosetu.com you're browsing right now is built on the Next.js (public) + Angular (admin panel) pair, on top of a .NET 9 Web API. The stack we talk about isn't a slide β it's the site beneath you.
- A stack validated again and again across our product family
- A core of .NET 9, Next.js, Angular, Flutter, PostgreSQL
- This site itself is built on the same stack β we dogfood it
- One right tool per layer β no scattered choices

The core: backend and data
- .NET 9
- ASP.NET Web API
- Layered architecture (service/bll/dal)
- PostgreSQL
- Redis
- PostGIS
- JWT
- OAuth2/OIDC
- HMAC
- mTLS
Clarity in technology choice
One tool per layer
Every layer has its own right tool, and once we pick it we close the debate: Next.js for the public side, Angular for the admin panel, PostgreSQL for data. We don't keep five different libraries around that do the same job β that only grows the learning curve and the maintenance cost.
- One stable choice per layer
- Learning and maintenance overhead stays small

We don't chase microservice hype
Putting ten separate services behind one screen makes a small-to-medium product unmanageable. We start with a layered, single-deployment-unit (monolithic) architecture; we split it only when a real scaling need arises β not because it might theoretically be needed.
- We start with a layered, single-deployment-unit architecture
- The decision to split is driven by real need

We put it under load before it enters the stack
We don't add a technology to the stack off a landing page or a comparison table. First we build something real with it: a small but complete piece is written, pushed under load, and what its upkeep costs becomes visible. The decision comes out of that trial; if it doesn't hold, it never enters the stack β and nobody has to find that out in production.
- The decision comes from a loaded trial, not a slide
- Upkeep cost is measured before the choice

Web: the public side and the admin panel
- Next.js
- TypeScript
- Tailwind
- Angular
- TypeScript
- Figma
Mobile, desktop and hardware
- Flutter
- single codebase
- Native Windows
- Modbus
- OPC-UA
- MQTT
- TCP/IP
Why you can trust this stack
Proven across our product family
We're not talking theory β this is the real stack keeping our whole sector-product family running.
This site is built on the same stack
vosetu.com itself runs on the Next.js + Angular + .NET 9 trio; what you're seeing is an example, not a claim.
One team, one language, end to end
Backend, web, mobile and desktop are built by the same team under the same architectural principles β nothing gets lost in handoff.
The source code is yours
The delivered code, documentation and infrastructure definitions are yours; we place no restriction if you want to hand it to another team.

Infrastructure, testing and real-time
- Docker
- GitHub Actions
- MinIO
- RabbitMQ
- xUnit
- Playwright
- k6
- JMeter
- WebSocket
- SignalR
- FCM

Let's determine together which layers fit your project
We'll listen to your need and map out together which pieces of this stack serve you. The first conversation is non-binding.