Genio is an integrated development platform developed by Quidgest, designed to address the challenges of building software systems in complex, urgent, and highly customized environments. By adopting a Model-Driven Engineering (MDE) approach, Genio enables the automation of large parts of the software development lifecycle, resulting in significant gains in productivity, quality, traceability, and responsiveness to business changes.
Combining functional metamodeling, automatic code generation, and simulation, Genio makes it possible to drastically reduce the time required to deliver enterprise-grade solutions, while maintaining a high degree of alignment with the specific needs of each organization.
Genio is a model-based system for automatic software generation, built on top of dynamic metamodels and functional specifications. It provides a complete development environment that includes visual modeling, simulation and prototyping tools, and multi-platform code generation.
All development is centered around metadata, which declaratively defines the behavior and structure of the system. Once this metadata is defined, the entire system can be generated with a single click — no additional manual interventions are required. When custom code is necessary, it is isolated and safeguarded, and automatically reintegrated during each regeneration cycle.
The generated code is readable, documented, and efficiently structured. Complex tasks such as validation, sorting, and iterations are moved to the design phase, ensuring optimal performance at runtime.
Using Genio brings several technical and operational benefits. The development cycle is significantly shortened due to automated generation and the separation between the functional and technological layers. This allows both layers to evolve independently — for example, technology can be updated without impacting business logic.
Agility is a core strength: Genio supports rapid prototyping, short feedback loops, and tight integration with end users. Regeneration of the full system can be performed at any time, ensuring continuous delivery and adaptation.
Genio promotes system consistency and quality through reusable smart templates and the systematic application of engineering patterns. These patterns cover a wide range of domains, including persistence, business logic, user interfaces, security, auditing, and interoperability.
Genio includes a comprehensive library of reusable software engineering patterns. These patterns represent proven solutions to recurring design and development problems. They are technology-independent and applicable across different functional domains and architectures.
Pattern categories include:
Genio enforces a clear separation between the functional and technological layers. Functional specifications are stored as metadata, while technology-specific code templates (smart templates) are managed independently. This modular architecture allows separate teams to evolve each layer in parallel and ensures that technological upgrades do not disrupt the functional model.
Genio supports multiple technology stacks — including Windows (C++, C#, .NET), web platforms (MVC, Vuejs, JavaScript), REST and SOAP services, Office Add-ins, PL/SQL, and others. The ability to instantiate a model into various technologies, without requiring different versions of the model, is one of Genio's defining features.
Genio was designed with continuous improvement in mind. New platform versions include enhancements to the technological layer, which are automatically propagated to existing projects via regeneration. This mechanism supports high agility, long-term maintainability, and technological alignment.
Traceability, idempotency, and transparency are embedded into the development process. Declarative specifications make changes easy to introduce, but Genio also encourages engineering discipline by requiring careful validation of all modifications to ensure consistency across the system.
The Genio platform is built on a solid set of engineering principles and methodological guidelines that support the automatic generation of high-quality software systems. These principles ensure that Genio-based systems are robust, efficient, maintainable, and aligned with business goals.
Quality = Fitness for Purpose + Continuous Improvement
Genio aims to produce systems that are correct from the first generation, while remaining adaptable to evolving requirements.
Model-Driven Engineering (MDE)
Functional specifications are defined at a high abstraction level, independent of technology. Code is generated from these models using customizable templates.
100% Genio
Genio manages the entire development lifecycle. Manual code, when needed, is isolated, preserved, and included in each regeneration cycle.
Simulation as a Design Strategy
Simulation enables interaction with the system model before deployment. It is a form of high-level, visual programming, close to the user, far from the code.
Visual Programming and Qualified User Involvement
The use of graphical modeling and interactive simulation encourages direct involvement of domain experts and end users.
Agility and Rapid Prototyping
Iterative, short development cycles — measured in hours, not months — allow rapid adaptation to change, in line with Agile principles.
Separation of Functional and Technological Layers
Functional metadata and technological templates evolve independently, ensuring modularity and long-term maintainability.
Continuous Technological Evolution
Each regeneration automatically incorporates improvements in the technological layer, ensuring alignment with modern platforms and tools.
One-Click Regeneration
Any user, even unfamiliar with the system, can regenerate the full source code from metadata with a single click.
Manual Code Preservation
Custom logic (e.g. complex algorithms, validations) is protected and integrated in each generation cycle.
Performance Efficiency
Code generation occurs at design-time. Generated systems exhibit no performance penalties; instead, design-time complexity improves runtime efficiency.
Readability and Maintainability
Generated code is formatted and documented for easy debugging and comprehension.
Error Minimization
The reuse of templates across multiple projects and clients significantly reduces the likelihood of defects.
Cross-Platform Coherence
Identical results are ensured across multiple interfaces (e.g., Web, SmartClient), supporting data consistency.
Robustness
Systems handle exceptions gracefully and maintain stability under invalid inputs or edge conditions.
Maturity
Genio is the result of decades of refinement and integration into real-world, mission-critical environments.
Simplicity
Between two possible solutions, the simplest and most maintainable one is preferred.
Traceability
Systems are designed to reconstruct how each state was achieved (e.g. history tracking instead of overwriting).
Idempotency
Repeated execution of the same process always produces the same result. This is enforced through modeling discipline and metadata structure.
Transparency
Users have visibility and control over system behavior and execution flows.
Intuitiveness
Genio-generated systems aim for intuitive interaction, increasing productivity and reducing training and error rates.
Value-Driven Development
All changes must deliver measurable value to the end user or organization. Flexibility should not lead to unnecessary complexity.
Model Coherence
Users are encouraged to test and validate changes within the existing model, avoiding arbitrary modifications without proper analysis.
One of Genio’s most distinctive features is its self-generative capability. As a second-generation generator, Genio is developed using Genio itself — a concept known internally as GenGenio. This self-replication mechanism demonstrates the platform’s maturity and its ability to support large-scale, complex systems under real-world constraints.
Having understood the foundational principles, architecture, and advantages of Genio, the next step is to explore how these capabilities are made accessible through the platform’s development environment.
The Genio IDE is not a traditional code editor — it is a model-driven development interface where systems are conceived, simulated, and generated through interaction with structured metadata. Its interface is organized into a set of specialized menus, each corresponding to a critical dimension of software modeling and system definition.
Each menu within the Genio environment encapsulates a specific layer of abstraction or functional concern — from data modeling and business rules, to user interface design, security policies, internationalization settings, and system behavior logic. Understanding the purpose and scope of each section is key to effectively using the platform.
In the following sections, we break down the structure of the Genio IDE, detailing the role of each main menu, how it interacts with others, and the kinds of models and configurations users can define in each area.
Let’s begin by examining the core structure of the platform, starting with the Modeling environment.
Dive into the foundational building blocks of data management and manipulation in Genio.
Discover the tools and techniques to design intuitive and efficient user interfaces.
Discover the tools and techniques to design your navigation.
Streamline and automate workflows and operations.
Keep users informed and engaged.
Secure your application and manage user access.
Integrate custom code and third-party applications.
Configure everything on the application.
Ensure the reliability and performance of your application.
A set of symbols will allow you to identify, for each of the patterns and whenever applicable:
Icon | Function | Description | Context | Where to find |
---|---|---|---|---|
Notifications | Displays system alerts and warnings | Main navbar, Right sidebar | Found in the top bar and sidebar panels. | |
Languages | Changes application language | Main navbar | Located in the top bar language selector. | |
Search | Filters or finds records | Main navbar, List (header) | Global search and list filter headers. | |
Actions button | Shows all available actions (Read, Edit, etc.) | List (row) | Appears for each row in entity lists. | |
Create | Adds a new item or record | List (row) | All lists across Genio. Appears below lists next to pagination. Examples: Add new table, field, form, alert, etc. | |
Read | Displays a record in view-only mode | List (row) | Part of the actions group (Read, Edit, Delete, Duplicate). Examples: View table, field, or form details. | |
Edit | Opens a record for editing | List (row), Dashboard | Part of the actions group. Also appears on dashboards to edit widgets. | |
Delete | Deletes the selected item | List (row), Dashboard (Widget) | In the actions group. Also used in dashboard edit mode to remove widgets. | |
Duplicate | Creates a copy of an item | List (row) | In the actions group across all entity lists. | |
Create area | Creates a new area/logical table | Table List (row) | Used to create an area from the selected entity. | |
Cancel | Cancels the current action and returns to the previous view | Forms | Used when editing, duplicating, or deleting records. | |
Go Back | Returns to the previous screen | Forms | In read-only forms to return to the previous screen. | |
Sort | Sorts list by a selected column | List (column) | Present in all list headers. | |
Manage Views | Customizes how lists are displayed | List (header) | Appears in the header of lists with multiple view modes. | |
Exportation | Exports data to external formats | List (header) | Found above the list in export controls. | |
Filtering | Opens advanced filtering options | List (header) | Top-right of all lists. | |
Set columns | Manages visibility of table columns | List (column) | Found in list/grid header tools. | |
Model View | Displays high-level model of forms or tables | Table List (row), Table's form, Form List (row), Form's form | Found in the actions menu and form quick view. | |
Form Layout | Opens visual editor for forms | Form List (row), Form's form | Found in quick view and the actions menu of form lists. | |
See more | Opens another form with a list of all options | Form (components) | Found in dropdowns components inside the forms. | |
Dependencies | Shows related or dependent records | Record's form | Available in table, field, and form configuration views. | |
Save record | Saves the active form or record | Record's form | Footer or toolbar on all edit forms. | |
Translations | Opens the translation interface | Form (components) | Near localizable labels and titles. | |
Translations with AI | Suggests translations using AI | Resources menu | Inside the text form. | |
Untranslated texts | Displays missing translations | Resources menu | Shortcut in the dashboard or the “Resources” menu. | |
Navigate | Opens related form for more detail | Record's form, Form (components) | Inside quick view panels and beside dropdown components. | |
Locking | Enables/disables record access | Table form | Found on record detail forms. | |
Order | Changes sequence of items | List (header) | Available in the header of reorderable lists. | |
Compact/rearrange the widgets | Removes extra space between widgets | Dashboard (header) | Appears in dashboard edit mode to rearrange layout. | |
Refresh | Reloads the data in a widget | Dashboard (Widget) | Available on widgets that support reloading. | |
Code Generation | Builds entire application | Generation Menu | In the generation toolbar. | |
lieCnt Generation | Builds the UI/client-side app | Generation Menu | In the generation toolbar. | |
Expand Tools | Opens tools sidebar | Right sidebar | Inside the right sidebar panel. | |
Collapse Tools | Closes tools sidebar | Right sidebar | Inside the right sidebar panel. | |
Assistant | Opens Genio assistant | Right sidebar | Toggle in the right sidebar. |