Al Rajhi Takaful · Life P&S · Saudi Arabia

Two BRDs, one build: what it actually takes

A working read of the two documents you shared — what each one commits to, every system that has to say yes for it to work, and where the real delivery risk sits. Written to be handed to an engineering lead cold.

DOC 1 · Life – Online Services (After-Sales) v1.0 DOC 2 · Life P&S – Insurance Products v1.0 Author: Khaleel Ahamad · Jun 2024
01

The two documents

One BRD services existing policyholders; the other sells new ones. Both are Life Protection & Savings (Takaful) only — nothing here touches Property & Casualty. See Gaps.

Servicing

Life – Online Services

40 pages · After-sales self-service

A self-service portal for policyholders who already own a Life P&S policy — every request is OTP-gated and generates a tracked reference number.

  • Inquiries — fund value/performance, outstanding payments, payment history, claim status, Zakat
  • Money movement — surrender, partial withdrawal, top-up + top-up withdrawal, payment holiday, outstanding rescheduling
  • Change requests — payment method, IBAN, billing day, fund switch/redirect, sum assured, add-ons, beneficiaries
  • Claims — add-on coverage (TPD etc.), death coverage
  • KYC refresh
New business

Life P&S – Insurance Products

86 pages · Core-system transformation

The bigger of the two: re-platforms new-business sales onto a new core insurance system across four channels for eight products.

  • 8 products — Personal P&S, Kids P&S, Personal P&S Level Loaded, Kids P&S Level Loaded, Single Premium, Term Insurance, Pension (Retirement), Single Premium Pension (Retirement)
  • 4 channels — Website, Mobile App, Aggregators, ARB Bank's Mubasher app
  • Own risk register — the doc already ships 10 issues, 8 risks, 10 dependencies, scored
  • Extras — contribution/fintech calculators, corporate affinity discount, quote retrieval, product comparison, underwriter workflow
02

Products in scope

All 8 products named in Doc 2's scope (§3), each with its own full purchase journey (§5.2.1–5.2.8). The variable that actually drives build effort isn't the product name — it's premium timing and charge structure.

ProductSegmentPremiumCharge structureDoc ref
Personal Protection & Savings PlanAdult, individualRegularFront- or Level-Loadedcustomer's choice below the contribution threshold§5.2.1
Kids Protection & Savings PlanChild, parent-ownedRegularFront- or Level-Loadedsame threshold rule as Personal§5.2.2
Personal P&S Level Loaded PlanAdult, individualRegularLevel-Loadedmandatory above the contribution threshold§5.2.3
Kids P&S Level Loaded PlanChild, parent-ownedRegularLevel-Loadedmandatory above the contribution threshold§5.2.4
Single Premium ProductAdult, individualSingleone-time lump sumN/A — no recurring charge structure to choose§5.2.5
Term Insurance PolicyAdult, individualRegularPure protection — no savings component, TPD add-on only§5.2.6
Pension ProductRetirementAdult, individualRegularAccumulation phase → pension payout phase§5.2.7
Single Premium PensionRetirementAdult, individualSingleone-time lump sumAccumulation phase → pension payout phase§5.2.8

Why this split matters for effort

Doc 2 §5.1.9 already routes Personal and Kids P&S by contribution value: above a configurable annual threshold (example given: 36K SAR), the customer is pushed straight to the Level-Loaded quotation with no choice offered; below it, the system shows a comparison and lets them pick. That branch — not the product name — is what the premium-calculation logic actually needs to handle, which is why Effort & timeline treats the 4 P&S variants as one build with a pricing-tier switch, not four separate builds.

03

The purchase journey

Every one of the 8 products in Doc 2 runs the same five-stage skeleton — only the middle content changes. That repetition is good news for delivery: build the skeleton once, configure it per product.

01
Customer details
NID/Iqama + mobile → Yakeen validation → OTP. Affinity email check if corporate.
02
Premium calc
Budget or target input → core system returns illustration at 3%/5%/7% growth.
03
Medical questions
Any "yes" answer routes the case offline to Underwriting — the digital journey pauses here.
04
Additional details
Personal info, fund allocation, compliance questions, beneficiaries, IBAN, documents.
05
Proposal → payment
Accept triggers OTP → confirm & pay → policy issued, PDF emailed + SMS.
04

Integration map

Nineteen distinct external or cross-team dependencies across the two documents, grouped by what they do. Severity reflects how much of the journey breaks if that system is late, flaky, or unavailable — not how hard the API itself is to call.

