Simap – a New Era for Public Tenders

Simap.ch association

Customer
Simap.ch association
Customer since
2021
Go-Live
July 2024
Website
simap.ch

3,000

Procurement departments

50,000

Vendors

20,000 

Users per day

CHF 20 bn

Procurement volume per year

Starting Point: Simap to Become More Intuitive and Efficient

Public tenders fall under public procurement law. This means that above a certain threshold, all contracts awarded to providers by public authorities must be publicly tendered and information on which companies are awarded the contracts must be published. This is to ensure fair competition and the most cost-effective use of taxpayer money. 

Public tenders are handled via the simap.ch online platform, which is the official platform for public tenders in Switzerland. The acronym is derived from the French name: ‘Système d’information sur les marchés publics en Suisse’.  

The online platform is operated by an association formed by the Swiss Confederation and the Swiss cantons. In 2019, a call for tenders to replace the existing platform was published, citing the following goals: 

  • The platform must support the complex tendering processes, which are very heterogeneous in Switzerland due to its federal structure. 

  • For users, using the new platform must be as easy and intuitive as possible. 

  • The platform must deliver a positive user experience. 

  • No training must be required to use the platform. 

  • The volume of support requests is to be decreased. 

The Solution: A User-centric New Platform 

The complexity of the platform and the goal to keep the number of support requests low required a custom development, tailored perfectly to the customer’s needs. To get the best result, Unic decided on an agile software development method with many feedback loops and a service-oriented architecture with a cloud-native approach. 

The focus was strictly on the needs of the different users. We did an in-depth analysis of the business processes, standardised and optimised them as much as possible and challenged existing functionalities. This user-centric approach was applied to the entire concept. The result features user-specific navigation with a sleek and modern look and a concise design language.  

We Also Considered the Needs of Vendors 

Through extensive interviewing, we determined the very heterogeneous requirements for a procurement project search engine and drafted possible solutions. We validated our hypotheses in several user tests, listening to user and vendor representatives from within and outside the project team.

This enabled us to validate changes and adaptations for user-friendliness with visualisations early on and get feedback from different sides. 

The New Simap 

The new expert application meets a multitude of very specific functional and non-functional requirements. Apart from core functionalities related to the procurement process, the application also provides many administrative functions to lighten the workload for the support team. The integration of third-party systems provides an interface with the EU tendering platform. 

Overview of processes to be implemented

Success Factors

Many factors contributed to the success of the solution. Here is a selection: 

Intricate Role Concept 

The platform must meet the needs of different user groups: from large procurement departments with dozens of employees (e.g. Federal Offices or the SBB) to small municipalities, from large multinational vendors to SMEs. Some users use it every month, others only every few years. 

Video tutorial generated by Videodesign

Overview of the different key players

Other users of the platform include competence centres, cantonal printers of the official gazette and system administrators. 

Decentralised role and authorisation management

To reflect this heterogeneity, we implemented a differentiated roles and rights concept: 

  • The different organisational units have their own administrator roles. This way, most of the user and organisation management is decentralised. 

  • The support staff can use an ‘impersonate’ functionality to provide support to individual users. 

  • Individual users can quickly switch between different roles if they use simap.ch in different functions. 

  • All roles have tailored user interfaces, displaying to users only what is relevant to their role. 

Clear Project Structure 

A major innovation compared to the old platform is the structuring of data based on projects:  

On the new platform, all publications connected a specific procurement project are also be grouped in a project, plus the related rounds of questions, uploaded documents, vendor lists and due dates. This simplifies the work of the tendering procurement departments significantly and provides a better overview for vendors. 

‘Project Detail’ screenshot: Concrete construction work – interest expressed
Screenshot of Project Detail

Tailor-made Workflow 

Public procurement processes are somewhat complicated and not homogenous in Switzerland due to the country’s federal structure. There are different types of procedures and public contracts, tenders with and without lots... For the different procedures, there are also various types of publications, from a ‘procurement announcement’ to a ‘cancellation’ or a ‘correction’. Due to the legal requirements, there is very little room for manoeuvre here. 

To simplify the procurement procedures for the contracting authorities, we implemented a comprehensive, smart workflow that covers the entire procurement process in all its variants. 

More specifically, the new platform supports procurement departments by offering only those activities at any point in the process that make sense and are permissible in the context of the legal and technical framework. 

Extremely complex schematic drawing with many variables. Detailed image description not possible.
Schematic drawing of the numerous possible main processes and alternatives (in German)

The new Simap is easy to use for both vendors and procurement departments. Thanks to a much-improved search engine including various useful filter options, relevant tenders are just a click away. Even occasional Simap users will be able to work with it efficiently.

Hans-Peter Wessels, contracting partner and president of the Simap.ch association 
Video tutorial generated by Videodesign

The Technology Behind the New Simap Application

From the very beginning, we designed the application with a cloud-native approach and a service-oriented architecture. This enables flexible and stable operation in Kubernetes or cloud platforms, the advantages being scalability, performance and stability.  

Backend 

