Dhia Kennouche 👋

I lead a fintech engineering team, owning technical direction from architecture through delivery. Extensive Python 🐍 experience (Since 2011) and TypeScript proficiency, with the past few years spent designing Microservice and Serverless Architectures on AWS. My work sits where payments, banking data and AI meet: I run long-running integration projects end to end — vendor research, architecture, delivery and migration — across backend, web and mobile. Alongside that, peer-reviewed research on measuring software size with language models. Over a decade of building, and I still enjoy it.

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

Open Banking integrations

Connecting to bank data providers end to end — consent and authorisation flows, resilient sync, and normalising messy multi-institution data into something the product can actually rely on.

Real-time card transaction data

Event-driven infrastructure that ingests card transaction events as they happen, with the ordering, idempotency and reconciliation guarantees financial data demands.

Mobile app migration

Working closely with a newly hired senior mobile engineer to migrate the app to our latest stack — a full rewrite from scratch.

AI assistant over customer data

Designed and built solo: a LangGraph agent that answers customers’ questions about their own data in natural language, translating them into SQL with schema-aware context, query validation and guardrails that keep every answer scoped to the person asking. Guardrails run on two levels: an LLM-as-a-judge check, plus a deterministic one that parses the generated SQL and validates it against policy.

Beyond the projects above, I run the team day to day: hiring and interviewing, mentoring, roadmap planning with upper management, cross-team and in-depth technical decisions, on-call myself and backing up whoever else is on it — and still picking up tasks and writing code.

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örsJournal 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örsInformation and Software Technology, vol. 165, 2024

The first continues my MSc thesis, Predicting Software Size From Requirements Written In Natural Language: A Generative AI Approach, on fine-tuning and evaluating language models to estimate software size straight from requirement text. Full list on DBLP.

In order: Ruby on Rails and Python as a teenager — high school, open source, and a finalist place in Google Code-in, Google's open-source competition for students, the same era as the SymPy contribution linked above. Then Android, then React Native, then over 2 years on monolithic and microservice Java and Python systems, which is where I learned most of what I know about trade-offs. Then this role.

python
Java
Typescript
React
NextJS
Android
Apple
NextJS
AWS
Gmail
GitHub
LinkedIn
ORCIDiD