SystemUsed forNamed inRisk if it slips
YakeenGov't identity registryNID/Iqama + mobile match on every login and OTP triggerBoth docshigh
New core insurance systemPricing, illustration tables, medical rules, policy issuanceDoc 2high
AML / KYC / blacklist screeningSanctions check during onboarding; flags route to manual reviewDoc 2high
CIAMCustomer login, session, and profile retrievalDoc 2high
IBAN validationEMKAN Bank (Doc 1) vs. Neo Tek (Doc 2) — two different vendors namedReal-time bank/account validation before any refund or debitBoth docshigh
Payment gatewayMada, Visa, Mastercard, Apple Pay, SADAD, STC Pay + EMI/BNPL (Tamara, Tabby)Both docshigh
SPLSaudi Post / address serviceAuto-fetch customer address after NID validationDoc 2medium
Salary information serviceAuto-populate income for underwriting limitsDoc 2medium
ERPReceipts, VAT invoicing, refund settlement, reconciliationBoth docsmedium
ARB Bundle EngineCross-sell pricing/eligibility with bank products (mortgage, cards)Doc 2medium
ARB Mubasher API exposureRate, Quotation, Policy Purchase, Payment APIs for the bank's appDoc 2medium
ARCAl Rajhi CapitalLive fund allocation, performance, and unit value for policy servicingDoc 2medium
Redis & KafkaData streaming for CRM/marketing triggersDoc 2medium
LemniskSMS/email campaign orchestration, behaviour trackingDoc 2low
ART OTP/SMS systemOTP generation, delivery, masked storage, resend/lockout limitsBoth docsmedium
Chatbot / WhatsAppService-status tracking and FAQ across web + appDoc 1low
Partner / aggregator APIsSecured RESTful distribution for external portalsDoc 2low
Underwriting queueManual accept / reject / request-docs workflow off the back of medical answersBoth docsmedium
B2E channelSame after-sales services surfaced to internal/employee-facing toolsDoc 1low
05

Finance & reinsurance — integrate, don't build

Short answer to "do we need to develop this ourselves": no, for Finance. And reinsurance isn't in either document at all — which is worth confirming rather than assuming.

integrate only

Finance

Both BRDs treat Finance as a downstream system, never a module to build. Doc 2's own requirement #17 scopes it as ERP integration only — receipt generation, VAT invoicing, and reconciliation all happen inside the ERP, triggered by this platform, not recreated in it. Doc 1's cancellation flow follows the same pattern on the servicing side: the digital layer submits the request and a reference number, an existing Underwriting Refund Team validates it, and an existing Finance team settles the payout to the customer's IBAN within an SLA — none of that ledger or settlement logic gets rebuilt here.

not addressed

Reinsurance

Neither document mentions reinsurance once — no treaty terms, cession rules, retention limits, or reinsurer-facing API. That's consistent with it sitting in core-system/actuarial territory rather than being a digital-channel concern: Doc 2's own Assumption #2 expects product rules and pricing to arrive "finalized... either within the core system or through connected systems like iFoundry" before this team integrates. The one place reinsurance could still surface without being named is the hard-coded coverage caps already in the Business Rules tables — Term Insurance's 50,000–499,999 SAR band, Pension's 50K–2.5M — which plausibly reflect an upstream treaty's retention limit. Worth a direct confirmation with the core-system/actuarial team rather than assuming those caps are arbitrary.

06

Complexity read

Relative sizing across the dimensions that actually drive schedule risk, not raw feature count. Scored against the scope described in both documents.

Core system dependencyDoc 2's own risk table ranks this #1
9 / 10
Payment orchestration7 methods × STP/non-STP branching by amount tier
8 / 10
Identity & compliance stackYakeen + AML + CIAM + KYC, all in the critical path
8 / 10
Multi-channel parityWebsite, App, Aggregators, ARB Bank — one rule set, four surfaces
7 / 10
Financial servicing rulesSurrender tiers, Zakat, top-up caps — precise, well-specified
5.5 / 10
UI/UX buildRepetitive 5-stage skeleton across 8 products — mostly configuration
4 / 10

Net read

The UI itself is the easy part — both documents specify screens, fields, and error states in enough detail to build from directly. The real cost lives in the dependency graph: nine systems sit in the critical path of a single policy purchase (Yakeen → AML → core system → payment → ERP), and every one of them has to be live, fast, and correct in the same test window before UAT can start. Sequence integration testing around that chain first; treat the UI as the last thing that gets hard.

07

Saudi-specific friction

Points that don't show up in a generic insurance-platform build — specific to operating a Takaful product under Saudi regulation.

Regulatory

SAMA + audit trail

Doc 2 flags SAMA alignment as a live risk. Every service action across both documents needs a timestamped audit log — that's a cross-cutting requirement, not a feature to schedule separately.