The backend implementation was driven by the non-functional requirements: Unconditional traceability, high-security standards, availability and short processing time are the key pillars of the application. 

  • Traceability: For all relevant data, the system continually tracks which user made which change. This is stored in history tables, to which a new entry is added via a database trigger when a change is made. Automated tests also make sure that for all triggers, audit functions and history tables, all fields are considered, so that the information will also stay consistent when changes are made to the database itself. For the entry of tenders, the system uses a data structure that is completely separate from that of published tenders. This is an additional layer of protection for unpublished drafts and ensures at the database level that published tenders are not edited. 

  • Security: The use of OIDC (OAuth2) ensures that the authentication is valid for every request. Based on this, we have implemented the first security layer directly on the controllers so that requests that do not have the necessary roles for the API endpoint are rejected at a very early stage. At the database level, row-level security (RLS) ensures that for every request, only the data for which authorisation is available can be queried or changed. Also, low-privileged database connections are used for the application to minimise the risk of attacks on data integrity. 

  • Availability and stability: The application fulfils the cloud-native requirements and is completely stateless. This enables the scaling of components to absorb higher load peaks when needed. The implementation for periodic jobs was outsourced to a separate application: This makes it easier to manage authorisations and reduces the load on the client-facing parts of the application. To ensure that the application version and database structure are compatible, the database schema is managed directly via the backend with Flyway. This is essential for a reproducible, highly automated deployment process with low susceptibility to errors. 

  • Performance: One challenge, as mentioned above, was ensuring high performance while fulfilling the security and traceability requirements. When using RLS, the number of database entries has a very direct effect on the overall performance of the application. That is why for the performance tests carried out by the Ergon company, we used data volumes to be expected after an application uptime of roughly five years. Thanks to these tests, we were able to spot potential bottlenecks during development and eliminate them by optimising the RLS function.  

  • Authentication: Due to the security requirements, it is necessary to rely on a tried and tested product for user authentication, authorisation and management. Since we had experience with Keycloak from other projects, the IdP was an easy pick. Keycloak evolved significantly over the course of the project, and in its latest versions is a perfect tool for self-hosted applications run on (private) cloud platforms. 

Frontend 

It was our goal from the start to create a modern, scalable application that would live up to the high expectations of all users. With a clear focus on user-friendliness and robustness, we have implemented a powerful web client with Node.js in React and TypeScript in the frontend.

Modern Technology Stack for Optimum Performance  

We decided on a modern technology stack to ensure an excellent user experience and stable performance:  

  • TypeScript and React: This powerful combination enables us to build robust and scalable applications. TypeScript provides us with type safety and early error detection, whereas React ensures dynamic and reactive user interfaces. 

  • MUI (Material UI): MUI enables us to create a consistent and appealing user interface, both in terms of functionality and aesthetics. 

  • Node.js and SSR React: By using Node.js as a backend platform and server-side rendering (SSR) of React components, we improve loading times and SEO aspects of the platform. 

  • Webpack and Loadable: These tools help us optimise build processes and shorten loading time by efficiently bundling and minimising code. 

Focus on Security and Efficiency 

Security and efficiency of our application always take top priority. We have implemented several strategies and technologies to ensure this:  

  • Express.js and proxy layer: By using Express.js and a proxy layer, we protect our application from malicious requests and control the data flow. 

  • Stateful HTTP and custom rendering: The use of HTTP cookies and Redux in combination with our optimised renderers significantly improves the user experience. 

  • OIDC with PKCE: This security feature ensures safe authentication and authorisation of users, which is particularly important for the protection of sensitive data. 

  • Security mechanisms: Our strict security guidelines protect the application from various attack vectors and unauthorised access attempts before they even reach the backend. 

  • Maintainability and expandability: Thanks to clean code and modular architecture, the application is easy to maintain and expand, should future requirements make this necessary.  

  • Performant forms: The forms we developed enable quick and smooth user interaction, which increases the efficiency and satisfaction of users. 

With an innovative approach and by using state-of-the-art technology, we have created a fronted solution that not only lives up to today’s requirements but is also well-equipped for future challenges. Our work for the Simap platform provides top quality, security and performance, setting new standards in frontend development.  

Successful Results and Awards 

Our hard work and careful planning paid off. The Simap platform has achieved several important milestones:  

  • Successful penetration test: Simap passed a comprehensive penetration test with flying colours, which proves the robustness of our security measures. 

  • High scores in the architecture audit: The well-designed and scalable architecture received high scores in an independent audit. 

  • Outstanding performance and maintainability: The platform not only performs exceptionally well but is also easy to maintain and expand, which facilitates future expansion and scaling. 

  • As a result, the new Simap offers users a high-performing, secure and user-friendly solution. 

So, What’s Next? 

The plan is to operate both platforms in parallel until the end of 2024, which is when the legacy Simap will be shut down. The data from the legacy platform will remain available for analytical and statistical purposes. 

Additional functionalities to facilitate digital procurement for all parties involved are currently in development.  

  • Vendors will be able to submit their bids electronically. 

  • Vendors will be able to send requests for information (RFI) via simap.ch. 

  • The tender invitation procedure will also be available on simap.ch. 

  • Procurement departments and competence centres will be able to export various statistics. 

We will report on further developments of the platform in the future. 

Contact for your Digital Solution with Unic

Book an appointment

Are you keen too discuss your digital tasks with us? We would be happy to exchange ideas with you.

Jörg Nölke
Gerrit Taaks
Gerrit Taaks

Contact for your Digital Solution

Book an appointment

Are you keen to talk about your next project? We will be happy exchange ideas with you.

Melanie Klühe
Melanie Klühe
Stefanie Berger
Stefanie Berger
Philippe Surber
Philippe Surber
Stephan Handschin
Stephan Handschin