Skip to content

Open to international remote roles

Backend Engineer

NestJS • TypeScript • Python • .NET • AWS

I build APIs, integrations and backend services for high-traffic products and business-critical platforms — from Webmotors' automotive portals to Santander systems and AI-powered marketplaces.

Years building software
5+
Python, Node.js and .NET since 2021
Record visits
1.8M
WM1 portal · Webmotors
Lead generation
+115.6%
FIPE Table · Webmotors
Visits
499K
0 KM Catalog · Webmotors
A/B test conversion
51.7%
Financing simulation · 0 KM Catalog

Webmotors figures are product results reported for the teams I worked on.

About

Backend work that holds up in production

I'm a backend engineer from São Paulo, Brazil. Since 2021 I've built APIs and backend services for software people rely on every day — a financing platform used by thousands of Santander consultants, an internal marketplace for Santander employees, and high-traffic automotive portals at Webmotors.

At Laborit I currently work mostly with NestJS and TypeScript: modular, multi-tenant APIs on PostgreSQL and Prisma, JWT/OAuth/MFA authentication, Redis caching, and AI features such as conversational chat streamed over SSE, AI agents and a WhatsApp integration through Meta for vehicle search, financing simulations and proposals.

The parts I care about most are the ones nobody notices until they break: data models, third-party integrations, caching, deploy pipelines and observability. I ship with Docker and GitLab CI/CD on AWS, and use Datadog to understand what production is really doing.

Python is where I started — Flask APIs, automation, OCR and data processing — and I still use it alongside Node.js and .NET. Outside work I build complete products end to end, from Stripe payment flows to desktop apps, so every architectural decision is one I've had to live with.

Portrait of Luis Eduardo
Focus
APIs, integrations, distributed systems
Primary stack
NestJS · TypeScript · Python · .NET
Infrastructure
AWS · Docker · GitLab CI/CD · Datadog
Based in
Barueri, São Paulo, Brazil (UTC−3)
Languages
Portuguese (native) · English (C1, EF SET)

Experience

Where I've been shipping

  1. Backend Software Engineer · Laborit

    Feb 2022 — Present

    Backend development for internal products and platforms for large clients, with emphasis on scalable APIs, architecture, integrations, software quality and reliability.

    • Popmarq (Haigen Concierge Marketplace API): built backend services with NestJS, TypeScript, Prisma and PostgreSQL — modular architecture, several business domains and multi-tenant support — plus the live commerce module with streams, replays and live chat.
    • Implemented AI features: conversational chat with SSE streaming, AI agent integration and WhatsApp integration through Meta for vehicle search, financing simulations and proposal workflows.
    • Delivered JWT/OAuth/MFA authentication, Redis caching, external service integrations, AWS infrastructure, CI/CD pipelines and Datadog observability.
    • Santander Store and Santander Turbo Portals: backend for an internal marketplace used by thousands of Santander employees, plus features, bug fixes, performance work and BI indicators for a financing management system used by thousands of consultants.
    • Contributed to Cockpit, an LLM-powered platform for automated KPI analysis, and built the Django backend of the Laborit corporate website.
    • NestJS
    • TypeScript
    • Node.js
    • Python
    • Django
    • PostgreSQL
    • Prisma
    • Redis
    • AWS
    • Docker
    • GitLab CI/CD
    • Datadog
  2. Backend Software Engineer · Webmotors

    Jul 2022 — Oct 2024

    Worked on a team embedded at Webmotors, developing and maintaining APIs and applications for high-traffic digital products, with CI/CD, cloud infrastructure and Datadog observability.

    • 0 KM Vehicle Catalog: evolutions to specifications, comparisons and reviews — 499K visits, 15.4% week-over-week organic traffic growth and a 51.7% conversion rate in an A/B test for financing simulations.
    • FIPE Table: improvements to the vehicle price lookup — 1.5M visits, a 115.6% increase in lead generation and a 5.8% lower bounce rate.
    • WM1: improvements to the automotive content portal, which reached a record 1.8M visits.
    • Discover 0 KM Vehicles: platform evolutions that helped reach 102.8% of the semiannual organic audience growth target in May 2024.
    • Node.js
    • .NET
    • C#
    • AWS
    • Docker
    • Datadog
    • CI/CD
    • REST APIs
  3. Python Developer · IT Green Tecnologia

    Jul 2021 — Jan 2022

    Backend solutions, process automation, system integrations and data processing for clients.

    • Built REST APIs with Flask, scheduled jobs and automation workflows for administrative and operational processes.
    • Processed PDF and Excel files, manipulated data with Pandas and integrated MySQL and MariaDB databases.
    • Delivered web scraping and computer-vision/OCR solutions with OpenCV, Tesseract, PyAutoGUI and Pillow, and built PoCs for client presentations.
    • Python
    • Flask
    • Pandas
    • MySQL
    • MariaDB
    • OpenCV
    • Tesseract OCR
    • RPA
  4. Oracle / SQL Server Database Administrator · GEMPI

    Jun 2021 — Jul 2021

    Support and administration for Oracle databases.

    • Maintenance, security and availability of Oracle databases; SQL and PL/SQL routines; user, profile and permission management.
    • Backup and recovery monitoring, integrity checks and analysis of tables, indexes and database objects.
    • Oracle
    • PL/SQL
    • SQL Server

