Technology Profile
Our Technical Foundation at a Glance
We do not use technologies because they are fashionable, but based on operational reality, service life, integration needs, and what the team can sustainably support. What matters is not the buzzword, but whether the system can later be operated cleanly, extended, and handed over.
Strong for business logic and multi-platform clients
Delphi is strong where established business logic, database-adjacent processes, reports, and stable clients for Windows, macOS and Linux are to be maintained long-term.
View Delphi
C#
Strong for REST, services and portals
We use C# when portals, modern backend services, REST APIs and integrations need to connect cleanly to existing enterprise systems.
View C#
Architecture
Layer-3 instead of monolithic legacy baggage
We deliberately separate UI, business logic, and data access so that changes remain predictable and new services do not have to be built against the existing system.
View Layer-3
Platforms
Think Windows 11 ARM64 in from the start
Alongside classic x64 targets, we consider current platforms such as Windows 11 ARM64 early, so that new hardware and deployments do not later turn into a special project.
View ARM64
When which direction makes sense
Delphi makes sense when
- existing domain logic should continue to live on,
- complex desktop processes must remain stable,
- Windows-, macOS- and Linux clients are to be built on a shared functional foundation.
C# makes sense when
- REST servers and services are being built,
- APIs and external integrations are the focus,
- modern service architectures are required.
Hybrid makes sense when
- existing applications and new portals need to work together,
- desktop, services, and web use the same data foundation,
- modernization should be done step by step and implemented as a Layer-3 structure.
Delphi modernization in practice
If an old Delphi application is still valuable in terms of functionality, we do not modernize blindly. We first analyze how the system actually works, which processes it supports, where data flows break, and which legacy baggage is slowing down operations. The result is a modernization path that not only looks clean on paper, but remains viable in day-to-day work.
In many long-established applications, the real value is not in the user interface, but in years of domain logic, special rules, exceptions, and experiential knowledge. You do not discard that substance lightly. We separate responsibilities cleanly, restructure the database, replace legacy access paths, create new REST interfaces, and, where needed, add clients for Windows, macOS and Linux on the same domain foundation. This does not create a hard break, but a traceable evolution with a clear technical scope.
Often this also means bringing historically grown monoliths back into a shape that becomes maintainable, testable, and extensible. Data access is stabilized, business logic is detached from UI code, interfaces become plannable, and future extensions no longer have to be fought against the existing system. The goal is not cosmetic modernization, but a system that gives the company room to breathe again for new requirements.
Services and servers as part of the same architecture
Many enterprise systems today need not only a client, but also background services, Windows or Linux services and REST servers. This is exactly why we do not plan these parts as an after-the-fact add-on, but as part of the same architecture. A service that is only somehow added later almost always becomes a special case.
If data is to be processed in a distributed way, interfaces provided, exports run, imports monitored, or tasks executed in the background on a schedule, technical responsibility must be clarified from the outset. Which parts run in the client, which in the service, which on the server; how do errors become visible; how are state changes traceable; how does domain logic remain consistent? We answer these questions early so that individual building blocks become a resilient overall system.
This is particularly critical in multi-platform projects. A desktop client on Windows, macOS or Linux must not mean something different in terms of domain behavior than an accompanying REST server or a background service. That is why we always think about the data model, processes, permissions, integrations, and operations together. The result is an architecture in which clients, services, and servers speak the same language.
Our principle
For us, technology is not a belief system. What matters is that architecture, team capability, operations, and future extensions fit the company. The loudest platform does not win, but the one with which risk, maintainability, and growth can be managed sensibly.
Some tasks we deliberately solve with Delphi, because that is where established business logic, high-performance clients, and multi-platform capability play to their strengths. Other requirements are better suited to C#, to services, to a portal, or to a combination of both. Good architecture does not come from fashion, but from clarity: which responsibility belongs to which system component, what service life is to be expected, how large the team is, how critical operations are, and which extensions will realistically come in the next few years.
This is exactly where professional software development begins for us. We do not just want to deliver something that works today, but to create a technical foundation that remains traceable, transferable, and economically maintainable later on.
Frequently asked questions about technology and architecture
Technology decisions must fit the team, the domain, and operations. That is exactly why we do not clarify these questions in the abstract, but always on the concrete system.
When does Delphi make sense compared to a complete replatform?
Whenever evolved domain logic, high-performance desktop processes, and multi-platform goals should be carried forward economically, rather than replacing substance carelessly.
When do you additionally use C#?
Primarily for portals, web backends, REST services, integrations, and service-oriented architecture components that can interlock well with existing desktop systems.
How important is Layer-3 in practice?
Very. Only the clean separation of UI, business logic, and data access makes modernization, testing, services, and future platform changes manageable.
Do you consider new platforms such as Windows 11 ARM64 early on?
Yes. New target hardware and deployment paths are reviewed early so they do not later turn into costly special projects.
Read more questions collected
These short answers remain here on the page. On the central FAQ landing page, we additionally place the topic in context with architecture, modernization, platforms, and operations.