Problem
Several teams shipped into the same retail surfaces, so every deploy depended on everyone else, and performance regressions on high-traffic pages were expensive at Mercado Libre's scale.
2024 Frontend platform
Senior Software Engineer on the 1P (first-party) team
From April 2024 to September 2025 I worked on frontend platform engineering on Mercado Libre's first-party retail team, the direct retail experience on Latin America's highest-traffic e-commerce platform. I was the most experienced engineer on the team and its technical referent, not its manager.
Several teams shipped into the same retail surfaces, so every deploy depended on everyone else, and performance regressions on high-traffic pages were expensive at Mercado Libre's scale.
I architected microfrontend systems with React so each team could own and deploy its slice independently, and drove the performance optimization work across the highest-traffic surfaces.
Teams gained independent deployments and a more modular codebase, modern web practices spread across the frontend teams, and engineers grew through code reviews and technical guidance.
Independent team deployments and measurably faster high-traffic pages on the retail experience.
The problem was never the code. It was that every team’s change waited for every other team’s change, and when something broke on a page half of Latin America was looking at, finding the owner took longer than the fix.
Four teams, one shared release. Anyone's change waits for everyone's, and anyone's bug is everyone's page. Four teams, four pipelines. A change reaches users when its owner says so, and a bug pages exactly one phone.
The work was in the seams: one owner per slice of the page, a thin shell that owned routing, design system and telemetry, a contract small enough to fit in your head, and failure isolation so a slice that did not load rendered its fallback while the rest of the page kept working.
Independent deploys gave teams autonomy. Performance budgets in the pipeline kept that autonomy from turning into slow pages. Neither would have held without the same few review comments, repeated across teams until they were habits.
import { loadRecommendations } from "./recommendations"; import { trackingScript } from "@vendor/analytics"; document.head.appendChild(trackingScript()); export async function renderGallery(productId: ProductId) { const recommendations = await loadRecommendations(productId); Recommendations belong to Discovery. Gallery should not wait on their slice. Load it in their rectangle, not ours.
const gallery = await loadGallery(productId); ai trained on this site's content — not actually valentin. ask anything.
Who owns this script, and why is it on the critical path? If analytics needs it, it loads after first paint.