Earlier roles

  • Back Office · CSU BRSep 2020 — Mar 2021
  • IT Support Soldier · Brazilian ArmyMar 2019 — Mar 2020

Education

Technologist, Systems Analysis and Development

Impacta Tecnologia

2020 — 2021

Certifications

Selected work

Platforms I helped build for clients

Public products and internal systems from my work at Laborit and Webmotors. Screenshots and videos are from the real applications.

Laborit · Haigen Concierge Marketplace API

Popmarq

An AI-first vehicle marketplace: an infinite feed mixes offers, live streams, posts and collections; a concierge assistant re-filters the marketplace as it answers and can walk a real financing application through to approval; sellers go live; and a configurator narrows a model down to one year/version with a live price update.

  • 01

    AI concierge chat

    AI agents identify the buyer's intent, run a verification step and search vehicles while the marketplace re-filters beside the conversation — streamed over SSE on the web, with vehicle search, financing simulation and proposal flows on WhatsApp through Meta.

  • 02

    Live commerce

    Sellers go live and publish replays with a live chat and the vehicles featured in the stream, with video delivered through Mux.

  • 03

    Marketplace core

    A configurator narrows a model down to one year and version, updating price and specs live, then hands off to that trim's actual listings — on a modular, multi-tenant NestJS and Prisma backend with JWT/OAuth/MFA, Redis caching and Datadog on AWS.

  • 04

    Discovery: feed, collections and posts

    An infinite personalized feed blends offers, live replays, posts and reviews; curated brand collections and long-form posts with comments and reactions round out the social side of the marketplace.

  • 05

    Notifications that batch instead of flooding

    I built the notification engine around a Redis-backed debounce window: a burst of actions on the same content is grouped into one message, so thirty likes in half a minute reach the user as a single notification instead of thirty.

  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Redis
  • SSE
  • AI agents
  • WhatsApp (Meta)
  • Mux
  • AWS
  • Datadog

VideoAsking the AI concierge for a family SUV under R$ 150k: the agent identifies the intent and searches while the marketplace re-filters, then answers with options (edited to shorten the wait)

Laborit · Internal marketplace

Santander Store

“Lojinha Financeira”: the internal store where Santander Financeira employees redeem a points balance for uniform pieces — full order lifecycle, from browsing to a placed, tracked and cancellable order.

Highlights

  • Developed backend functionality for a marketplace used by thousands of Santander employees, including the order state machine (processing → under review → shipped → delivered) and cancellation flow.
  • Points-based checkout: balance, per-item cost and address are validated server-side before an order is confirmed, with a JADLOG-tracked shipping estimate attached to every order.
  • Worked on the platform's scalability, integrations and reliability.
  • Python
  • Django
  • Django REST Framework
Internal platform — no public access

Webmotors · 2022 — 2024

0 KM Vehicle Catalog

New-car catalog with prices, photos, technical specifications, version comparisons and owner reviews for the Brazilian market.

visits
499K
WoW organic traffic
+15.4%
A/B test conversion
51.7%

Highlights

  • Contributed to evolutions of specifications, comparisons and reviews on a high-traffic catalog.
  • An A/B test for financing simulations reached a 51.7% conversion rate.
  • Node.js
  • .NET
  • AWS
  • Docker
  • Datadog
  • REST APIs
Live site0 KM Vehicle Catalog

Webmotors · 2022 — 2024

FIPE Table

Vehicle price lookup comparing the official FIPE reference with Webmotors' own market average, by state, with price history for every version.

visits
1.5M
lead generation
+115.6%
bounce rate
−5.8%

Highlights

  • Contributed to improvements that more than doubled lead generation and lowered the bounce rate.
  • Price pages combine FIPE data, Webmotors averages per state, six- and twelve-month history and paths into live offers.
  • Node.js
  • .NET
  • AWS
  • Docker
  • Datadog
  • REST APIs
Live siteFIPE Table

Webmotors · 2022 — 2024

WM1

Webmotors' automotive news portal: reviews, comparisons, mobility, motorcycles and web stories, connected to the marketplace's offers.

record visits
1.8M

Highlights

  • Contributed to portal improvements that reached a record 1.8 million visits.
  • Content pages lead readers into Webmotors offers through an integrated vehicle search.
  • Node.js
  • .NET
  • AWS
  • Docker
  • Datadog
  • REST APIs
Live siteWM1

Laborit · Django

Laborit website

Laborit's institutional website: company story, the six service lines, in-house products (including Popmarq) and a lead-capture contact form, with content managed through a CMS.

Highlights

  • Built the complete backend in Django, including the APIs and integrations behind the portal.
  • The CMS drives every section shown here — services, product cards and the blog feed — without a redeploy.
  • Python
  • Django
  • REST APIs
Live siteLaborit website

Side projects

Products I built end to end

Solo projects — designed, built and shipped from database to deploy. Each one has a public repository with a detailed README.

Desktop app · Electron + node:sqlite

StorageWaiter

Pools the free cloud accounts you already have — Mega and Google Drive — into one virtual drive: drop a file in and it lands wherever has the most free space, then comes back byte-identical.

Highlights

  • Placement is race-free without a lock table: free space subtracts every in-flight job's reservation, and that reservation is written in the same transaction as the decision.
  • Crash recovery is proven by a test that kills the service mid-upload and rebuilds it over the same SQLite file, staging directory and fake cloud.
  • Two very different providers behind one interface — Mega password sessions and Google OAuth with PKCE and refresh rotation — with credentials encrypted through Electron safeStorage (DPAPI).
  • Electron
  • React
  • TypeScript
  • node:sqlite
  • Zustand
  • Vitest
DownloadStorageWaiterCodeStorageWaiter

Blog platform · NestJS + Next.js

Entrelinhas

A blog platform with a rich-text CMS, community features and RBAC, deployed as three services on Vercel, Render and Supabase.

Highlights

  • Versioned NestJS API with a RolesGuard for three roles and two independent anti-lockout rules.
  • Password-recovery tokens travel in the request body, never as a Bearer header, so a leaked link can't authenticate anywhere else.
  • Every upload is decoded and re-encoded to WebP with sharp; full-text search runs on Postgres tsvector.
  • NestJS
  • Next.js
  • TypeScript
  • Prisma
  • PostgreSQL
  • Supabase
  • Jest
Live siteEntrelinhasCodeEntrelinhas

AI song generator · Next.js + Stripe

Vira Canção

Turns a personal story into an original, sung song: AI-written lyrics the customer edits before paying, real card payments and a hybrid production pipeline.

Highlights

  • The charged amount is computed server-side; payment is confirmed independently by webhook or by re-reading the PaymentIntent from Stripe.
  • A duplicate-finalize race condition closed with a conditional UPDATE instead of a mutex.
  • Two lyric versions streamed in parallel as NDJSON, behind Turnstile and five stacked rate-limit layers.
  • Next.js
  • TypeScript
  • Supabase
  • Stripe
  • Cloudflare R2
  • LLM APIs
Live siteVira CançãoCodeVira Canção

Desktop app · Electron + Prisma

Study Tracker

Privacy-first desktop app to track study hours and online courses — no account, no cloud, every record in a local SQLite file.

Highlights

  • Fully typed IPC contract between renderer and main process, with the same Zod schemas validating on both sides.
  • Hand-rolled idempotent migration runner that takes a backup before touching the schema.
  • Checksummed ZIP backups (SHA-256 manifest) with a guided, module-by-module restore.
  • Electron
  • React
  • TypeScript
  • Prisma
  • SQLite
  • Zod
DownloadStudy TrackerCodeStudy Tracker

Data app · Python + Streamlit

Lottery Analyzer

Local-first analytics, ticket generator and checker for Brazil's eight national lottery games, fed by a resilient parallel sync of Caixa's public results API.

Highlights

  • Gap-aware sync computes missing contests as a set difference, so holes left by a rate-limited API are repaired on the next run.
  • Parallel downloads with exponential backoff and jitter that stop on purpose after repeated 429/403 responses.
  • Ships as a Windows app: pywebview window and Streamlit server in separate processes, tied together by a Windows Job Object.
  • Python
  • Streamlit
  • Pandas
  • SQLite
  • PyInstaller
DownloadLottery AnalyzerCodeLottery Analyzer

Dev tool · React + Playwright

markdownvizualizer

Local Markdown editor with live preview where “Export PDF” and “Print” produce identical output — useful for turning the .md files AI tools generate into documentation PDFs, without pasting internal documents into an unknown online converter.

Highlights

  • Export PDF drives a real headless Chromium through a small Vite plugin, so the file is vector text instead of a rasterized screenshot.
  • Print and PDF import the very same two stylesheets, so the two paths cannot drift apart.
  • Renders GFM, Mermaid, KaTeX, raw HTML and code through a single-pass highlighter; nothing ever leaves the machine.
  • React
  • TypeScript
  • Vite
  • CodeMirror 6
  • Mermaid
  • KaTeX
  • Playwright
Live sitemarkdownvizualizerCodemarkdownvizualizer

Engineering principles

What I hold every service to

01

Clean Architecture

Business rules kept apart from frameworks, transport and storage.

02

SOLID & DDD

Small, replaceable units inside modules that follow the business domain.

03

Security

Least privilege, validated input and trust decisions made on the server.

04

Testing

Automated tests on the paths that matter most: auth, payments, permissions.

05

Observability

Logs, metrics and traces so production questions have answers.

06

Performance

Measure first: queries and indexes before caching, caching before hardware.

07

Resilience

Retries with backoff, idempotent operations and graceful degradation.

08

Integrations

Third-party APIs wrapped with explicit timeouts, retries and error policies.

09

CI/CD

Reproducible pipelines with automated checks, migrations and safe rollbacks.

10

Containers

Docker images with parity between local, staging and production.

Skills

Tooling, grouped by the problem it solves

Highlighted items are my core stack today; the rest I've used in production or in shipped projects.

Backend

  • NestJS (Core stack)
  • TypeScript (Core stack)
  • Node.js (Core stack)
  • Python (Core stack)
  • Django
  • Django REST Framework
  • FastAPI
  • Flask
  • .NET / C#
  • REST APIs
  • SSE

Data

  • PostgreSQL (Core stack)
  • Prisma (Core stack)
  • Redis (Core stack)
  • MySQL / MariaDB
  • Oracle / PL/SQL
  • SQL Server
  • SQLite
  • Supabase

Cloud & DevOps

  • AWS (Core stack)
  • Docker (Core stack)
  • GitLab CI/CD (Core stack)
  • Lambda
  • ECS
  • S3
  • RDS
  • EventBridge
  • CloudFront
  • GitHub Actions
  • Linux

Quality & observability

  • Datadog (Core stack)
  • Automated testing (Core stack)
  • Jest
  • Zod
  • class-validator
  • Performance troubleshooting

Security

  • JWT / OAuth / MFA (Core stack)
  • RBAC
  • Rate limiting
  • Session revocation
  • Stripe webhooks

AI & automation

  • LLM integrations (Core stack)
  • AI agents (Core stack)
  • WhatsApp (Meta)
  • RPA
  • OCR (OpenCV, Tesseract)
  • Pandas
  • Web scraping

Architecture

  • Modular architecture (Core stack)
  • Multi-tenancy (Core stack)
  • Clean Architecture
  • SOLID
  • DDD
  • Event-driven design
  • RabbitMQ

Frontend & desktop

  • Next.js
  • React
  • Tailwind CSS
  • Electron
  • Streamlit

Core stack

GitHub

Public work

Live data from the GitHub API, refreshed every few hours.

Languages

@merino626
  • TypeScript67%
  • Python22%
  • JavaScript11%
Repos
13
Followers
18
Since
2020

Contact

Let's talk about your backend

Open to remote backend roles. Send a message and I'll get back to you.