Milan · Brussels · Bucharest · Paris
Case study · European Commission

EC Grants: from Vaadin to the latest Angular

We migrated a European Commission grants management platform — used to prepare, award and follow up EU grants — from a server-side Vaadin (Java) user interface to a modern application on the latest Angular, with the business logic exposed through REST APIs.

Vaadin → Angular 22server-side Java UI replaced by a modern single-page application
Server → browserUI rendering moved to the client, removing a server round-trip for every interaction
RESTcontract-first APIs between the new front-end and the Java back-end
Context

EU grants are direct financial contributions from the EU budget to projects that further EU interests or implement EU programmes and policies. They are awarded through calls for proposals by Commission directorates-general, offices and agencies, under principles such as equal treatment, non-cumulative funding and co-financing.

The platform supporting these grant processes had been built with Vaadin, a server-side Java UI framework. It worked — but every interaction went back to the server, the interface was tightly coupled to the business logic, and neither skills nor components could be shared with the Commission’s other Angular platforms.

The challenge

  • User interface and business logic tightly coupled inside Vaadin views
  • A server round-trip and server-side session state for every user interaction
  • A niche UI framework, with a small talent pool and no reuse across other platforms
  • Complex grant workflows — from call preparation to award and follow-up — that had to keep working
  • Migration of a live system without disrupting ongoing grant processes

How we migrated

Decouple first, then rebuild the interface on the latest Angular — screen by screen, with the business logic preserved.

  1. 1

    Decoupling the business logic

    Logic extracted from Vaadin views into Java services and exposed through contract-first REST APIs with OpenAPI specifications — reusable by any client.

  2. 2

    Latest Angular front-end

    A single-page application on the latest Angular: standalone components, signals, typed reactive forms and lazy-loaded feature areas.

  3. 3

    Reusable components

    Shared building blocks for grant forms, tables, workflow steps and validation — reused across screens and aligned with the Commission’s other corporate platforms.

  4. 4

    Screen-by-screen migration

    Functional areas moved in waves, each verified for parity against the Vaadin version before switching users over.

  5. 5

    Security & access

    Role-based access to grant data enforced in the API layer, with corporate authentication.

  6. 6

    Automated quality

    CI/CD pipelines, automated tests and quality gates across front-end and back-end.

How we did it

The same proven approach as our other migrations: architecture first, reuse always.

01

API contracts first

Front-end and back-end teams worked in parallel on agreed OpenAPI contracts.

02

Reuse before build

Recurring grant patterns built once as components and configured per screen.

03

Business validation per wave

Grant managers validated each migrated area before it went live.

04

No big bang

The legacy and new interfaces coexisted until each area was proven.

Standardisation

  • One front-end stackAngular across Commission platforms — shared skills, shared components, shared tooling.
  • No UI lock-inBusiness logic behind REST APIs, independent of any user interface framework.
  • Maintainable by designTyped code, reusable components and automated tests make future changes faster and safer.

Technology

Before

VaadinServer-side Java UI

Front-end

Angular 22TypeScriptSignalsReusable component library

Back-end

JavaREST & OpenAPIRole-based access

Delivery

CI/CDAutomated testingQuality gates

Outcomes

  • Grants platform moved off Vaadin onto the latest Angular
  • Business logic exposed as reusable, contract-first REST APIs
  • A more responsive interface, rendered in the browser instead of on the server
  • One front-end stack shared with the Commission’s other modern platforms — easier to staff and maintain

Sources:European Commission — Grants and procurement

← Projects

Let's discuss your challenges.

Architecture, migration, AI or scaling a team — tell us what you are facing. We reply within one business day.

Start a conversation