Thiago Sanches
Backend
software
engineer
Node.js / TypeScript · NestJS · PostgreSQL
Backend services for large-scale enterprise systems, from solution design to the production release.
- 5 years
- on enterprise systems
- 70%
- less time per new report
- 50%
- less latency on GraphQL
Brazil · UTC−3 · open to international teams
Engineering with product context
A product of my own in production, from the database to the app, plus computer vision research completed at ICMC-USP.
- Venturus
- ·Johnson Controls
- ·Infraware
- ·ICMC-USP
- ·Facens
02Career
Career
The track covers the first job through the current position, with education in parallel. The detail below focuses on the three developer positions at Venturus.
- Jul to Sep 2020
Help Desk
Infraware, Sorocaba
- Oct 2020 to Jun 2021
Support Analyst, internship
Johnson Controls, Sorocaba
- Aug 2021 to Jun 2022
Java and Node Developer, internship
Venturus, Campinas
- Jun 2022 to Mar 2025
Junior Backend Developer
Venturus, Campinas
- Apr 2025 to present
Mid-level Backend Developer
Venturus, Campinas
Detail by position
Apr 2025 to present
Mid-level Backend Developer
Venturus, Campinas
Services in NestJS and GraphQL, from solution design to the production release.
- ResponsibilitiesDevelopment and maintenance of scalable backend services inside large-scale enterprise systems, from solution design through running the release and the deploy in each environment.
- Problems solvedShipping a new report cost too much time, because each team rewrote the spreadsheet generation. A generic module built on exceljs, negotiated with the teams that would use it, cut 70% off that implementation time. GraphQL queries returned more than they needed and weighed on the database, and the optimization cut over 50% of the response time and the resource usage. Exporting large files overloaded the application, solved by creating asynchronous worker processes backed by Redis queues.
- DeliveredA spreadsheet module adopted by other teams, unit and integration tests with Jest and Supertest, design patterns applied to legacy code, and a release process with branch management and versioning that aligns delivery across teams.
- TechnologiesNode.js, TypeScript, NestJS, GraphQL, Swagger, PostgreSQL, Redis, Docker, Jest, Supertest, Polly, Git.
- Node.js
- TypeScript
- NestJS
- GraphQL
- PostgreSQL
- Redis
- Docker
- Jest
Jun 2022 to Mar 2025
Junior Backend Developer
Venturus, Campinas
Hired into the backend team, in Node.js and NestJS, owning deliveries in the release cycle.
- ResponsibilitiesDevelopment and maintenance of backend services in Node.js and NestJS, with tasks owned end to end: implementation, testing, review and follow-through to the production environment.
- DeliveredUnit and integration test coverage with Jest and Supertest on the routines under maintenance, plus participation in Scrum ceremonies with estimation and code review.
- TechnologiesNode.js, TypeScript, NestJS, PostgreSQL, Jest, Supertest, Docker, Git.
- Node.js
- TypeScript
- NestJS
- PostgreSQL
- Jest
- Docker
Aug 2021 to Jun 2022
Java and Node Developer, internship
Venturus, Campinas
First enterprise backend work, in Java with Spring Boot and on the first Node services.
- ResponsibilitiesDevelopment and maintenance of backend services in Java with Spring Boot, plus the first Node.js services: new features, defect fixes and continuous improvement on a system already running in production.
- Problems solvedCode that was hard to read and extend, refactored with a focus on readability and scalability.
- DeliveredUnit and integration tests in JUnit, API documentation kept in Swagger, Git Flow versioning and pipeline follow-up with Docker.
- TechnologiesJava, Spring Boot, Node.js, PostgreSQL, JUnit, Swagger, Docker, Git Flow.
- Java
- Spring Boot
- Node.js
- PostgreSQL
- JUnit
- Docker
03Projects
Projects
Professional work sits under non-disclosure agreements, so what appears here are five personal and study projects. Each has its own page with the problem, the architecture, the technical decisions and the stack.

