The technology platform of the future for insurance

Pablo Molina
Coverwallet Engineering
3 min readMay 4, 2020
A person working with a laptop

At CoverWallet, we want to build a modern technology platform for the insurance industry. This goal requires our frontend web apps to host long and complex web forms while keeping usability, our backend services to share complex messages, and for the platform to process transactions in a secure and robust way, sharing information with third parties. The insurance industry is complex, and our technology is built to make it simple, fast and convenient for our customers.

When we were just a few engineers, Ruby on Rails allowed us to build the first versions of our software products very quickly. Ruby is supported by a large community of developers and includes lots of libraries to build high-quality software solutions while keeping productivity high. It took us 1–2 weeks to have our marketing pages up and running.

Our backend services are deployed as a service-oriented architecture, sharing messages via Rest API endpoints. During the last year, we switched to an event-driven architecture where services communicate through a PubSub solution, which allows us to have decoupled services making asynchronous communication more reliable through:

  • High availability: messages are published to a message queue which subscribers can consume from asynchronously even after a period of downtime.
  • Loose coupling: services define their contract on the message format and the PubSub message queue, agnostic of the subscribers’ specific requirements.
  • One-to-many communication: messages can be consumed by one or more subscribers
  • Replay: the message stream can be replayed from a previous timestamp

We use the React framework to build a custom components library for our frontend SPAs. The user experience must be really good for a web form that can take up to 5–10 minutes to be completed to get an insurance quote. The system design is optimized for mobile devices and components are reused across our different web frontend applications.

The acceptance tests using Capybara/Selenium or Cypress are running frequently on a replica of the production environment to ensure no regressions. We are constantly reducing the tests’ suite execution time so that we can include them in our CI pipelines without impacting developers’ productivity.

A moment of change was when we introduced Salesforce as our CRM into the mix. While it brought out-of-the-box functionality for our sales team, it was not trivial to integrate with the rest of our services using its Rest API solution. We have significantly customized our implementation and use recent features like platform events for better messaging across services.

The infrastructure was originally provisioned using Heroku in the USA which kept us focused on product delivery while some operational resources were managed by their platform. I am a fan of Heroku because it brings the team the speed that it needs when starting to build the product.

We recently migrated our core platform to Google Cloud on top of their native Kubernetes-as-a-service, which provides us with more visibility, scalability and security control.

If you are interested in building software solutions with us with the technologies mentioned above, apply to join our team today!

--

--