Arbeitsort dieser Stelle Lausanne

Create a Low-Code Development Platform (Master Thesis/ Internhips)


"Low-code" development platforms have several advantages compared to traditional approaches. They allow people with little or no programming knowledge to develop significant portions of an application, they reduce the amount of tedious plumbing and boilerplate, and allow quick development iterations.


At ELCA, we have developed a code generation system which is very similar in intent and features: from an abstract description of a data model and application screens, it generates building blocks of a typical three-tier web application. It supports iterative development by allowing developers to modify the generated code, yet preserving those changes when the data or screen models change. However, the data and screen models being written in a Java-based Domain Specific Language, it is unsuitable for use by people with little or no programming knowledge.

In this role

During your internship, you will design and implement a low-code development platform working on top of that code generation system.


The tool must include a graphical point-and-click screen designer and data modeler that you will develop, if possible by integrating existing open-source plugins. You will integrate it in a development environment such as Eclipse or IntelliJ to allow (but not require!) developers to switch to the "code view" to make advanced or custom adjustments to the model or to the generated code, bringing the “Code” in “Low-Code”.


Bundling or integrating with an existing IDE makes it possible to support the "real-time" aspect of low-code platform: making a change to the data model or to the screen model will automatically trigger code regeneration, database migration and application redeployment, allowing the application designers to immediately see the impact of their changes in a browser window

What we offer

Join our team as intern and you will find a young, dynamic and culturally diverse working environment.

About your profile

  • Software engineering.
  • Interest for software architecture and programming tools.

If you are INTERESTED in applying for this position, please send us your complete application (CV, cover letter, letter of reference, diplomas and certificates).