Rezvan Farz Kanari

Hi, I'm Rezvan.

Tech lead and senior software engineer.

20 years of experience, most of them in banking, energy and government.

Most recently I led a frontend team of 11 at ABN AMRO.

I work in TypeScript, Angular, Vue.js, React and Node.js, and I'm used to joining large enterprise codebases mid-project.

Rezvan leaning over a table and pointing at a plan during a workshop with colleagues

Clients include

  • ABN AMRO
  • ING
  • Rabobank
  • AFM
  • Vattenfall
  • Nuon
  • Deutsche Bank
  • Bestseller

Recommendations

  • Throughout my career, I have worked with many developers, but you are, without a doubt, among the absolute best.

    As a Senior Frontend Developer, you combine exceptional technical expertise with strong stakeholder management skills, natural leadership, and a consistently positive, proactive attitude.

    Emal KawousProduct Owner, ABN AMROTranslated from Dutch
  • Your seniority reflects in knowledge, organising work and managing resources.

    You are indeed a natural leader and a very good coach. Communication is also one of your most valuable skills.

    Antonio D'AngeloChapter Lead, ABN AMRO
  • Rezvan is one of the most skilled, productive and pleasant colleagues I have ever worked with. He combines vision and a 'getting things done' mentality in such a way that the renewal of the old portal in a new dashboard happened faster and better than anyone expected.

    I would love to work with him again and highly recommend hiring him.

    Tom ThomasColleague at ING, 2013 · now Senior DevOps Engineer at Aegon

My path

From today back to my first developer job in 2006.

Now

Looking for my next collaboration.

