Skip to content
Senior full-stack developer

Writing code stopped being the differentiator. What makes the difference is understanding the business behind it.

I look at a project from both sides: the business rule, the user, how the client reads the result. And I build it with an optimised workflow — process, structure and AI as part of it.

Ruby on Rails · NestJS · Hono · Next.js · React Native · Vite · Python · PostgreSQL · Turborepo

−73%
fewer support tickets after the AI pipeline I built
−30%
in travel cost across 70+ field routes after the routing work
40k+
offers monitored per hour across 100+ marketplaces
2,000+
paying users on a product I helped build
200
people on the waitlist of a product of my own, before any marketing
02Cases

Told by the decision, not by the stack

Each case follows the same shape: context, my role, the decision, the trade-off it carried, and the outcome. Clients are not named — restricted work is described by architecture and scale.

03Method

The part of the work that isn't code

Building is the last step. Most of what determines whether a project works happens before and around it — and each principle below points at something I actually did.

Verifiable AI loop
context
plan
verifiable units
review
final check is mine
01

AI as a process I can verify

Context comes before the prompt, work is broken into units that can be checked, and review happens in a loop. Generated code follows the architecture and the standards agreed at the start, and documentation is the point of truth for the flow. The final review is mine.

Support pipeline that cut tickets by 73%: user question → AI reads the context → checks the documentation → resolves it, or opens a ticket already summarised for me.

02

Talking to people who are not developers

A technical decision only means something when it is translated into cost, deadline and risk. At one point the product was too complex for the sales team to present on its own, so I joined the calls as the person who explains it.

Showing the flow in non-technical terms to leadership helped unlock large contracts with leading electronics and retail brands.

03

Architecture chosen by the constraint

Scale, dependencies, cost and trade-off come before the stack. Knowing many tools is useful mostly because it makes the choice possible.

OR-Tools on the routing VRPTW — see case 02.

04

I run the infrastructure I design

I like infrastructure and networking enough to keep my own self-hosted setup running. Operating it keeps my architectural decisions anchored in what actually has to be maintained.

Proxmox · TrueNAS · UniFi · 10GbE · RAID 10 · Home Assistant · Arduino · UPS

04About

Context, not biography

I am a senior full-stack developer. I joined my current company as an intern and moved through every level it has, which today means I am involved beyond development: product structuring, planning, prioritisation and conversations with clients and end users.

Alongside that work I build products of my own, always in areas I already know from the inside. Sport is the clearest example: I train, I study it, and Apex came out of using what I already understand as a practitioner to build something useful for other people.

I have been self-taught since I was a kid. I started studying quadcopters when there was nothing ready to buy, then networks, then servers — I built my own network and my own home server because I wanted to understand how they work, not because a job asked for it.

That habit keeps paying off in work that is not strictly development. Infrastructure is the clearest case: from the self-hosted setup at home to Fly.io, Vercel and AWS workers on my own projects, each thing I set up becomes something I can bring to the next problem.

05Experience

Where the work happened

in parallel
Products of my ownApex

Apex is a multi-sport training product with AI coaching, built in a domain I practise myself. Carrying it alone meant learning the surrounding pieces properly: hosting on Fly.io and Vercel, workers on AWS, background jobs on Trigger.dev, Supabase for fast auth and Postgres, Stripe for payments, transactional email, and analytics to follow what people actually do. Each of those comes back into the work I do for clients.

mar 2020 — now
Software engineerTracking Trade

I work across several products at once, which pushed a lot of structural work: consolidating services into a monorepo, standardising how new projects start, and automating parts of the operation that used to depend on someone being available. Price monitoring and field routing are the two largest pieces, and I also built the support pipeline that reads context and documentation before a ticket ever reaches a person.

jul 2018 — feb 2020
Full stackTracking Trade

The internship went well enough that I was moved to a full-stack position in a short period. From there I took part in most of the product front: the migration from AngularJS to React and from Ionic to React Native, plus new products and market features.

apr — jun 2018
InternTracking Trade
Product and web

Next.js · React · React Native · Expo · Vite · tRPC · Drizzle

Back end and data

Ruby on Rails · NestJS · Hono · Python · PostgreSQL · Supabase · Trigger.dev

Infrastructure and services

Kubernetes · Fly.io · Vercel · AWS · Google Cloud · Stripe · self-hosted: Proxmox, TrueNAS, UniFi

Education

BSc in Information Systems (UFPE) · Technical degree in Computer Networks (ETEMAC)

06Contact

Two paths, zero friction

If you are hiring for a project, tell me the business problem. If you are recruiting, the CV carries the same numbers as this page.