Skip to content

Software Architecture for Insurance Systems

Policy administration, claims processing and rating are three domains with fundamentally different logic. Jardis gives your insurance system the architecture that maps domain knowledge to code: from the first Bounded Context to a Solvency-II-compliant system landscape.

The Domain Is Complex. Your Code Does Not Reflect That.

Insurance systems grow over years. Without domain boundaries, rating, policy administration and claims management merge into one system nobody fully understands.

Regulatory logic spread across the entire codebase

Solvency II, IFRS 17 and industry regulations affect rating, reserving and reporting simultaneously. Without dedicated Bounded Contexts, regulatory logic lives in hundreds of classes. Every compliance change becomes a wildfire because reserve calculations and premium computation share the same classes.

Rating logic tangled with policy administration

Premium calculation, coverage scope and product configuration share tables with policy management. A new rating factor pulls changes through half the codebase. Product launches take months instead of weeks because every rate adjustment must be regression-tested against the existing book of business.

Claims processes run through a monolith

FNOL, coverage verification, reserving and payout are chained in one system. Refactoring claims intake breaks settlement processing. Straight-through processing fails because there is no domain isolation. Reinsurance shares cannot be calculated cleanly because claims data is scattered across multiple modules.

Policy, claims, rating as separate packages.

The Jardis Builder generates physical domain boundaries for every insurance domain. Policy, claims and rating as standalone packages with enforced separation.

DOMAIN ISOLATION

Policy, claims and rating as separate domains

Each Bounded Context becomes a standalone PHP package. Claims management cannot access rating tables. The builder enforces this separation at the filesystem level. Regulatory changes in rating stay isolated from policy administration and settlement. Solvency II reserve logic lives in its own context, separated from operational claims processing.

EVENT-DRIVEN

From claim filing to payout through Domain Events

ClaimFiled, CoverageVerified, ReserveSet, PaymentApproved: the builder generates events and their handlers. No direct access between domains. Straight-through processing becomes possible because every step is a self-contained domain action. Reinsurance shares are calculated in response to ReserveSet without coupling to the claims adjustment workflow.

PRODUCTION-READY

Insurance architecture in PHP, ready to ship

The builder generates regulation-ready PHP infrastructure: every insurance domain gets isolated packages with their own events and repository pipelines. Audit trails for IFRS 17 reporting emerge from the architecture, not as a retrofit. Your team writes the domain logic: premium calculation, coverage verification, reserving rules, reinsurance splits.

See what three files turn into.

Three definition files in, a complete bounded context out. Browse the generated code.

E-Commerce / Sales
schema.yaml
# Database Schema — Sales Bounded Context
# This file defines the persistent storage structure.

schema:
  domain: ECommerce
  boundedContext: Sales

tables:
  order:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      public_id:
        type: uuid7
        unique: true
      customer_email:
        type: string
        length: 255
      status:
        type: string
        length: 32
        default: "draft"
      total_amount:
        type: integer
      currency:
        type: string
        length: 3
        default: "EUR"
      created_at:
        type: datetime
      updated_at:
        type: datetime
        nullable: true

  order_item:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      order_id:
        type: integer
        foreignKey:
          table: order
          column: id
          onDelete: cascade
      product_name:
        type: string
        length: 255
      sku:
        type: string
        length: 64
      quantity:
        type: integer
      unit_price:
        type: integer
      line_total:
        type: integer
Files
Definitions (Input)
Generated Code (Output)
BUILDER OUTPUT
80%
Infrastructure code generatedEntities, commands, queries, events, API contracts and the repository pipeline for every insurance domain.
50%
faster product launches
0
regulatory spillover effects
COMPLIANCE-READY
100%
Architecture-compliantEvery generated file follows hexagonal architecture. Domain boundaries are physically enforced, not just documented.

What Insurance Teams Gain with Jardis.

From single-line to composite insurance. Jardis grows with your system landscape.

> Rating Flexibility

New Products Without System Risk

Rating as its own Bounded Context. New insurance products, changed premium models or special tariffs: product logic stays isolated from policy administration and claims settlement.

> Process Clarity

Claims Processes as Standalone Domains

FNOL, adjustment and payout as separate Bounded Contexts. Every process step has clear inputs and outputs. Straight-through processing becomes architecturally possible, not just organizationally desired.

> Portfolio Integrity

Policy Administration Without Side Effects

Policy data lives in a dedicated context with its own repository pipeline. Rate changes, claims adjustments or regulatory updates cannot accidentally alter the portfolio.

How long should your rating logic stay buried in policy administration?

Join the Waitlist

Structure costs less than chaos.

Free Trial

Try Jardis 7 Days Free

Point Jardis at your real domain. Discovery, structure, and your first platform build.

Join Waitlist
20 Discovery Runs
5 Structure Builds
1 Platform Build
All Jardis packages as open source
Jardis Base
€29per month

The complete DDD architecture with all classes and contracts. Your team ships features, not infrastructure.

Join Waitlist
Unlimited Discovery Runs
Unlimited Structure Builds
All 26 Jardis packages included
PHPStan Level 8 from day one
Jardis Pro
€180per month

The complete business logic with handlers, validation, and pipelines. What used to be a sprint is now a build.

Join Waitlist
Everything from Jardis Base
Commands, queries, and events fully implemented
Platform code in seconds instead of weeks
Additional Runs for €89 each
Enterprise

More than 20 Platform Builds per month?

Let's talk

Be there when Jardis launches.

Sign up. You'll get access as soon as we go live. Including a free trial.

100+ developers are already waiting for launch

Curious how Jardis works?

Discover Jardis

Frequently Asked Questions

Answers to the most important questions about Jardis in the insurance context.

Yes. Jardis is built for brownfield scenarios. You generate individual Bounded Contexts and integrate them step by step into existing PHP systems. The builder imports your existing database schema as a starting point, so migration can happen incrementally. A typical entry point: one context like claims management running alongside the existing policy administration system, connected through domain events.