Get in touch
  1. 2022 – now

    Leading a product team

    Tech lead and proxy product owner at ABN AMRO, shipping four products including iDEAL. Since mid-2024 I combine parental leave with consulting and AI projects through my own company.

    1. 2024 – now

      Consulting and AI projects

      FKG Partners S.L. · Own consulting agency

      Alongside parental leave, raising my two daughters, I work through my own company:

      • Designed an LLM-based document-processing solution for a Dutch fintech client; the project stopped at legal review, before the build phase.
      • Building agentic tools with the Claude API and MCP, including one that checks websites against the European Accessibility Act.
      • Working test-first, with the tests as the spec for AI coding tools such as Claude Code and Copilot.

      2024 – now

      FKG Partners S.L.

      Consulting and AI projects · Own consulting agency

      The situation

      Since mid-2024 I've been on parental leave, raising my two daughters. Alongside that I work through my own company, FKG Partners S.L.: consulting for clients, and building AI tools in my own projects.

      What I did

      • Consulted for a Dutch fintech client and designed an LLM-based document-processing solution.
      • Building agentic tools in TypeScript, React and NestJS with the Claude API and MCP servers, including a tool that checks websites against the European Accessibility Act.
      • Working test-first, with the tests as the spec for AI coding tools such as Claude Code and Copilot.
      • Using Python and PostgreSQL daily in my own projects and for workflow tooling.

      The outcome

      • The fintech project stopped at legal review, before the build phase.
      • The AI tools are ongoing work in my own projects.
    2. 2022 – 2024Lead

      Lead Frontend Engineer

      ABN AMRO Bank · Banking

      • Stepped in as tech lead of a frontend team of 11 in Online Banking, split between the Netherlands and India, and later also stood in as product owner.
      • Shipped four products to production, including the integration of the new version of iDEAL, the Dutch online payment system.
      • Unblocked the department's Lit component library: my team built the changes and the owning team reviewed them, so changes took one or two weeks instead of months.
      • Led the first team to move from YAML pipelines to Bicep, and wrote the migration playbook for the other teams.
      • Made the offshore half of the team visible: juniors wrote their own pull requests and seniors reviewed them in writing.
      • TypeScript
      • Vue.js
      • LIT
      • Node.js
      • REST APIs
      • Azure DevOps
      • Bicep
      • Cypress
      • Jest
      • Scrum

      2022 – 2024Lead

      ABN AMRO Bank

      Lead Frontend Engineer · Banking

      The situation

      Online Banking at ABN AMRO: a frontend team of 11, split between the Netherlands and India, building on the department's shared Lit component library. Changes to that library could take months.

      What I did

      • Stepped in as tech lead and introduced Vue.js and LIT component patterns as the team's standard frontend architecture.
      • Had my team build the library changes we needed, with the owning team reviewing them.
      • Made the offshore half of the team visible: juniors wrote their own pull requests and seniors reviewed them in writing.
      • Led the first team to move from YAML pipelines to Bicep, and wrote the migration playbook for the other teams.
      • Set up Azure DevOps monitoring with cost budgets and performance alerts.
      • Integrated backend services through RESTful APIs and worked with the backend teams on system design.
      • Took on product owner duties in the final phase of the project, working directly with design and backend.

      The outcome

      • Four products in production, including the integration of the new version of iDEAL, the Dutch online payment system.
      • Library changes took one or two weeks instead of months.
      • The other teams had a playbook to follow for their own move to Bicep.

      You are indeed a natural leader and a very good coach. Communication is also one of your most valuable skills, never looking for conflicts and always able to understand how to interact in every situation.

      Antonio D'Angelo, Chapter Lead, ABN AMRO
      • TypeScript
      • Vue.js
      • LIT
      • Node.js
      • REST APIs
      • Azure DevOps
      • Bicep
      • Cypress
      • Jest
      • Scrum
  2. 2019 – 2022

    Setting up and leading teams

    Lead roles at the Dutch financial regulator and at Vattenfall: building a team from scratch, making the architecture calls and modernising without stopping delivery.

    1. 2021 – 2022Lead

      Lead TypeScript Engineer

      Vattenfall · Energy

      • Led the B2B team's move from legacy code to a modern Angular stack, and moved the codebase to an Nx monorepo.
      • Made the architecture calls and mentored the team through the upgrade, while still meeting sprint commitments.
      • Introduced server-side rendering to support a server-driven UI, and integrated the frontend with the .NET backend through RESTful APIs.
      • Set up application monitoring with Dynatrace and Azure DevOps.
      • Angular
      • TypeScript
      • Nx
      • REST APIs
      • SSR
      • Azure DevOps
      • Dynatrace
      • Jest
      • Cypress

      2021 – 2022Lead

      Vattenfall

      Lead TypeScript Engineer · Energy

      The situation

      Vattenfall's B2B team was running its portal on legacy code. It had to move to a modern Angular stack while existing features kept working and sprints kept delivering.

      What I did

      • Made the architecture decisions on modernising the stack, and mentored the team through the Angular upgrade and the new tooling.
      • Moved the codebase to an Nx monorepo.
      • Introduced server-side rendering to support a server-driven UI.
      • Integrated the frontend with the .NET backend through RESTful APIs.
      • Set up application monitoring with Dynatrace and Azure DevOps.

      The outcome

      • The B2B team moved off legacy code onto a modern Angular stack.
      • Existing features stayed stable and sprint commitments were met throughout the migration.
      • Angular
      • TypeScript
      • Nx
      • REST APIs
      • SSR
      • Azure DevOps
      • Dynatrace
      • Jest
      • Cypress
    2. 2019 – 2021Lead

      Lead TypeScript Engineer

      Autoriteit Financiële Markten (AFM) · Financial regulator

      • Part of a new team that replaced a high-risk legacy portal with a modern Angular application, on a fixed deadline.
      • Set the team up from scratch: workflows, tooling, CI/CD strategy and coding standards.
      • Automated a manual data-submission process, cutting the share of submissions that needed follow-up from 90% to under 20%.
      • Worked on the Node.js/Express and MongoDB backend and implemented OpenID Connect sign-in with Microsoft Entra ID.
      • Angular
      • TypeScript
      • Node.js
      • Express
      • MongoDB
      • Entra ID
      • OpenID Connect
      • Azure
      • Strapi
      • CI/CD

      2019 – 2021Lead

      Autoriteit Financiële Markten (AFM)

      Lead TypeScript Engineer · Financial regulator

      The situation

      The AFM, the Dutch financial markets regulator, had to replace a high-risk legacy portal on a fixed deadline, with a team that had only just been formed. Data submissions were still handled by hand, and 90% of them needed follow-up.

      What I did

      • Set the team up from scratch: Agile workflows, QA pipelines, CI/CD, the branching strategy and coding standards.
      • Built the new portal in Angular, with Strapi as CMS and a Microsoft CRM integration on Azure.
      • Worked on the Node.js/Express and MongoDB backend and implemented OpenID Connect sign-in with Microsoft Entra ID.
      • Automated the manual data-submission process.

      The outcome

      • The legacy portal was replaced within the fixed deadline.
      • Submissions that needed follow-up dropped from 90% to under 20%.
      • Angular
      • TypeScript
      • Node.js
      • Express
      • MongoDB
      • Entra ID
      • OpenID Connect
      • Azure
      • Strapi
      • CI/CD
  3. 2015 – 2019

    Migrations and shared libraries

    Moving large Angular codebases forward without taking them offline, and building component libraries that several teams share.

    1. 2017 – 2019Senior

      Senior JavaScript Engineer

      Nuon Energy / Vattenfall · Energy

      • Led the upgrade of a B2B portal from AngularJS to Angular 7 without interrupting service.
      • Introduced the first frontend coding conventions, tooling and workflow for the portal team, which had none before.
      • Built a shared component library for the B2B portal and offered it to the B2C department, ahead of the company's later move to shared components.
      • Worked across the stack: Node.js/Express and PHP services with MySQL and MongoDB, plus JWT-based identity and access management.
      • Angular
      • AngularJS
      • TypeScript
      • Node.js
      • Express
      • PHP
      • MySQL
      • MongoDB
      • JWT
      • Azure
      • Cypress
    2. 2017Senior

      Senior JavaScript Engineer

      Rabobank · Banking

      • Wrote the technical roadmap for moving from Angular directives to a component architecture.
      • Migrated the directives to a component-based ES6 architecture.
      • Built a shared library that let the Advice & Insurance app grow from one application to several.
      • Angular
      • ES6
      • Component library
      • Jenkins
    3. 2015Senior

      Senior JavaScript Engineer

      Bestseller · E-commerce / Retail

      • Built custom Node.js features for the Demandware e-commerce platform.
      • Worked on the planning and early development of the replacement e-commerce platform.
      • Node.js
      • JavaScript
      • Demandware
      • PHP
      • Cypress
  4. 2006 – 2015

    From websites to banking

    Websites and a CMS at Plag Webbureau, three years at Backbase, then freelance from 2011: banking software from the browser down to the APIs, and my first CI/CD pipeline.

    1. 2014

      Layergloss

      Data visualisation

      • Built a real-time statistics prototype in vanilla JavaScript and Canvas.
      • JavaScript
      • Canvas
    2. 2013

      JavaScript Developer

      CrowdRoaming · Mobile app

      • UX and frontend consulting for a mobile app.
      • UX
      • Frontend
    3. 2012 – 2015Senior

      Senior JavaScript Engineer

      ING Bank · Banking

      • Decoupled backend services by designing and building RESTful APIs in a microservice architecture.
      • Built the team's CI/CD pipeline from scratch.
      • Set coding and QA standards the whole team adopted, covering JavaScript, Selenium and Karma testing.
      • JavaScript
      • Node.js
      • Java
      • REST APIs
      • Microservices
      • Selenium
      • Karma
      • Tomcat
      • CI/CD
    4. 2011 – 2012

      JavaScript Developer

      ING Bank · Banking

      • Migrated server-side JSP pages to a client-side REST architecture.
      • JavaScript
      • AJAX
      • REST
      • JSP
    5. 2011

      JavaScript Developer

      Magneds · Media

      • Built a video platform for a student video contest, deployed on AWS EC2.
      • JavaScript
      • AWS EC2
    6. 2011

      JavaScript Developer

      Online · Telecom

      • Built a product selector for T-Mobile.
      • JavaScript
    7. 2011

      JavaScript Developer

      Deutsche Bank · Banking

      • Built investment-risk visualisations for an internal reporting system.
      • JavaScript
      • Charts
    8. 2008 – 2011Lead

      Team Lead & Frontend Architect

      Backbase · Banking software

      • Team lead and frontend architecture on an XML-based component framework that predated React and Angular.
      • Trained engineering teams, including in India, Russia and South Africa.
      • JavaScript
      • AJAX
      • XML
    9. 2006 – 2008Lead

      Lead Developer

      Plag Webbureau · Web agency

      • Built websites and an in-house CMS, with system integrations over SOAP and XML-RPC.
      • PHP
      • Linux
      • CMS
      • SOAP
      • XML-RPC

