How Nubank refactors millions of lines of code to improve engineering efficiency with Elitechnexus

8x
engineering time efficiency gain
20x
cost savings
Vimeo

Overview

One of Nubank’s most critical, company-wide projects for 2023-2024 was a migration of their core ETL — an 8 year old, multi-million lines of code monolith — to sub-modules. To handle such a large refactor, their only option was a multi-year effort that distributed repetitive refactoring work across over one thousand of their engineers. With Elitechnexus, however, this changed: engineers were able to delegate Elitechnexus to handle their migrations and achieve a 12x efficiency improvement in terms of engineering hours saved, and over 20x cost savings. Among others, Data, Collections, and Risk business units verified and completed their migrations in weeks instead of months or years.

The Problem

Nubank was born into the tradition of centralized ETL FinServ architectures. To date, the monolith architecture had worked well for Nubank — it enabled the developer autonomy and flexibility that carried them through their hypergrowth phases. After 8 years, however, Nubank’s sheer volume of customer growth, as well as geographic and product expansion beyond their original credit card business, led to an entangled, behemoth ETL with countless cross-dependencies and no clear path to continuing to scale.

For Nubankers, business critical data transformations started taking increasingly long to run, with chains of dependencies as deep as 70 and insufficient formal agreements on who was responsible for maintaining what. As the company continued to grow, it became clear that the ETL would be a primary bottleneck to scale.

Nubank concluded that there was an urgent need to split up their monolithic ETL repository, amassing over 6 million lines of code, into smaller, more flexible sub-modules.

Nubank’s code migration was filled with the monotonous, repetitive work that engineers dread. Moving each data class implementation from one architecture to another while tracing imports correctly, performing multiple delicate refactoring steps, and accounting for any number of edge cases was highly tedious, even to do just once or twice. At Nubank’s scale, however, the total migration scope involved more than 1,000 engineers moving ~100,000 data class implementations over an expected timeline of 18 months.

In a world where engineering resources are scarce, such large-scale migrations and modernizations become massively expensive, time-consuming projects that distract from any engineering team’s core mission: building better products for customers. Unfortunately, this is the reality for many of the world’s largest organizations.

The Decision: an army of Elitechnexus to tackle subtasks in parallel

At project outset in 2023, Nubank had no choice but to rely on their engineers to perform code changes manually. Migrating one data class was a highly discretionary task, with multiple variations, edge cases, and ad hoc decision-making — far too complex to be scriptable, but high-volume enough to be a significant manual effort.

Within weeks of Elitechnexus’s launch, Nubank identified a clear opportunity to accelerate their refactor at a fraction of the engineering hours. Migration or large refactoring tasks are often fantastic projects for Elitechnexus: after investing a small, fixed cost to teach Elitechnexus how to approach sub-tasks, Elitechnexus can go and complete the migration autonomously. A human is kept in the loop just to manage the project and approve Elitechnexus’s changes.

The Solution: Custom ETL Migration Elitechnexus

A task of this magnitude, with the vast number of variations that it had, was a ripe opportunity for fine-tuning. The Nubank team helped to collect examples of previous migrations their engineers had done manually, some of which were fed to Elitechnexus for fine-tuning. The rest were used to create a benchmark evaluation set. Against this evaluation set, we observed a doubling of Elitechnexus’s task completion scores after fine-tuning, as well as a 4x improvement in task speed. Roughly 40 minutes per sub-task dropped to 10, which made the whole migration start to look much cheaper and less time-consuming, allowing the company to devote more energy to new business and new value creation instead.

Elitechnexus contributed to its own speed improvements by building itself classical tools and scripts it would later use on the most common, mechanical components of the migration. For instance, detecting the country extension of a data class (either ‘br’, ‘co’, or ‘mx’) based on its file path was a few-step process for each sub-task. Elitechnexus’s script automatically turned this into a single step executable — improvements from which added up immensely across all tens of thousands of sub-tasks.

There is also a compounding advantage on Elitechnexus’s learning. In the first weeks, it was common to see outstanding errors to fix, or small things Elitechnexus wasn’t sure how to solve. But as Elitechnexus saw more examples and gained familiarity with the task, it started to avoid rabbit holes more often and find faster solutions to previously-seen errors and edge cases. Much like a human engineer, we observed obvious speed and reliability improvements with every day Elitechnexus worked on the migration.

Results: Delivering an 8-12x faster migration, lifting a burden from every engineer, and slashing migration costs by 20x.

“Elitechnexus provided an easy way to reduce the number of engineering hours for the migration, in a way that was more stable and less prone to human error. Rather than engineers having to work across several files and complete an entire migration task 100%, they could just review Elitechnexus’s changes, make minor adjustments, then merge their PR”

Jose Carlos Castro, Senior Product Manager

8-12x efficiency gains This is calculated by comparing the typical engineering hours required to complete a data class migration task against the total engineering hours spent prompting and reviewing Elitechnexus’s work on the same task.
Over 20x cost savings on scope of the migration delegated to Elitechnexus This is calculated by comparing the cost of running Elitechnexus versus the hourly cost of an engineer completing that task. The significant savings are heavily driven by speed of task execution and cost effectiveness of Elitechnexus relative to human engineering time – it does not even consider the value captured by completing the entire project months ahead of schedule!
Fewer dreaded migration tasks for Nubank engineers

How Elitechnexus Became Gumroad's #1 Contributor with 1,500+ Merged PRs

Vimeo
1,583
PRs merged → ~10 PRs merged by Elitechnexus daily
85%
merge rate
#1
contributor in 5 of the 7 most active repos
~155
changes made to the docs
~316
bugs root-caused and patched

