Tech Lead · London, UK

Dhia Kennouche

Building fintech, payments-data, and AI systems.

I lead an engineering team from architecture through delivery across card issuing, Open Banking, real-time transaction pipelines, and customer-data AI. I bring over a decade of hands-on experience with Python, TypeScript, AI, AWS, and product delivery across backend, web, and mobile.

Card issuer rollout and customer migration

Co-owned Expend's move to a new card issuer, taking joint responsibility for vendor and architecture decisions while owning the customer-facing rollout and migration work.

  • Partnered with the CTO on vendor research, technical due diligence, and selection against product, risk, and operational requirements.
  • Collaborated with other team members on architecture decisions for an event-driven system built to process millions of transaction events efficiently.
  • Owned the frontend transition so customer-facing changes were clear, timely, and minimally disruptive.
  • Owned migration execution for thousands of cards, coordinating new card creation, dispatch, customer communications, funds movement, and operational cutover.

Open Banking reimbursements

Led the Open Banking integration behind reimbursing approved expense and mileage claims from a company bank account.

  • Owned architecture, delivery, and maintenance across backend and web.
  • Designed consent and authorisation flows, resilient synchronisation, and bank-data normalisation.
Explore the reimbursement workflow

Card Connect

Built the external-provider integration for Card Connect, bringing real-time transaction data from connected business cards into Expend.

  • Designed event-driven ingestion for card-transaction events as they happen.
  • Built for the ordering, idempotency, and reconciliation guarantees financial data demands.
Explore Card Connect

AI-assisted OCR

Refactoring the OCR pipeline to make it more AI-driven and improve extraction accuracy.

  • Applying the work to the financial-document capture flow.
AI Automation

Customer-data AI assistant

Designed and built solo: a LangGraph agent that answers customers' questions about their own data in natural language.

  • Translated questions into SQL using schema-aware context and query validation.
  • Added two guardrail layers: an LLM-as-a-judge check and deterministic SQL-policy validation.

Alongside these projects, I lead day-to-day engineering work: hiring and interviewing, mentoring, roadmap planning, cross-team technical decisions, and on-call support while remaining hands-on in the codebase.

  • Organised a TDD initiative that improved how the team understood and applied test-driven development through practical sessions and workshops.
  • Ran two-day hackathon that introduced LLMs into the team and product workflow, leading to AI features that reached production.
  • Ran another two-day hackathon that introduced LangGraph and Harness engineering to the team and product workflow, leading to proof-of-conept AI product presented to the company.
  • Mentor new and existing teammates so they can build deeper product knowledge, contribute across more areas of engineering, and grow as product engineers.

Card issuingExpense managementFinancial transactionsOpen BankingReal-time payments dataEvent-driven architectureLLM agentsLLM fine-tuningAWSTeam leadership

Peer-reviewed work on measuring and estimating software size with language models, and on how microservice teams actually work.

Automating software size measurement with language models: Insights from industrial case studies

H. Ünlü, S. Tenekeci, D. E. Kennouche, O. Demirörs · Journal of Systems and Software, vol. 231, 2026

Microservice-based projects in agile world: A structured interview

H. Ünlü, D. E. Kennouche, G. Kilinç Soylu, O. Demirörs · Information and Software Technology, vol. 165, 2024

My MSc thesis explored fine-tuning and evaluating language models to estimate software size from requirements written in natural language. The full publication list is available on DBLP.

I started with Ruby on Rails and Python as a teenager, contributing to open source and placing as a finalist in Google Code-in. My first Python contribution dates to 2011. Since then I have worked across Android, React Native, monolithic and microservice Java and Python systems, learning the trade-offs that inform how I lead today.

Python
Java
Typescript
React
NextJS
Android
Apple
NextJS
AWS

The fastest way to reach me is email. You can also find my work and research through the links below.