You can’t hire for it
Nobody graduates knowing WebForms or VB6. The pool that can maintain your stack shrinks every year, and it prices itself accordingly.
01 / The problem
Nobody wants to touch it. The developer who wrote it left, the build runs on one machine, and every change is a negotiation about risk. We move software like that onto .NET 10 — one module at a time, while it keeps running.
Tell us what you’re running Fixed-price audit · two weeks · yours to keep
02 / Why it gets
expensive
Nobody graduates knowing WebForms or VB6. The pool that can maintain your stack shrinks every year, and it prices itself accordingly.
The server it runs on is out of extended support. The framework stopped getting features years ago. Your auditors have started asking about both.
No tests, no pipeline, one machine that can build it. A two-day feature becomes a two-week conversation about what might break.
03 / How it goes
Two weeks. We read the code, map the dependencies and write down what moves easily, what doesn’t, what it costs and what we’d do first. Fixed price, and yours to keep whoever does the work.
One real module, moved end to end onto .NET 10 and running in production next to the old system. Proof before commitment, not a slide deck about proof.
Module by module, on a schedule you set. The old system keeps serving users until the last piece is across. No weekend big-bang cutover.
Most clients keep us on once it’s modern, because the team that moved it is the team that understands it. That’s the section below.
VB6 → C#.NET Framework → .NET 10WinForms → WPF / Avalonia / MAUIOffice add-ins → Office.json-prem → Azure
04 / What we
build
We lead with modernization because it is the hardest .NET work to hire for, and it is how most clients meet us. It is rarely where they stop — new products, payment systems and mobile apps usually follow. Everything below is C#: the same two engineers, the same codebase, no second vendor to brief.
ASP.NET Core, FastEndpoints, Entity Framework Core, NSwag-generated clients, SQL Server and PostgreSQL, nginx gateways.
Blazor Server and WebAssembly for teams who want to stay in C#. React, Angular and TypeScript when the front end has to live on its own.
WPF, WinForms and Avalonia with proper MVVM. Shell extensions, Office add-ins and the awkward integrations that keep desktop software alive.
.NET MAUI — iOS, Android and macOS from one C# codebase, sharing models and validation with the API you already have.
Stripe subscriptions, Connect, webhooks, SCA, payouts and treasury flows — built into the product rather than bolted on beside it.
Keycloak, OAuth2 and single sign-on across several applications. Apple and Google sign-in, including the parts of it that are genuinely unpleasant.
Also in the toolbox Azure · Docker · Azure DevOps · CI/CD · SignalR · Python automation · Airtable and no-code migration
05 / Who you
work with
Backend, desktop, payments
Five years of .NET for teams in the UK, the Netherlands, Australia and Estonia. Stripe and treasury flows, Keycloak, WPF and MAUI. Engineering degree, EMSI Marrakech.
Web, identity, front end
Blazor front ends and Keycloak authentication on the platform we run today. Trained across three companies on three continents. Engineering degree, EMSI Marrakech.
We trained at the same school, worked the same two companies before founding this one, and build on the same platform today. There is no handover risk between us and no account manager in the middle — when you write, the person who reads it is the person who writes the code.
06 / Questions
we get
It depends on size, but the shape is consistent: two weeks for the audit, three to six weeks for a pilot module in production, then module by module on a schedule you set. A mid-sized line-of-business application usually lands in four to nine months. You get a real estimate after the audit, not before it.
Yes. That is the whole point of moving module by module rather than rewriting. The legacy application keeps serving users while migrated modules go live alongside it, and the last piece crosses when you are ready. There is no weekend big-bang cutover and no period where the business cannot operate.
Fixed price, two weeks. We read the code, map the dependencies and third-party libraries, and write down what moves easily, what does not, what it costs by module, and what we would do first. The report is yours to keep whoever ends up doing the work — including nobody.
Yes, both. VB6 and VB.NET to C#, .NET Framework and .NET Core to .NET 10, WinForms to WPF, Avalonia or MAUI, Web Forms to ASP.NET Core and Blazor, standalone Office add-ins to Office.js, and on-premise to Azure. The awkward integrations are usually the interesting part.
Almost exclusively. We have shipped for teams in the Netherlands, United Kingdom, Australia, Estonia, France and Morocco, remotely, from Marrakech on UTC+1 — within European working hours. We work in English, French and Arabic, and we invoice as a registered Moroccan company.
The two of us. Issam takes backend, desktop and payments; Chaimae takes web, identity and front end. There is no agency layer, no account manager and no junior you have not met. When you send an email, the person who reads it is the person who writes the code.
07 / Start here
Tell us what you are running and what it costs you to keep running it. We will tell you honestly whether it is worth moving — and if it is not, we will say so and tell you why.
Book a fixed-price audit issam@digitalnavigators.tech