Software Developer experienced in backend, frontend, and mobile development, specializing in performance, high-volume data processing, and scalable application architecture.
About
Software that scales under pressure
Software Developer with over six years across frontend, backend, and mobile development — specializing in performance, high-volume data processing, and scalable application architecture.
I build complex interfaces and optimize critical flows: API integrations, asynchronous processing, data visualization, maps, reports, and dynamic forms in applications that handle a high volume of information.
I also work in technical leadership — collaborating with clients and multidisciplinary teams, defining business rules, and driving continuous product improvement.
Domains I have worked in
☀️ Solar park inspection
🎓 Public education
🌱 Sustainable tourism
✈️ Travel agency systems
👁️ Computer vision
📊 Real-time dashboards
🏢 Corporate applications
Languages
JavaScript
TypeScript
Python
C#
Dart
PHP
Experience
Technical leadership, throughput, and production products.
Six years delivering software that reaches production — from Brazil to Portugal, in teams I have led and systems that needed to withstand real scale.
👥 Front-end team leadership
🌍 Brazil & Portugal
🚀 Production systems
⚡ Performance & scale
☀️
Oct 2024 — PresentCurrent
Lead Front-end Developer
Marttech
Technical leadership for the front end of solar park inspection systems — critical high-volume flows that keep the main thread responsive and RAM under control.
Parallel pipeline with Web Workers: 50k+ paired thermal/RGB images uploaded to Azure Blob, 5× faster
Migrated maps from Mapbox to Azure Maps with a custom visible-coordinate algorithm (lower cost, better performance)
Thermal image editor: area selection, temperature measurement, and anomaly reporting
Led the front-end team for a public education system used by a city hall in Bahia
React
TypeScript
⚙️ Web Workers
Azure
📡 SignalR
✈️
Apr 2023 — Jul 2024
Full-stack Developer
Quantico Solutions · Lisbon, Portugal
Contributed to six projects of varying sizes, collaborating closely with clients to define business rules.
SIAV — Integrated Travel Agency System (Angular + C#)
Monitur — Decision Support System for sustainable tourism, live in production (VueJS + Python)
Angular
C# · Blazor
VueJS
Python
👁️
Feb 2022 — Aug 2022
Front-end Developer
Hive (COLMEIA Computer Vision)
Real-time dashboard for data collected by artificial intelligence, sent over WebSocket and processed in the client with custom JavaScript functions.
Angular
🔌 WebSocket
⚡ Realtime
🧩
2018 — 2024
Full-stack Developer
Freelance
End-to-end applications — including inventory systems — using relational (MariaDB) and non-relational (MongoDB) databases.
Node.js
MariaDB
MongoDB
Articles
Technical notes, product, and opinions written without softening the reasoning.
BemtvJS is my most important and recent project. It took many months of work
and was, without a doubt, a project of great difficulty. While building the
library, I had to make design decisions to keep the Bemtv API easy to use.
During development, I had to create a reconciliation algorithm, an SPA router,
a custom markup language (similar to HTML), an integrated way to use CSS-in-JS,
DOM event handling, and API documentation in Portuguese and English. I could
list many more things because it was certainly my most challenging project, and
I am very happy with its current result.
Over the past few years, I have deepened my JavaScript knowledge, and a
question recently came to mind: how do I know whether I am truly good at
JavaScript?
The question is not whether I am a good developer or programmer, but how far I
have come in a particular language.
The answer…
The answer is: it depends. It depends on your benchmark, because that decides
what you consider to be “good”.
Still, we can use an analogy and compare learning a programming language with
learning a spoken language.
Every language learner dreams of pronouncing and knowing the words of a given
language like native speakers. Yet even native speakers do not know every word
or every way a sentence can be formed.
But most of the time, when native speakers hear or read words in their
language, they recognize them quickly, even when they do not know exactly what
they mean.
Returning to programming languages, I believe a programmer has reached a good
or “native” level in a language when they do not feel confused or lost upon
seeing something new in that language. Even without knowing exactly what is
happening, they should have a basic idea and feel comfortable.
Conclusion
That is how I like to think about it today, because defining levels is simply
not necessary.
We can test this reasoning by looking at a block of code in an unknown language
and then another in our favorite language. Of course, your skills may help you
understand both, but code in an unfamiliar language can still feel as though
you are not speaking your native language.
December 27, 2022
BlowUpX
BlowUpX was my first game. While building it, I used my own animation library,
wide-smile, which made it special.
Throughout the development process, I learned how to build rules for game
dynamics, work with animations after specific user events, and handle
responsiveness so the game would be playable on any device. This project also
asked for creativity: I wanted to make something simple but innovative. I was
happy with the result.
Recently, during a conversation in a group of developer friends, a question
came up: could a super AI “take” programmers’ place in the job market?
To get a sense of how “super” that AI would need to be, imagine combining the
most powerful tools and AI systems currently available — the very ones you are
used to using. It would certainly be powerful.
My answer…
I begin with a question: at the company where you work, whether you are junior
or senior, is your only responsibility to sit in a chair and write code?
A programmer is similar to an architect and, as such, is important to what is
being built. They usually go beyond code: they take part in planning, follow
execution, and help make decisions according to the project’s needs.
Conclusion
I see these “tools” literally as tools that help, or will help, developers be
more productive, or that address a specific problem that can be automated. Even
with a “Super AI”, I do not see the world of programmers being shaken by that.
In fact, automating certain tasks leaves developers more time to focus on truly
important things, such as code quality, tests, and new features. That helps us
build amazing software and keep it sustainable over time.