How I work

What I bring to a team, and where I learned it.

  • ABN AMRO

    I remove bottlenecks

    Changes to the department's shared component library took months. My team built them and the owning team reviewed them, so they took one or two weeks instead.

  • AFM

    I automate the painful part

    Data submissions were handled by hand and 90% of them needed follow-up. After I automated the process, it was under 20%.

  • Vattenfall

    I modernise without stopping delivery

    I moved the B2B team off legacy code onto a modern Angular stack and an Nx monorepo, while existing features stayed stable and sprints kept delivering. At Nuon, the AngularJS to Angular 7 upgrade ran without interrupting service.

  • ABN AMRO

    I make everyone's work visible

    My team was split between the Netherlands and India. Juniors wrote their own pull requests and seniors reviewed them in writing, so the offshore half’s work was seen and its juniors grew.

  • ABN AMRO

    I leave a path for others

    My team was the first to move from YAML pipelines to Bicep, and I wrote the migration playbook for the other teams. At the end of several engagements I hired my own replacement.

  • FKG Partners

    I write the tests first, also for AI

    In my own work the tests come first and serve as the spec for AI coding tools such as Claude Code and Copilot.

Skills

The tools and methods I work with.

Leadership & ways of working

  • Tech lead
  • Proxy product owner
  • Team setup
  • Hiring
  • Mentoring
  • Stakeholder management
  • Scrum
  • Trunk-based development
  • Strict TypeScript
  • Design systems
  • Accessibility (WCAG)
  • Software architecture
  • Technical roadmaps

