Complaints Management System for an Irish Consumer Lender
Designed and built a clickable complaints management system for an Irish lender of personal loans, home improvement loans and car finance: one intake inbox for every channel with an explicit complaint test, a business-day clock on the Irish calendar, a complaint workspace with root-cause tagging, and an approvals queue where final letters carry locked FSPO wording.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, intake inbox, complaints list with quick view, complaint detail with 6 tabs, and the approvals queue. Every one of the 24 demo complaints opens its own detail page.
Acknowledge within 5 business days, update every 20, resolve within 40, final letter within 5 of the investigation ending. Each due date is calculated from the received date on an Irish calendar with the 10 public holidays of 2026, St Brigid's Day included.
Grievance or dissatisfaction, about an Ardcarra product or service, from a consumer or someone acting for one. The answers give Complaint, Query, Not ours or Needs check, across 14 intake items from 7 channels.
24 customers and complaints across personal loans, home improvement loans, hire purchase and PCP, 10 approval requests in 4 tabs, 11 staff in 3 complaints teams, with English and Irish-language cases.
Ardcarra logged complaints in a shared mailbox and a spreadsheet. Phone complaints lived in call notes and were often never logged, the 5, 20 and 40 business-day deadlines were counted by hand and got wrong around bank holidays, final response letters went out from Word templates with the FSPO paragraph sometimes missing, and redress was paid from emailed requests with no second check. Root causes were free text, so nobody could tell the board why car finance complaints had doubled.
Currach takes a complaint from first contact to final response. Every contact lands in one intake inbox and passes an explicit complaint test, each complaint runs on a business-day clock computed from the Irish calendar, handlers work issues, redress and root causes in one workspace, and every response, redress amount, closure and clock change goes to a second person in the approvals queue.
An Irish regulated lender has to recognise a complaint whatever channel it arrives through, meet the Consumer Protection Code timelines in business days, tell the customer about their right to go to the Financial Services and Pensions Ombudsman, and show the board why complaints happen.
The Code treats a complaint broadly as any expression of grievance or dissatisfaction, spoken or written. Grumbles in call notes, social messages, scanned letters and app feedback were never logged, while plain queries were sometimes logged as complaints.
Acknowledgement, updates, resolution and the final letter each run in business days, excluding weekends and Irish public holidays such as St Brigid's Day and the October bank holiday. The revised Code applying from March 2026 keeps a similar framework, so the timings must be configurable rules, not fixed numbers.
A final response has to answer each issue, state the outcome and any redress, and set out the right to refer to the FSPO with its contact details. Customers who chose Irish get their letters in Irish, translated by people and checked before sending.
The revised Code puts more weight on customers in vulnerable circumstances, whose support needs must be recorded yet kept restricted. Senior staff fall under the Individual Accountability Framework, so every approval has to show who approved what, under which authority.
Mapped 11 user roles, from intake agent and handler to the board and the customer, 34 screens including 4 mobile-first customer pages in English and Irish, and the data model for intake items, complaint tests, milestones, letters, approvals, redress, FSPO cases and root-cause tags. Wrote down the rules the design follows: the Consumer Protection Code timelines, the FSPO Act 2017, GDPR subject access requests, vulnerability under the revised Code and redress authority bands.
Built 5 key screens on a production dashboard kit: the dashboard with Code timeline KPIs, clock health and top root causes, the intake inbox with a live complaint test, the complaints list with saved views and quick view, complaint detail with milestone rail, issues, redress and restricted vulnerability card, and approvals with locked letter sections and checks. All actions run on local state.
Microsoft 365 email intake and sending, telephony call notes from Genesys Cloud or Amazon Connect, the loan management system for customer and account data, Eircode lookup, Twilio SMS, hybrid mail for printed letters, SEPA redress payments and the GRC platform for issues. Plus the investigation workspace, response composer, redress and payments, FSPO cases, data-access requests, board pack, QA sampling, the customer pages and a full audit log.
Each intake item shows three questions next to the message, its age in business hours and the matched customer with their previous complaints. A contact becomes a complaint only when the test says so, and a query or redirect is a separate, deliberate choice.
Every complaint shows its next milestone, coloured on track, due in 3 days, due today or breached, with the business days left. The dashboard groups open complaints by milestone, so a team lead sees where breaches are building before they happen.
In the approvals queue, the FSPO referral rights and the complaint reference are locked sections the handler cannot edit. Checks list whether each issue is answered, the outcome stated, the redress matches the calculation and the reading age is within target.
Responses, redress, closures, category changes, backdated received dates and internal SLA pauses all wait for a second person, with the authority each needs shown. A requester cannot approve their own item, so a team lead's own redress waits for another approver.

Designed and built a clickable AML transaction monitoring system for a US neobank and its sponsor bank: scenario alerts ranked by a transparent priority score, an investigation workspace that shows why each alert fired, real-time payment holds, and cases that count down to the SAR filing deadline.

Designed and built a clickable KYC and KYB case-management platform for a Vilnius electronic money institution: a case queue with SLAs, individual and business cases with registry comparison and beneficial ownership traced through every layer, an explainable risk score, four-eyes approval and requests for information sent to customers.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab