Samuel Caetité // Senior Software Engineer

Engineering to understand, solve and multiply.

I turn complex context into sustainable software, connecting product, architecture, and people to deliver without losing the ability to evolve.

RoleSoftware Engineer

Recent contextsVivo · Americanas · CNN · USP

FocusProducts · Modernization · Applied AI

KPIs that actually matter

1 principle I won't compromise on

Technology in service of people.

  • 7 yearsbuilding products and platforms
  • 2 continentsAmericas and Europe
  • 30+ projectsacross professional contexts

Before the code

Before the solution, there is context.

People feel the problem. Product translates an intention. Business creates consequences. Systems carry dependencies, constraints, and previous decisions. Understanding is not waiting to know everything. It is knowing enough to decide consciously.

  • People
  • Product
  • Business
  • System
  • Constraints

Product × Engineering Sometimes both sides had a point. First, the torches had to come down.

Case 01 · Saveadd

Modern technology does not make a system modern.

The product already used React. Even so, class components, concentrated responsibilities, and an interface that was hard to evolve showed that adopting current technology does not complete modernization.

Transformation happened progressively: understanding existing behavior, reorganizing components, adopting Hooks where they made sense, and preserving what still worked well.

Modernization is not replacing the stack. It is restoring the system's ability to evolve.
  • ContextReact with class components
  • InterventionProgressive reorganization and Hooks
  • CriterionPreserve what still fulfilled its purpose

1.457 km · 26h Laptop on my lap, the open road, and curiosity. That's how Meteor.js entered my toolkit.

Case 02 · E-commerce

“It can't be done” does not end the analysis.

Campaigns and experiences often arrived with intentions that seemed incompatible with the platform, timeline, or stability. Constraints were not ignored, but they did not become an automatic veto either.

Intent comes first. Then constraints, alternatives, cost, and risk. Technically possible does not necessarily mean viable, responsible, or desirable. Sometimes the final recommendation is still no.

Creativity is engineering, too.
  • InputCampaign intent
  • AnalysisPlatform · timeline · stability
  • DecisionCost · risk · viability

1 year of experience The expectation was already senior. My experience had to catch up.

Case 03 · VCASOFT · Vivo / Telefónica

Transformation does not mean destroying what already exists.

An active operation distributed across South America and Europe brought together users, dependencies, and technologies from different generations. Stopping everything and starting over was not an option.

Modernizing meant understanding critical flows, building bridges, and replacing parts progressively while operations continued.

Contextual constraint operational continuity

  • ScaleSouth America and Europe
  • ContextTechnologies from different generations
  • StrategyProgressive replacement while operations remain active

Sometimes contributing to the team meant writing code. Sometimes it meant translating the meeting.

Independent products

Products that remain in use and keep evolving.

Independent projects with their own context, open source code, and, where available, a product page to explore before entering the repository.

SessionDeck for Firefox with isolated sessions
02Firefox extension

SessionDeck

Open the same website in isolated sessions, preserving each identity's accounts, cookies, and context in native Firefox Containers.

  • Firefox Containers
  • JavaScript
  • WebExtensions
Mail Orchestrator message composition screen
03Local-first

Mail Orchestrator

Compose, template, send, and track replies through Gmail while keeping messages, attachments, and credentials under local control.

  • Python
  • FastAPI
  • SQLite
  • Gmail API
  • Docker
Job Watcher dashboard with highlighted opportunities
04Local automation

Job Watcher

A local dashboard that monitors career pages, identifies new opportunities, and preserves history.

  • Python
  • FastAPI
  • SQLite
  • Playwright
  • Docker
View code
GitPersona desktop app welcome screen
05Desktop

GitPersona

A desktop app for managing Git identities and GitHub accounts without manually editing configuration, with tokens protected by the system keychain.

  • Tauri
  • Rust
  • React
  • TypeScript
  • GitHub OAuth
View code
TrueStreak homepage about consistency and progress
06Fitness product

TrueStreak

Workout tracking with gamification that values real effort. An experience built to encourage consistency without turning difficult days into failure.

  • React
  • Vite
  • Firebase
  • Cloud Functions
  • SCSS
View code
07Build system

Site Forge

A modular build system for static landing pages, with compilation, image optimization, cache busting, and SEO automation from the first delivery.

  • Node.js
  • SCSS
  • esbuild
  • Sharp
  • BrowserSync
View code

The pattern

The problems changed. The pattern began to repeat.

Context before the answer

People feel the problem. Product translates an intention. Business creates consequences.

  • People
  • Product
  • Business
  • System
  • Constraints

Decision before delivery

Technically possible does not necessarily mean viable, responsible, or desirable.

  • Architecture
  • Integration
  • Cost
  • Risk
  • Teamline

Capability after delivery

An intervention can leave behind tools, knowledge, autonomy, and better conditions for the next decision.

  • Documentation
  • Automation
  • Knowledge
  • Autonomy
  • Team

A new way of working

My execution capacity increased.
My responsibility did not decrease.

Research, implementation, review, and testing no longer depend on a strictly linear sequence. Agents expand what can be done; context, judgment, safety, and technical decisions remain human responsibilities.

01Context and hypothesishuman responsibility

02Research · implementation · review · testsamplified execution

03Judgment and decisionhuman responsibility

Capacity to evolve

Scale is not only about machines.

An intervention can deliver a feature. It can also leave behind tools, knowledge, autonomy, and better conditions for the next decision.

No onboarding I cleared the trail alone. When three people arrived, they didn't stumble in the same places.

  • 01Systems
  • 02Processes
  • 03Knowledge
  • 04Tools
  • 05Autonomy
  • 06Collective capacity

People, knowledge, and team

The work does not end when the code works.

Explaining decisions, documenting context, reviewing, pairing, and teaching reduce dependence on individual knowledge. Technical leadership also happens through work that makes other people more autonomous.

  • 01Shared context
  • 02Explainable decisions
  • 03Useful documentation
  • 04Pair programming
  • 05Code review
  • 06Teaching and autonomy

Few days left, weeks of work An open Meet call all weekend. No one had to figure it out alone.

Experience as evidence

The same way of working, in different contexts.

Tools change. Judgment remains.

Current

VCASOFT

Senior Software Engineer · Vivo / Telefónica, Tecidos Kite, and Feeagro

2024

Quality Digital · Americanas

FastStore, technical discovery, and architecture

2024

CNN Brazil

WordPress VIP, consolidation, and election coverage

2021 to 2023

DRIVEN.CX

Large-scale e-commerce, integrations, and technical leadership

2021 to 2022

University of São Paulo

Educational product from discovery to production

2020 to 2021

Vorttex

Web, mobile, product, and enterprise platforms

2017 to 2020

Saveadd · React Legends · Habits

Foundations, modernization, teaching, and the beginning of the journey

Back to the beginning

In the end, it is still about people.

Software development is human, too.

I enjoy interesting problems and good people to solve them with.

Let's talk

Tell me a little about what brought you here.

WhatsApp

Provide at least one: email or WhatsApp.