← Network map

2022 → 2023 · Fully remote

Leetchi

.NET Lead Developer, Admin team (freelance)

Europe’s #1 online money-pot platform (think GoFundMe) · 20M+ users · Mangopay group (Crédit Mutuel Arkéa)

LinesBackend .NETLeadershipCloud

Highlights

  • Joined as a freelance senior developer and was made Lead Developer of the Admin team three weeks later: eight people, PO included, in charge of the APIs and admin interfaces for money pots.
  • Helped rebuild Leetchi entirely from scratch (DDD domains, microservices, APIs, user journeys, UX), shipped to production in 9 months with no issues at all, whether on performance, user experience or data migration.
  • Broke down and estimated the team’s scope, then challenged the CTO on which features to drop to stay within budget, such as spending a money pot at partner merchants.
  • Rebuilt the screening, know-your-customer (KYC), fraud prevention and anti-money-laundering tools, and secured access to the admin interface through the company’s Active Directory.

I joined Leetchi as a freelance senior developer just as the company was playing its last card: rebuilding the whole platform in-house, with a fixed budget and 9 months to get there.

A payment system that became Mangopay

In its early days, Leetchi built its own payment system to handle money-pot funds, wired directly into the website. Over the years, that system grew into Mangopay, a product sold on its own and competing with Stripe or Lemonway.

The downside of that success was that Leetchi’s legacy code was completely tangled with Mangopay’s. Every Mangopay update forced the website to keep up, again and again.

Two attempts, then one last budget

The company first hired a service company to restructure Leetchi and integrate Mangopay cleanly. The result fell short. A second budget was released to try again, with no better outcome.

The investors then set aside one last, very precise budget. This time the rebuild would not be outsourced: it would be done in-house, with development teams reinforced by freelancers.

Lead Developer three weeks in

To help all these new developers work well together, the CTO set up two teams:

  • the Admin team, in charge of the APIs and admin interfaces for money pots: screening, KYC, fraud prevention and anti-money-laundering
  • the Front team, also working on the APIs (shared between both teams) and on the public web app.

The CTO asked me to lead the Admin team. Three weeks after I arrived, I became Lead Developer of an eight-person team, PO included.

Making the 9 months work

With such a tight budget, every feature had to earn its place. I broke the upcoming work down at a high level, estimated it, then challenged the CTO on what to deprioritize to reach the goal.

One example among many: we decided not to bring back the ability to spend a money pot at partner merchants. Only a few percent of users relied on it, and the development cost was huge. The cost/benefit ratio did not add up.

I also worked on securing access to the admin interface, building it on the company’s Active Directory.

Rethinking everything from scratch

Nothing was carried over as is. Domains were redefined with DDD and CQRS, and everything was rethought: microservices, APIs, user scenarios and UX. The backend ran on .NET Core, Entity Framework, Dapper and SQL Server, with MassTransit for communication between services, and the interfaces were written in Vue.js.

Quality was tracked continuously with NUnit, SonarQube and Stryker for mutation testing. Infrastructure was described with Terraform and deployed to Azure through Azure DevOps, and we worked in Scrum.

A smooth go-live

Nine months later, the new Leetchi was in production. No problems came up, whether on performance, user experience or data migration. After two failed attempts, the rebuild was a real success.

Tech stack

  • .NET Core
  • C#
  • DDD
  • CQRS
  • Entity Framework
  • Dapper
  • SQL Server
  • MassTransit
  • Vue.js
  • NUnit
  • SonarQube
  • Stryker
  • Azure
  • Azure DevOps
  • Terraform
  • Scrum