In production, on the web and on the App Store
01. Obly
A construction management SaaS in production, used on the web and through the iOS app downloaded from the App Store. A NestJS API over PostgreSQL serves a Next.js web app and an Expo mobile app, sold by subscription in three plans and built spec first: the product intent lives in a documentation repository that precedes the code.
- TypeScript
- NestJS
- TypeORM
- PostgreSQL
Open case study
Monograph completed, 58 pages
02. Diabetic retinopathy across datasets
A measurement of how much image preprocessing sustains the generalization of convolutional networks when a model trained on one fundus dataset is applied, without adaptation, to another. Six configurations, three preprocessing strategies across two architectures, trained on 35,126 images and evaluated on 1,744 from a different source.
- Python
- PyTorch
- torchvision
- OpenCV
Open case study

Published POC, fictional development
03. Digital twin of a housing development
An application where the 3D model of the development is the interface for browsing and reserving units, with three screens reading the same availability state and the reservation rule applied in a database transaction.
- Next.js
- React Three Fiber e three.js
- TypeScript
- PostgreSQL
Open case study
04. SmartHealth
An API and a web application that turn the lab's PDF into a per-metric history, with the reference range picked by the owner's sex and age, a body-composition target and a shareable slice behind a link and a password.
Open case study
05. Wallet
An end-to-end personal project built to study Open Finance APIs: a bank account connected through Pluggy brings in transactions and investment positions without typing, and the backend takes on the work of reconciling the statement, classifying and summarizing.
Open case study
04Method
How the work is done
What happens between teams, in code review and at deploy time.
Documentation as part of the delivery
Writing and reviewing technical documentation has been part of the job since support work. In my own product it became a method: business rules carry a CONFIRMED, TARGET or DEPRECATED status, and architecture decisions are recorded as ADRs, including the ones that were later reverted.
Code other teams reuse
The spreadsheet module at Venturus was designed as a generic piece and negotiated with the teams that would use it. That is what explains the 70% reduction, not the amount of code written.
Ownership of release and deploy
Running the release process, branch management and versioning on highly complex applications, with alignment across teams.
Estimation, priority and review
Participation in Scrum ceremonies with estimation, prioritization and code review. Review takes most of the attention, because disagreeing in a pull request costs less than disagreeing in an incident.
Discussing new demands with stakeholders and the engineering team
A new demand arrives described by the outcome it expects, not by the solution. The work is to draw it out with whoever asked, weigh it against technical constraints with the team, and come away with an implementable rule and acceptance criteria. That is what keeps the wrong feature from being built perfectly.
Portuguese and English
Professional working proficiency in English, applied in documentation, code and technical conversation.
Stack
Backend
NestJS and Express in production at Venturus. GraphQL and Swagger-documented REST. Spring Boot during the Java internship.
Data
PostgreSQL and MySQL, query optimization, Redis for asynchronous queues, TypeORM with versioned migrations.
Quality and delivery
Jest, Supertest and Polly. Docker, CI/CD, GitHub Actions and Git Flow. Clean Code, SOLID and DDD applied to legacy code.
Studies and interests
Study tracks and where each one has already been applied in a real project.
Computer vision and applied AI
Python, PyTorch, EfficientNet-B0, transfer learning, CLAHE, OpenCV and scikit-learn.
Applied in the MBA monograph: a cross-dataset protocol between EyePACS and Messidor-2, with 95% confidence intervals and the negative result published alongside.
Product and modern frontend
Next.js 16, React 19, React Native, Tailwind, Zustand, React Query and Stripe.
Applied at Obly: web for the office, an app for the job site and subscription billing, all on the same NestJS API.
3D graphics on the web
React Three Fiber, three.js, MapLibre GL and OpenStreetMap.
Applied in the digital twin of a housing development: 72 units in the scene, a 3D floor-plan cutaway and a neighbourhood map with routing.
Real time and asynchronous processing
Server-Sent Events, EventEmitter, workers backed by Redis queues and cross-tab sync with BroadcastChannel.
Applied in file exports at Venturus and in syncing the four screens of the digital twin.
Architecture and decision records
ADRs, DDD, SOLID, business rules versioned by status and API contracts in Swagger.
Applied in the Obly documentation repository, where the product intent lives separately from the code.