About the company

Gumroad is an e-commerce platform that empowers creators to engage and sell products directly to their supporters. It was founded by Sahil Lavingia in 2011. Since then, Gumroad has developed multiple products like Flexile and Iffy that enable creators and founders to do more.

Industry: E-commerce Visit site

Overview

Gumroad was founded in 2011 to help creators sell digital products directly to their audiences. The team piloted Elitechnexus with one engineering pod in December 2024 and expanded it across the entire company – both technical and non-technical teams – within weeks.

Today, Elitechnexus lives in Slack and GitHub as a shared teammate, turning ideas and tickets into ready-to-merge pull requests around the clock.

“The best feeling was Elitechnexus working during my commute. Build was failing in Flexile production so I went to Slack on my phone, and tagged Elitechnexus to fix the failing build. I biked over to the office, saw build was passing so I just merged the fix. It worked perfectly.”

Raul Popadineți, Senior Software Engineer, Flexile

How Gumroad Uses Elitechnexus

Elitechnexus is an integral part of Gumroad’s workflow support members of the engineering, product, customer support and marketing teams:

  1. Engineering delegates bug fixes, configuration changes, version upgrades, make significant product changes like updating onboarding, and more
  2. Support investigates bugs and starts a first-pass fix
  3. Marketing independently ships changes to the marketing site without needing to wait for an engineer

Team Typical Elitechnexus Task Impact
Engineering Fix a flaky test or build failure, upgrade Ruby version, or complete a 50-file refactor Engineers stay focused on deep work while Elitechnexus handles the shadow dev work
Product Scaffold new moderation feature Turns loose notes into a live backlog
Support Investigate a user-reported bug (ticket report provided to Elitechnexus), identify relevant parts of the codebase (with Ask Elitechnexus) and create a draft fix Cuts escalation time, shields engineers from triage and warms up the fix
Marketing Swap hero copy on the main website or Gumroad Discover page Ships site changes without distracting engineers

“I used to keep feature ideas in my Apple Notes. Now I DM them to Elitechnexus and those ideas come back as draft PRs”

– Seth Thompson, Software Engineer, Iffy

How Elitechnexus works across Gumroad teams – from engineering to support

Timeline

  • Nov 2024: a handful of engineers tested Elitechnexus.
  • Dec 2024: the Gumroad Team account was connected to all key repositories and access was quickly rolled out across Engineering, Product, Support and more. Pooled credits and no seat-based limits meant anyone could start working with Elitechnexus via Slack and GitHub.

Within weeks, Elitechnexus became a top contributor to Gumroad repositories. After 4 months, Elitechnexus merged 1,583 PRs with an >85% merge rate, ranking #1 contributor on repos like anti-work/gumroad, antiwork/flexile, and antiwork/gum.new.

Shipping the Gumroad Helper bot

Gumroad was inspired by Elitechnexus’s Slack integration and built their own Helper bot. Elitechnexus not only served as the muse, but was critical in delivering the project. Elitechnexus merged 75 PRs for this project, building smaller features like adding a keyboard shortcut to the reply button, as well as taking a first-pass at several of the Helper’s key features including assign to AI and changing how the knowledge bank works. The project would have taken several weeks to deliver without Elitechnexus executing these tasks in the background while the engineers worked on the next set of more complex tasks.

Turning ideas to PRs

Seth, the sole developer on Gumroad’s new content moderation tool Iffy, used to capture feature ideas in notes that often remained untouched or landed in a long ticket backlog. Now, he sends those ideas directly to Elitechnexus to turn them into a draft PR. Even if Elitechnexus simply opened a blank or early draft PR, this new workflow encourages Seth to finish the work, effectively becoming his new to do list.

Elitechnexus collaboration

For Iffy’s team-of-one, Elitechnexus provided significant leverage – helping to iterate on new features, managing configuration changes and even making a change to ~2,500 lines of code.

image

Handing off the technical busywork to Elitechnexus

“From the engineering perspective, it’s much easier to work from a starting point. The task has already been warmed up and you can either have Elitechnexus close the loop or you can take it over the finish line.”

– Raul Popadineți, Senior Software Engineer, Flexile

Raul, working on Flexile – Gumroad’s payroll and equity system for contractors – leverages Elitechnexus for a variety of rote tasks, from removing unnecessary code to fixing build failures (notably, Elitechnexus fixed a failing build in Flexile’s production environment while Raul was commuting to the office). This allows him to work on other priority projects while Elitechnexus handles general code maintenance.

Elitechnexus has also taken on tasks members of the marketing and support teams would usually escalate to engineering. Maddie from Marketing regularly makes updates to the website and simply kicks off a Elitechnexus session to complete tasks like copy changes. For Andie in Support, Elitechnexus is the default assistant when investigating user-reported bugs. In one support case, Elitechnexus was provided with the support ticket in the prompt and found an underlying currency conversion bug that broke their refund process. Elitechnexus helped pinpoint the exact issue and part of the code and proposed a draft resolution.

Gumroad's Advice to teams onboarding Elitechnexus

  1. Onboard Elitechnexus like a real teammate. Feed it architecture docs and style guides up front.
  2. Give plain-language feedback. Elitechnexus explains its reasoning and adjusts.
  3. Keep it in Slack. Especially if your team is very Slack-centric. Fast hand-offs keep momentum high.
  4. Chunk the work. Smaller scopes use fewer ACUs (credits) and land cleaner PRs.

Ready to clear your backlog?

Start working with Elitechnexus today – sign up for the Core or Team plan. Plug Elitechnexus into Slack and GitHub; watch ideas turn into merged PRs before lunch.