All projects

BankIslami, delivered with Aawaz AI · Banking / Compliance

An internal web and mobile platform that reads the news every morning, scores it against the bank’s PEP list and turns it into a risk report.

Private deployment, client project

Category

Mobile

Year

2025

Industry

Banking / Compliance

Optimization

Right tool for the task

BankIslami PEP Screening on a phone
BankIslami PEP Screening on a phone

How it is optimized

Right tool for the task

A scoring pipeline reads the news. Analysts see only credible matches.

Matching is a scoring pipeline over name variants, transliterations, role and city. Only matches above a confidence threshold reach the review queue, each showing exactly which fields agreed, so analysts spend their time on decisions. Morning triage fell from four hours to 30 minutes.

What keeps it lean

  • 01Scheduled crawl before the team arrives
  • 02Confidence threshold before human review
  • 03Every match shows why it matched

Rules and ordinary software before AI. A model only where it earns its place.

The challenge

Regulators expect banks to keep screening politically exposed persons for as long as the relationship lasts. BankIslami’s compliance team did this by hand: a morning across news sites, court lists and gazettes, searching for over a thousand names, then pasting findings into a spreadsheet. Stories were missed, the report landed mid-afternoon, and nobody could show an auditor how a name had been checked. Screening needed to be complete, early and provable.

The work

With Aawaz AI we started with the sources, not the interface: a scheduled crawler that fetches every relevant Pakistani and international outlet at 06:00, normalises the articles and stores them. A scoring pipeline matches each article against the bank’s PEP list on name variants, transliterations, role and city, and only matches above a confidence threshold reach an analyst, each showing which fields agreed. The review queue, risk profiles and signed daily report were built once as a component set and shipped to the browser and to iOS and Android.

Inside the product

More than one screen.

3 more screens from BankIslami PEP Screening, captured at device size.

BankIslami PEP Screening: Review queue on a phone

Review queue

Client record and article side by side, so a name match is confirmed or dismissed in seconds.

BankIslami PEP Screening: Daily risk report on a phone

Daily risk report

The morning’s findings as a signed PDF, with score movement and delivery to Compliance and Risk.

BankIslami PEP Screening: Sources on a phone

Sources

Every news feed, regulator and court list the crawler reads, with last-run health.

How it is built

Architecture

A MERN stack: React with Vite and Tailwind for the analyst dashboard, React Native for the mobile app, and one Express API over MongoDB serving both. A BullMQ worker on Redis runs the crawl at 06:00, fetching sources with Puppeteer where pages are rendered client-side and Cheerio where they are not. Matching is a scoring pipeline over name variants, transliterations, role and city, with a confidence threshold that routes matches to the review queue. Confirmed findings roll into a PDF report generated server-side and delivered by email and push notification.

Key features

Scheduled daily crawl of news, regulator and court sources
Name matching with transliteration and alias handling
Risk score per person with adverse media, litigation and sanctions signals
Review queue with client record and article side by side
Escalation to the MLRO with a full audit trail
Generated daily risk report as a signed PDF
Mobile app with push alerts for high-risk matches
Role-based access for analysts, reviewers and management

Challenges & solutions

Challenge

Names in Urdu and English transliterate many ways, so a strict match missed real stories and a loose one buried analysts in false positives.

Solution

A scoring pipeline weighs name variants against role, city and known associates, and every match above the threshold shows the analyst exactly which fields agreed.

Challenge

News sites change their markup without notice, and one silent failure meant a source was missing from the morning report.

Solution

Each source has a health check and an article-count baseline; a crawl that returns far fewer than usual retries and flags the feed as delayed on the dashboard instead of passing quietly.

Challenge

The bank needed the same screening on phones for officers who are rarely at a desk, without maintaining two products.

Solution

Screens were designed once as a shared component set and served by one API, so the web dashboard and the React Native app always show the same data and the same decisions.

The impact

What became easier, better or more effective.

The compliance team now starts the day with a finished report instead of a morning of searching. Every relevant outlet is read before anyone arrives, analysts spend their time deciding rather than hunting, and every decision on a name is recorded well enough to show an auditor. The model does the reading; the person makes the call.

The learning

Compliance is about being able to show your reasoning, and the product was built that way from the first sprint. Every match explains itself, so analysts learned quickly which signals to trust and which to question, and nothing shipped that the team could not explain to an auditor.

“They understood that compliance is about being able to show your reasoning, and built the product that way from the first sprint. Clear updates, honest estimates, and nothing shipped that they could not explain to an auditor.”
Head of compliance · BankIslami
01

38

sources screened before the team arrives

Roughly 200 articles a day are crawled, normalised and matched against the PEP list from 06:00, before the first analyst logs in.

02

30 min

of morning triage, down from four hours

Analysts confirm or dismiss scored matches with the client record and article side by side, instead of searching by hand.

03

07:30

daily risk report delivered

Where it used to land mid-afternoon, now with a full audit trail per name and delivery to Compliance and Risk.

04

1,240

accounts monitored continuously

PEP and related-party accounts screened every day across web and mobile, none of them skipped on a busy morning.

Stack

  • Web app

    • React
    • Vite
    • TypeScript
  • Mobile app

    • React Native
    • Expo
  • Styling

    • TailwindCSS
  • Backend

    • Node.js
    • Express
    • MongoDB
  • Crawling

    • Puppeteer
    • Cheerio
  • Jobs

    • BullMQ
    • Redis
  • Auth & reports

    • JWT
    • PDFKit

Optimization

Right tool for the task

Rules and ordinary software before AI. A model only where it earns its place.

Conscious AI

Let's talk

Tell us where you are. We'll say plainly what we would do next, and whether we're the right team for it.