AI-driven development with OutSystems Mentor
Low-code in a world of high-code copilots
Craig St. Jean December 05, 2024 • 9 min read
Subscribe to the blog
By providing my email address, I agree to receive alerts and news about the OutSystems blog and new blog posts. What does this mean to you?
Your information will not be shared with any third parties and will be used in accordance with OutSystems privacy policy. You may manage your subscriptions or opt out at any time.
Get the latest low-code content right in your inbox.
Subscription Sucessful
Can low-code platforms still live up to their promise of accelerating development in a world where generative AI (GenAI) is generally available as a companion to coding? As Chief Technology Architect at Xebia (an OutSystems partner), an OutSystems MVP, and a developer with significant experience in enterprise applications on traditional Java stacks, .NET, and OutSystems, this is a question that’s been at the back of my mind for awhile. In this blog post, I evaluate modern-day low-code offerings and how they compare to high-code with GenAI copilots.
Understanding low-code development platforms
Enterprise low-code platforms, such as OutSystems, are graphical coding tools designed to increase developer productivity up to 10x by abstracting traditional high-code technologies. They differ from no-code platforms, however, by being fully general-purpose development tools that you can use to build what you want, how you want.
Common features of enterprise low-code platforms include:
- WYSIWYG (what you see is what you get) UI designers for web and mobile
- Hybrid flow-based coding with code-like expressions
- Integrations and extensions with traditional code (JavaScript, C#, etc.)
Platforms like OutSystems also offer:
- Composable and reusable architecture, including UI, data, logic, workflows, and APIs
- Web, native mobile, PWA, API, and batch endpoints
- Abstractions around code to offer best practices out of the box
What does low-code look like?
Here is an example of a mobile OutSystems application. As you can see, you have a wide array of UI patterns and widgets available, and you can create the user interface you want without any constraints. Templates are available to accelerate your development, not to hinder you from creating the next best thing!

Fig. 1: OutSystems template. Source; Xebia's Digital Bank in a Box Solution
Coding in low-code is very visual. Here’s an example flow from an invoice app:
- If the invoice is a new invoice, it:
- a. Creates the invoice in the database
- b. Sets invoice permissions in the database
- c. Initiates the approval flow
- Or, if it already exists, it:
- a. Verifies that the current user has permission to write to the invoice
- b. Continues the approval flow, or gives an error

Fig. 2: Example code in OutSystems
As you can see, the flow is easy to read in the OutSystems interface but not limiting. Where additional logic is required, such as in the condition to check if the user has permission to write to the invoice, an expression can be used to extend what is already there.
What are high-code copilots?
Copilots are AI tools used to generate code suggestions in high-code languages, such as JavaScript and C#.
The initial copilot that took the market by storm was GitHub Copilot, which came out in October 2021. Today, there are many cloud-based copilots, including GitHub Copilot, Claude, Amazon Q Developer, and even tools that can run on your own computer such as Tabby, Refact.ai, vLLM, and more.
Copilots are a result of training an AI model from huge amounts of existing code, then looking at what you are trying to do and predict what should come next. For example, if I write this simple C# class that will output the tenth number in a Fibonacci sequence, it might suggest what you see here at line 5:

Fig. 3: GitHub Copilot suggesting code in a C# project
Note that I did not write any of the Fibonacci function. GitHub Copilot simply tried to predict what I wanted based on the code available to it and offered it as a suggestion. It does not have line numbers yet, because I have not yet accepted the code in my editor.
As you can imagine, such a powerful tool has the possibility to greatly increase developer productivity.
How are people adopting copilots today?
The adoption of copilots has been interesting to watch. Initially, many people immediately jumped on GitHub Copilot to accelerate their development. At the same time, risk-averse businesses waited to identify concerns such as intellectual property ownership and whether their code would be reused to train the copilot models.
Over time, several concerns have come up around the use of AI-generated code:
- Generated code may have security vulnerabilities that are harder to find.
- Generated code is inconsistent and has no understanding of a code style guide that you may be following.
- Defects caused by generated code, such as missing or incorrect validations, take longer to identify and resolve because developers are not as familiar with what was written.
- Incorrect generated code that constantly appears in your editor interrupts flow and concentration.
- Junior developers are finding it harder to develop their skills and move up due to a dependence on generated code.
As a result of these challenges, many senior developers are actually turning their copilots off and finding the result to be faster end-to-end development and higher job satisfaction. Others have found that they prefer to keep automatic suggestions off, and instead use it on-demand and only for boilerplate code.
How does low-code compare?
Aside from the challenges I just mentioned, comparing low-code without copilots to high-code with copilots tells an interesting story. Even though copilots can assist with writing high-code very quickly, the things that make low-code appealing still prevail.
Low-code is based on best practices
Low-code is built on top of composable and reusable patterns that provide best practices and security out-of-the-box. With a copilot, you only get code, and you can’t tell what it was based on, nor can you be assured that it is secure.
Many of the challenges of coding by hand are removed
Because low-code abstracts underlying technologies, developers do not need to be aware of nuances in the code, or of differences between versions. By contrast, copilots often will guess at an API that might not actually exist, or it might generate code for the wrong version of a framework that you are using.
You have a visual representation of what you are developing
Low-code’s graphical WYSIWYG editors make it much easier to see what you are building compared to high-code. Copilots can’t help you there, either. Even with conversion into designer tools like Figma, the copilot itself does not understand what you are trying to accomplish.
Low-code platforms manage the full lifecycle of your application
From development, to deployment, management, and monitoring, low-code’s got you covered. Plus, it makes it easy to maintain your app and change it over time. Copilots, on the other hand, can only write code, and this code will never be as easy to change or maintain than low-code.
Do low-code platforms have copilots?
Yes, actually! Many enterprise low-code platforms have some form of copilot, with some (for example, OutSystems) that actually had one before GitHub Copilot came on the scene!
In the case of OutSystems, there are 2 “copilots” available:
- The blue dot for logic recommendations
- Natural language database queries
The blue dot
The “blue dot” was once called OutSystems AI Code Mentor. OutSystems trained the blue dot on millions of code samples (anonymously, of course) using machine learning to understand what you are trying to do and offer specific and generic suggestions. For example, if you’ve just queried the database, it might suggest that your next action is seeing if you got any results back.

Fig. 4: Code Mentor suggested logic. Source: Logic Mentor Example
Natural language database queries
Using a different type of “copilot,” OutSystems allows you to tell it what you are trying to accomplish when you query data, and it will come back with the query all ready to go for you!
In OutSystems, database queries are called Aggregates, which are essentially a visual form of a SQL query. Consider an HR management system, where I might want to find all sales manager employees, sorted by the country they are in:

Fig. 5: Natural language database query (Aggregate)
First, I try, “Find all Employee with a job position name of ‘sales manager,’ ordered by their country name”; however, that doesn’t quite get it right. (Note that OutSystems will recommend table names and attributes while you type, hence why I wrote “Find all Employee” instead of “Find all employees.”)
So, I give it a hint that Country Name is in the country table, select Get Data, and it creates exactly what I was looking for!

Fig. 6: The result of the natural language query
OutSystems has identified that the query will need to look at the Employee, Country (joined by Employee’s CountryId) and JobPosition (joined by Employee’s JobPositionId) tables. These sources are similar to the FROM clause of a SQL query.

Fig. 7: FROM clause of an SQL query
In the Filter section, which is similar to the WHERE clause of a SQL query, it has added that I am only looking for JobPositions with a Name of “sales manager.”

Fig. 8 Filtering Section
Finally, in the Sorting section (similar to ORDER BY in SQL), it has added an Ascending order against Country Name.
What comes after copilots?
If AI copilots are code assistants that can write chunks of code based on context and user input, what comes next? It’s quite simple, full-stack applications! But, not only the code for an entire application, but everything across the SDLC.
Introducing OutSystems Mentor, the industry’s first full SDLC digital worker, which uses GenAI and AI throughout the application development and deployment process. Mentor allows you to take anything from a simple prompt, to a complex prompt, to a full requirements document, and produce an entire application. After creating the application, Mentor allows you to use natural language processing either to iterate on on your request, or switch over to ODC Studio to continue developing the application as you desire.
Throughout the process, Mentor monitors your code for coding practices, security concerns, and more. And, when you’re ready, you can use it to confidently deploy your code to test and production.
Learn more about Mentor, the next evolution of generative AI and AI.
About Xebia
Xebia is a trusted partner for organizations worldwide, delivering end-to-end IT solutions that accelerate digital transformation. Specializing in technology consulting, AI, software engineering, and intelligent automation, Xebia helps clients navigate the complexities of the digital age. With expertise spanning industries such as finance, healthcare, and retail, Xebia’s innovative solutions empower businesses to improve efficiency, drive growth, and enhance customer experiences. To learn more, visit Xebia’s website or follow Xebia: LinkedIn, X (Twitter)
Craig St. Jean
Craig is Chief Technology Architect @Xebia, an OutSystems MVP, and a developer with significant experience in Enterprise Applications on traditional Java stacks, .NET, and OutSystems. He is a technical leader who has led large- and small-scale projects to drive business value, and is a Mentor and Pluralsight Author.
See All Posts From this authorRelated posts
Praveen Kumar Natarajan
November 19, 2024 8 min read
Takin Babaei
July 31, 2024 6 min read
Paulo Rosado
July 02, 2024 7 min read