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
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.
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.
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.
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.
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.
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
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.
Where the work happened
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.
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.
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.
Next.js · React · React Native · Expo · Vite · tRPC · Drizzle
Ruby on Rails · NestJS · Hono · Python · PostgreSQL · Supabase · Trigger.dev
Kubernetes · Fly.io · Vercel · AWS · Google Cloud · Stripe · self-hosted: Proxmox, TrueNAS, UniFi
BSc in Information Systems (UFPE) · Technical degree in Computer Networks (ETEMAC)
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.