01

Software engineering

MSDP designs bespoke management systems — ERP, back-offices, iOS and web business applications — and trains the teams who build, take over or run them.

In brief

MSDP has been designing and building ERP systems since 2003. The sectors covered — logistics, textile, automotive, consumer retail, aviation — share neither vocabulary nor constraints. They do share one difficulty: the off-the-shelf package covers most of the requirement, and what it does not cover is precisely what makes the business valuable.

The service covers both sides of the same craft: building the systems, and passing on the ability to build them. The second part — software engineering, advanced systems design and architecture — is delivered both in training organisations and directly in-house.

What the service covers

  • Bespoke ERP and management systems: logistics flows, stock, production, purchasing, sales, invoicing, reporting.
  • Extending, taking over or progressively replacing an existing ERP that has become a bottleneck, without halting operations.
  • Native iOS business applications (Swift / SwiftUI) and web interfaces.
  • Getting an application distributed: App Store publication, custom app through Apple Business Manager, or silent fleet installation by MDM.
  • Apple fleet management: device enrolment, configuration profiles, package and licence deployment, workstation authentication against the company directory.
  • Single sign-on: setting up and running a Keycloak identity provider, connecting business applications, workstations and third-party services to it.
  • Advanced systems architecture: domain modelling, separation of responsibilities, integration, scaling.
  • Digitalising operational processes: from a paper or spreadsheet procedure to a tool people will actually use.
  • Mapping and cleaning up an application estate: redundancies, data flows, breaking points, and what should be switched off.
  • Client-side project ownership: representing your interests opposite a technical supplier.
  • Software engineering training: lifecycle, quality, testing, code review, managing technical debt.
  • Architecture workshops run on the client’s own system, ending in written decisions and an action plan.
  • Training in AI-assisted development: tooling, writing instructions, building a project context an assistant can actually work from, reviewing generated code, tests and safeguards.
  • Framing “vibe coding” in a professional setting: what the method genuinely delivers, where it fails, and which engineering practices remain non-negotiable.
  • Supporting a team adopting coding assistants: usage policy, code confidentiality, intellectual property, acceptance criteria for a generated contribution.

Technical foundation

What actually runs in production

What follows is not a list of skills but an inventory of technologies genuinely in service, on systems that can be named. The choice of a technology stays subordinate to the problem: domain modelling always precedes the stack, and an architecture another team could not take over is a failed architecture.

Backend
Grails 6.2 on Groovy and Spring Boot, GORM and Hibernate, JSON views, MySQL. In production since January 2026 on a multi-operator platform.
Web
React 19 and TypeScript, Vite build, MUI 7 component library.
iOS
Swift 6 under strict concurrency, iOS 18 minimum, iPhone and iPad. SwiftUI and Observation for the interface, SwiftData for persistence — versioned schema and migration plan —, URLSession for networking, Keychain and CryptoKit for secrets, PDFKit, VisionKit and QuickLook for documents, Swift Testing for tests.
Infrastructure
Amazon S3 partitioned per organisation with time-limited signed URLs, encrypted JWT tokens, server-side PDF generation for manuals, records, certificates and invoices.
Method
AI-assisted development under unchanged engineering discipline: systematic review, tests, and documentation kept current because it doubles as the assistant’s context.

Apple ecosystem

The FlyMate iOS application depends on no third-party library: no CocoaPods, no external SwiftPM package. The network layer is written on URLSession, persistence on SwiftData, security on Keychain and CryptoKit. That choice costs at writing time and pays at operating time: nothing breaks when a major iOS release ships because a third-party maintainer stopped keeping up.

The architecture is local-first — the interface reads and writes a local database, a sync engine reconciles with the server when the network returns — with an idempotent write queue that survives the application being closed. That is what makes it possible to record a complete training session with no coverage.

MSDP also develops the applications of European Aircraft Private Club, which owns them. MyEAPC, the member application, is published on the App Store in English, French and Dutch. MyEAPC Crew, for flight crews, works offline and ships as a custom app through Apple Business Manager: silent installation by MDM, settings pushed through Managed App Configuration rather than typed in by the user.

The scope extends to the workstation and the fleet. A signed and notarised macOS authorisation plugin replaces the native login window with authentication against Keycloak, creating the local account on first access; it is deployed through a configuration profile. The platform that drives that fleet — DEP enrolment, profiles, packages, Apps and Books licences, FileVault escrow — was designed and built by MSDP as well, on NanoMDM and NanoDEP.

Design principles

An ERP rarely fails on technical grounds. It fails because the data model does not match how the business actually works — and people then spend every day working around the tool meant to help them. The first step of an MSDP project is therefore domain modelling, carried out with the people who execute, not only with those who decide.

Operational software, for its part, is used by people in a hurry, sometimes on the apron, often on unreliable connectivity. It must be readable at a glance, tolerant of network loss, and impossible to leave in an inconsistent state. Those constraints drive the architecture — not technology fashion.

MSDP favours simple, documented architectures that another team can take over. Ownership of code and data is settled in writing at the start. And training that changes nothing about what people do on Monday morning was pointless: sessions start from the client’s own system, not from generic material.

AI-assisted development is part of MSDP’s day-to-day practice, not a talking point: the complete rewrite of FlyMate — tens of thousands of lines, a regulated domain, a native iOS application and a web platform — was carried out with coding assistants, under unchanged engineering discipline. It is that experience, its real gains and its limits, that is passed on in training.

FAQ

Frequently asked questions

Since when, and in which sectors, has MSDP designed ERP systems?

Since 2003, across logistics, textile, automotive, consumer retail and aviation. That track record is what distinguishes MSDP from a single-sector supplier: modelling difficulties look alike from one industry to the next, the solutions much less so.

Does MSDP resell hardware or third-party licences?

No. MSDP receives no reseller or third-party vendor commission. Advice is billed to the client, which is what keeps the recommendation independent.

Who owns the code produced during an engagement?

The rule is set in writing before work starts. For bespoke development billed to the client, intellectual property is assigned to the client. For a product published by MSDP such as FlyMate, the client receives a licence to use it.

Does MSDP train teams in AI-assisted development?

Yes. The training covers tooling, writing instructions, building a project context an assistant can actually work from, reviewing generated code and putting safeguards in place. It addresses “vibe coding” explicitly — letting a model write the code and accepting the result without reading it line by line — distinguishing the situations where the method saves time from those where it creates immediate debt.

What is that expertise based on?

On a real implementation: the complete rewrite of FlyMate, a management platform for aviation training organisations, was carried out with coding assistants, in a regulated domain and with an auditability requirement. The examples used in training come from that project, failures included.

Who is the training aimed at?

Developers, architects and technical teams in companies, as well as audiences of training organisations. Sessions are designed to order and do not lead to a third-party certification.

Next step

A project, a mandate, a question?

Describe your situation in a few lines. You get a reasoned answer, usually within two working days — including a frank view on whether an engagement is warranted at all.