Sharia mechanics

Zakat, not just interest

Zakat is computed per unit at 2.5%/year on fund value and must be logged for religious compliance — a calculation with no conventional-insurance equivalent, and its own negative-scenario coverage in Doc 1.

Sharia mechanics

Level-loaded vs. front-loaded

Doc 2's product-list logic branches customers between these two charge structures based on contribution size — a Takaful-specific distinction the UI has to explain, not just apply.

Single point of failure

Yakeen is load-bearing everywhere

Login, onboarding, and every claim in both documents route through Yakeen. It's a national government service outside ART's control — no fallback is described anywhere in either BRD.

Vendor conflict

Two IBAN validators, one product line

Doc 1 names EMKAN Bank for IBAN checks; Doc 2 names Neo Tek. Same validation, same customer base, different vendor — needs reconciling before either team builds against it.

Language

Arabic-first, not Arabic-added

Both documents require full Arabic/English parity across every screen and notification — RTL layout, transliterated fields, and dual-language SMS/email templates from day one, not a post-launch localisation pass.

08

Gaps & open questions

What's missing before this can be scoped with confidence.

Protection & Savings — fully covered, on scope

Confirmed: the ask was Life + P&S (Protection & Savings), and that's exactly what both documents deliver. P&S is the industry label for a Life policy that bundles a death/disability benefit with an investment-linked savings component — every product in Doc 2, and everything Doc 1 services after issuance, is a P&S policy. No separate Property & Casualty (motor/property/travel) scope was intended, so there's no missing document here — both PDFs are complete for what was requested.

IBAN vendor needs a decision

Confirm whether EMKAN Bank or Neo Tek is the system of record for IBAN validation before either the servicing team or the new-business team starts integration work — building against both wastes effort either way.

Core system timeline gates everything

Doc 2's own dependency table already names this as the top blocker. Worth getting a hard commitment on core-system API availability before committing a delivery date for new business — the servicing BRD (Doc 1) is comparatively decoupled and could move independently.

09

Effort & timeline to build this

Sized for the full scope of both documents, all four channels — Website, Mobile App, Aggregators, and ARB Bank's Mubasher app — assuming the core insurance system and third-party vendors (Yakeen, AML, IBAN, payment gateway) expose working APIs on the dates this project needs them. That assumption is the biggest lever on both numbers below, more than tooling choice.

Manual build
1,850–2,000person-days
14–18people
10–13months
vs.
Claude-assisted build
1,050–1,200person-days
8–11people
7–9months

Roughly 40% less raw engineering effort, but only 25–30% shorter calendar time — the gap between those two numbers is the point. Effort drops hardest wherever the BRDs already specify a screen field-by-field (the two documents are unusually implementation-ready — that's exactly what Claude reads fastest). Calendar time doesn't drop as far, because it's gated by things no amount of AI-assisted coding speeds up: the other team's core-system readiness, Yakeen/AML/bank vendor onboarding, SAMA and Shariah-board sign-off, and human UAT cycles.

WorkstreamManual (person-days)Claude-assisted (person-days)Why
Solution architecture & API contracts4525Claude drafts contracts/specs fast; architect still owns the decisions
Core system integration280180Gated by the other team's release schedule regardless of tooling
Identity & compliance stackYakeen, AML, CIAM, KYC14090Vendor onboarding/approval is a fixed external timeline
Payment orchestration7 methods + BNPL/EMI + STP tiers11560Highly patterned branching logic — scaffolds well
New-business journeys8 products × 4 channels325150Best fit for AI: one 5-stage skeleton repeated 8 times, fields fully specified
After-sales servicing15+ modules × Web/App/B2E220110Same repeatable pattern as new-business screens
Underwriting workflow7045Business logic is clear; queue/case-management UI scaffolds fast
ARB Bank API exposure + bundle engine9055Partner security review stays a manual gate either way
NotificationsOTP, chatbot, WhatsApp5530
ERP / VAT / reconciliation5535
UI/UX designbilingual, RTL9055Claude drafts the component system; a designer still refines it
QA — SIT / UAT / security / performance225160Test-case generation accelerates; execution & sign-off don't
PM / BA / coordination overhead160120Shrinks with team size, not with code-gen speed

Where the estimate could move

These numbers assume both channels' worth of after-sales servicing and all 8 new-business products ship together. If you phase it — Doc 1 (after-sales) first, since it's the more decoupled of the two, then Doc 2 product-by-product — the calendar timeline stretches but the peak team size and burn rate drop, which is usually the safer sequencing given the core-system dependency flagged in Complexity read.