Hi, I'm

Guilherme Moraes

Senior Software Engineer

I build frontend systems that hold up over time. My focus is Next.js, TypeScript, and making the architectural calls that keep teams from slowing down.

How I think

The code is not the product. The solution is.

Messy code is not always a sign of bad decisions. Sometimes it was the right call at the time. I refactor when it starts slowing people down, not because it bothers me aesthetically, but when it is worth it and it gives the team more confidence to move.

How I decide

I default to simple

Complexity is a cost. I add it only when there is a clear reason for it, and I make sure that reason is documented. Most of the time, simple is enough.

How I ship

I own what I put out

The code has to be easy to read, understand, and change without having to find me first.

How I collaborate

I want the people around me to do well

I get more satisfaction from unblocking someone than from shipping something alone. A team that moves well is worth more than any individual output. Code is written by people for people, and clarity is what makes that work.