Keylane - insurance software
- Purpose
I build and modernise policy-administration software for European insurers and intermediaries, spanning Java services, relational databases and Angular interfaces.
- Approach
Own features from solution analysis through implementation, database changes, automated testing and release.
- Status
Professional work since 2019. Currently leading ongoing SOAP-to-REST modernisation; the replacement is still in development.
- Java
- Angular
- REST APIs
- SOAP
- OpenAPI
- SQL
- Liquibase
On this page 6 sections
API modernisation and compatibility
I lead the ongoing replacement of a long-standing SOAP policy-data service with REST, covering solution analysis, resource and response models, authorisation, error handling and test strategy. I document API contracts in OpenAPI and deliver the migration in increments.
I also maintain versioned integrations and have retired older service versions in stages, planning changes around existing consumers.
Authorisation and business workflows
I implement role-based authorisation for policy operations and administrative settings. Authentication, authorisation and compatibility are considered alongside business behaviour and automated checks.
Explore a fictional access decision
My feature work includes policy renewals, batch processing, contract lifecycle rules and customer communications.
Angular and legacy migration
I build Angular screens and migrate legacy workflows in stages, preserving permissions and user journeys before retiring older routes. I also maintain JSP and AngularJS code where changes still depend on those layers.
Database changes and investigation
I deliver schema and data migrations with Liquibase alongside application changes. I analyse how database queries retrieve data and propose index changes for batch jobs and screens.
When defects span code, data and APIs, I reproduce the behaviour, trace the cause and add tests for the affected path.
Test modernisation
I led work to replace a slow legacy regression suite with faster integration tests. My testing spans JUnit unit tests, database-backed and full-stack integration tests, and Playwright browser tests, including coverage for renewals and migrated screens.
Technical ownership and developer tooling
I turn business requests into requirements and acceptance criteria, make solution decisions, review code and support demonstrations and sign-off with product owners and testers. I write functional descriptions in English and Dutch, technical notes and release documentation.
I contributed to internal AI-assisted developer tooling, including coding-assistant plugins and bug-triage workflows, with testing and human review before merge.