Sapiens

No-code form composer used worldwide to define custom data flows and processes for the biggest insurance providers.
✅ Shortening application build time by 45% - saved 100+ development hours each month
✅ Prepare automated migration of the largest Swedish insurance providers to Sapiens’s Journey & Form Composer with its custom components, flows, and complex business logic.
✅ Solve the most critical performance issues pointed out by global clients.
  • React
  • React
Project duration
  • July 2021 - May 2023
Services
  • Web Application Development
  • Technical Audits
  • Quality Assurance
  • Product Ownership
Team
  • Tech Lead & Software Architect
  • 3 Full Stack Developers
  • Automation Engineer
  • Product Owner
Industry
  • Insurance
Country of operation
  • Israel

About the project

Sapiens International Corporation is a leading provider of software solutions for the insurance industry worldwide. With over 35 years of experience, they provide their services to over 600+ organizations.
The company offers digital insurance software platforms, solutions, and services for:
  • property and casualty,
  • life,
  • pension and annuity,
  • reinsurance,
  • financial and compliance,
  • workers’ compensation,
  • and financial markets.
Throughout the project, Vazco cooperated with the Research & Development Department, which operates in the Sapiens headquarters in Israel. The Development Team focuses on the Journey Form Composer product, a no-code transformative tool allowing users to build advanced forms.

It’s made possible by using the library of ready-to-use components and orchestrating forms with the processes, including external data sources and API integrations. This powerful tool allows non-technical users to design the entire customer journey without programming a single line of code.

Why did Sapiens choose to go with Vazco?

We decided to engage Vazco as they are experts in the area of building forms in React. They are authors of the globally-recognized React library for building forms –  uniforms.  They also proved their expertise in this matter by showing several examples of commercial implementation of form builders for their clients. Vazco also offers its own form builder [Formainer] as a licensed product. This all convinced us that they have significant experience to help us in overcoming challenges with our product and guide the growth of our own developers into more senior skills.

Adi Cohen

Development Team Manager

What challenges did the client face?

At the very beginning

  • Handling and integrating custom components of one of Sapiens' most prominent clients

    Create a reusable system to plug in any set of custom components.
  • Optimizing product architecture

    To ensure the seamless scalability of the system, engineers were charged with structuring the architecture and streamlining the deployment processes.
  • Transformation from multirepo to monorepo

    Advisory and implementation of a codebase transformation for efficiency gains.

Along the way

  • Fine-tuning application front-end performance

    In order to optimize application performance and reduce battery drainage, the team was responsible for optimizing the front-end part of the system.
  • Setup of the CI/CD processes with automated library publishing

    Advisory and implementation of automated processes for a streamlined development cycle.
  • Design architecture for meta-data models

    This tool helps create and manage different versions of advanced models that work with underlying data. It enables seamless integration with existing systems.

How did we navigate the client for success?

