EcoTransIT World calculates freight transport emissions for around 340 companies worldwide, processing roughly 4.3 billion shipment calculations a year across road, rail, sea, air, and inland waterways. Behind EcoTransIT World is IVE mbH, a German engineering firm of around 50 people. The reason a team that size can build and run something at that scale comes down to a decision made over a decade ago: stay in Java, from backend to UI, and Vaadin made that possible.
One language, one team
IVE's first customer-facing interface, built around 2010, split the work the conventional way — JavaScript and JSP on the frontend, Java on the backend. For a small team, that split was expensive. Every change meant keeping two codebases, and two ways of thinking, in sync.
It took a lot of time to synchronize the UI in JavaScript with the business logic in Java. We had a lot of iterations and a lot of bugs.
— Ralf Niehaus, Senior Software Engineer, IVE
At the time, Ralf was IVE’s only Java developer, responsible for the middleware and front-end applications, while other developers worked on the C++ backend. The fix arrived almost by accident: while interviewing a job candidate, he learned that their company built frontends with Vaadin instead of JavaScript, meaning he could work in Java end to end. He tried it and, within days, had a working prototype with real input fields for transport mode and destination. The next customer project became IVE’s first production Vaadin build. From there, the team migrated everything.

Staying full-stack as the team grew
IVE has grown from around 25 people five to ten years ago to about 50 today, with developers now based in Germany. But the team has never needed to hire specifically for frontend skills. Java developers can work across the application, from business logic to the UI.
New hires rarely have Vaadin experience when they join, but that hasn’t been a barrier. IVE has hired five new Java developers in the last two to three years, and Ralf says they were able to start building interfaces within weeks.

That also makes frontend work more approachable for developers who would normally prefer to stay on the backend. Instead of learning and maintaining a separate TypeScript or JavaScript stack, they can use the Java skills they already have.
For IVE, that has meant keeping one team focused on the whole application rather than splitting people, skills, and attention between frontend and backend technologies.

What full-stack Java makes possible
Keeping the application stack simple has allowed IVE to focus its engineering resources on the complexity that matters to its business.
Today, the same team maintains almost every interface IVE has built with Vaadin: the public emissions calculator, customer portals, file uploads, dashboards, an internal CRM, user management, maps, and reporting. They also build and maintain the emissions engine behind those applications.
The team manages the infrastructure too: roughly 400 servers, with a dedicated virtualized instance for each customer to keep their data isolated. Customers rely on emissions data staying consistent from year to year, so IVE limits major releases to once a year while rolling out security patches monthly.

Keeping everything current has become even more important as IVE works toward ISO 27001 certification. The team reviews its frameworks and third-party software every month for updates and security issues.
"We want to stay state-of-the-art. Every month we review all our frameworks and third-party software for updates and security issues." — Ralph Anthes, COO, IVE
A global SaaS platform, hundreds of servers, and enterprise security requirements create plenty of complexity on their own. By keeping the application stack in Java with Vaadin, IVE avoids adding another layer of complexity with separate frontend technologies and teams.
Tech stack
|
Language |
Java, full-stack (UI + business logic in one codebase) |
|
Framework |
Vaadin — free tier → commercial license (for charts) → Vaadin 7 → 24 → 25 |
|
Vaadin Components used |
App Layout, Badge, Board, Button, Checkbox, Combo Box, Confirm Dialog, Context Menu, Custom Fields, Dashboard, Date Picker, Details, Grid, Charts, Maps, File Upload, and more |
|
Delivery |
SaaS API · CSV bulk calculation tool · consulting |
|
Integrations |
Customer TMS systems · third-party GIS/vessel-movement data for auto-routing |
|
Internal tooling |
In-house CRM (Vaadin), replacing a former Excel-based system |
|
Infrastructure |
~400 servers, one per customer · one major release/year (Feb) · monthly security patches · ISO 27001 in progress |
|
AI |
Documentation chatbot (Vaadin + OpenAI REST) · evaluating Vaadin's AI-powered charts |
|
Team size |
~50 people |
What's next
IVE is now moving from Vaadin 24 to Vaadin 25, which is a much simpler upgrade than the earlier move from Vaadin 7. That migration involved more work because some older components, such as Table, were no longer available and parts of the UI had to be rebuilt. A couple of older interfaces are still running on Vaadin 7/15 and will be modernized next.
Next, IVE plans to modernize more of its existing modules and introduce a new feature for tracking purchased carbon certificates. The team is also continuing to develop its Vaadin-based internal CRM, which has replaced spreadsheets for managing servers, customers, and invoices.
AI is another area they’re exploring. IVE has already built a documentation chatbot connected to OpenAI via REST and is now looking at the new AI-powered charting capabilities coming in Vaadin 25.2.
See what your team could build without a separate frontend stack. Get started with Vaadin for free.