Frontend

  • Angular
  • AngularJS
  • Vue.js
  • Nuxt
  • React
  • TypeScript
  • JavaScript (ES6+)
  • RxJS
  • NgRx
  • Redux
  • LIT
  • Web Components
  • Nx
  • HTML5
  • CSS3
  • SCSS
  • SSR

Backend

  • Node.js
  • Express
  • NestJS
  • PHP
  • Laravel
  • Java
  • RESTful APIs
  • Microservices
  • MySQL
  • MongoDB
  • SQL
  • OAuth
  • OpenID Connect
  • JWT
  • Strapi

Testing & DevOps

  • Jest
  • Cypress
  • Playwright
  • Selenium
  • TDD
  • CI/CD
  • GitHub Actions
  • Azure DevOps
  • Azure
  • Bicep
  • Docker
  • Linux
  • Dynatrace
  • Git
  • Jenkins
  • SonarQube

AI tooling

  • Claude API
  • MCP servers
  • Agentic tools
  • Claude Code
  • GitHub Copilot
  • Test-first with AI

Own projects

  • Python
  • PostgreSQL

Languages

  • DutchNative
  • Farsi (Persian)Native
  • EnglishFluent
  • SpanishAdvanced
  • GermanIntermediate
  • FrenchBeginner

Let's talk

Open to freelance assignments and permanent roles, remote or hybrid. Dutch national, based in Valencia, Spain.

LinkedIn (opens in a new tab)