When Sapiens approached us to audit their new tool, Journey Form Composer (JFC), their purpose was to assess its extendability, scalability, and performance. They also wanted to evaluate the feasibility of replacing its predecessor, Journey Manager, for a major insurance client of Sapiens.

  • Audit recommendations

    Within 2 weeks, we presented the audit report to key technical stakeholders in the R&D department. The report acknowledged the feasibility of migration while identifying gaps that needed addressing to bring JFC on par with the previous tool. It also highlighted critical concerns about data consistency, overall maintainability, front-end application performance, and Developer Experience.
    We provided a list of recommended actions with priorities and effort estimates. The stakeholders appreciated the outcome and invited us to join an R&D development team to implement the audit recommendations.
  • Custom Components and migration roadmap of one of the biggest insurance providers

    One significant business challenge our team tackled was enabling JFC to support custom components, a common need for Sapiens' customers. Previously, JFC only allowed predefined components. Using a specific Sapiens client as an example, our Product Owner and Tech Lead devised a comprehensive plan:
    (1) Create a bridge for custom components
    (2) Migrate the client's components
    (3) Migrate entire journeys
    (4) Develop a tool for automating the migration of all live journeys.
    Our entire development team estimated the plan and outlined it as a roadmap with four milestones.
    The first milestone was completed in three months, delivering a universal architectural solution for integrating custom components into JFC that will fit any client's needs. Once plugged in using the bridge, they become available in the drag & drop toolbox like all predefined components in JFC. This solution was documented for all developers at Sapiens.

    Over nine months, we achieved all milestones, enabling Sapiens to confidently communicate migration readiness to their critical insurance provider and continue progress independently.
  • Applying critical improvements

    Meanwhile, our other developers concentrated on implementing audit recommendations to enhance the overall Journey Form Composer. We started by transitioning the entire codebase from a multi-repository structure to a mono repository (consolidating 40+ repos). This change had a substantial positive impact on the development team's speed and efficiency. Thanks to a streamlined code development and maintenance process, it notably hastened the delivery of subsequent features.
    We also introduced a system for migrations from scratch, enabling Sapiens to support various client product versions. Additionally, the introduction of database transactions proved to be a valuable enhancement. In terms of DevOps, our team established a comprehensive application building pipeline using GitHub pipelines. We ensured a smooth skill transfer to Sapiens' developers over a few months, enabling them to handle any issues independently.
    Implementing build caching with NX Cloud, introduced by our team, saved hundreds of hours of computing time for GitHub Actions and development efforts. This efficiency translated to substantial monthly financial savings for Sapiens.
  • End-to-End tests covering 100% of the application

    Upon joining the project, we observed a scarcity of end-to-end (E2E) tests, which posed a notable product risk. Given the complexity of Journey Form Composer and its sizable development team, the absence of E2E tests integrated into the CI/CD process left room for potential bugs. As manual testing had led to substantial overhead, our QA Automation Leader devised an E2E testing strategy.
    The aim was to achieve full feature coverage with E2E tests, prioritizing critical use cases initially and progressively moving to less frequently used features. The goal was to reduce manual testing to only new features in each sprint, eliminating the need for regression testing. With Development Manager's approval, the QA Automation Engineer led the planning, guided other QAs, provided estimates, and played a central role in the execution of test development.
    After a year, the comprehensive application coverage was successfully achieved through E2E tests, a significant milestone documented for future reference.
  • Successful team augmentation

    Efficient team augmentation was a pivotal aspect for Sapiens. Our developers seamlessly integrated into the JFC development team, aiming to bolster Sapiens' developers' expertise and seniority. While initially focused on specific challenges (custom components and client migration) and product improvements, our developers immediately embraced the Scrum process, its ceremonies, and the organization's tools.
    From day one, they actively engaged Sapiens developers, prioritized transparency, and facilitated knowledge transfer. Our Tech Lead swiftly evolved into a crucial consultant and mentor for the team while our experienced Product Owner helped to fine-tune the Scrum and Software Development Processes.
    Following the implementation of audit recommendations and client migration, our collaboration with Sapiens' team intensified as we advanced the product roadmap. To foster closer collaboration, we divided into two mixed sub-teams, reshuffling every two months to encourage knowledge exchange between developers.
  • Metadata architecture

    Our recent significant achievement for Sapiens was crafting an architecture from the ground up for constructing intricate forms using metadata models sourced from other Sapiens services. This marked a crucial business milestone, allowing Journey Form Composer to generate forms tailored to specific received data automatically. Prior to this, form composition was limited to drag-and-drop UI.
    We brought to the table valuable insights due to experience gained while building uniforms and Forminer, which solved a similar challenge in their foundation. Our Architect collaborated closely with business stakeholders and technical leaders, gathering requirements and analyzing various data models to propose a solution. The entire development team swiftly embraced this solution.

Key numbers

  • ~1500h
    saved development time in total thanks to migration to monorepo
  • ~800h
    saved computing time of Github Actions each month thanks to cashing of build and lint steps
  • ~100h
    saved development time each month thanks to local cashing
  • ~45%
    shortening application build time
  • ~80%
    accelerate page rendering time for the most advanced forms
  • ~90%
    reduction of E2E tests flakiness

Delivered key functionalities

Vazco expert opinion

There’s a lot we’ve achieved in the two years we worked together. From my perspective, the most significant were the improvements in Developer Experience and team performance achieved through the tooling applied, process automation, and workflow optimizations. Here, we mostly served as advisors, suggesting and implementing solutions that resulted in increasing the work efficiency of Sapiens delivery teams and, ultimately, helping the client to reach business goals faster and easier.

Michał Weskida

Software Architect & Tech Lead

Before

  • A large number of applications to activate
  • Each change requires several PRs - the checking process is protracted and unstable
  • Each application has to be configured separately
  • Publishing new libraries requires manual effort
  • Provisional CI, non-existing CD
  • No E2E tests
  • Limited unit tests
  • Inefficient development processes
  • Management processes adapted only to smaller teams (less than 10 members)
  • Library changes need to be published before they can be tested

After

  • One command to enable all applications
  • One feature means one PR - easier to check, test, and rollback
  • Unified configuration - ease of implementing modifications
  • Publishing new libraries is a unified process that fires automatically - no effort required
  • Rich CI, automated CD
  • 800+ E2E tests that run automatically on CI, 100% of application covered
  • Growing number of unit tests with 'threshold' checking tool - raising test coverage to over 40%
  • Highly efficient development processes, including (HCR) Hot Code Reload
  • Processes tailored to work in large teams
  • Local library testing and seamless developer experience thank so symlinking of applications & libraries

Would you like to transform your forms management just as Sapiens did?