About
I'm Bernardo. I build the software behind the idea.
I'm a software developer from Brazil. I build web applications, internal tools and the systems behind them — and I got here the direct way: I wanted to make things on the web and refused to stop at the surface. Curiosity about interfaces turned into interest in everything that has to work for those interfaces to exist at all.
The part of building I care most about is where product meets engineering. Whether a data model makes the next feature cheap or expensive. Whether an API fails loudly or silently. Whether an interface feels inevitable or merely functional. I don't think those are separate concerns — they're the same concern, seen from different distances.
I don't have fifteen years of experience, and I won't pretend otherwise. What I have is a habit: taking technical problems seriously — reading the docs, testing the assumption, staying with the problem until it's actually solved, not until it stops being my turn.
What I work with
- Interface
- ReactNext.jsTypeScript
- Backend
- Node.jsNestJSJavaGo
- Data
- PostgreSQLPrismaTypeORMSupabase
- Infrastructure
- DockerKubernetesGrafana
What I believe
The boring parts are the product
Data models, migrations, failure states, empty screens. Users never praise them — but everything they love sits on top of them.
Small scope, real quality
One complete, solid thing beats five approximate ones. Cutting is a skill, not a compromise.
Types are the first draft
Before components or endpoints, I write the types. If the domain reads clearly, the implementation almost writes itself.
Learn in public
Experiments, writing and open source keep me honest — explaining something exposes the parts I only pretended to understand.
Currently exploring
- Distributed systems — the patterns behind reliable services
- Go for backend services and tooling
- Kubernetes and the operational side of running software
- Observability — metrics and traces that explain production behavior
This site as evidence
This portfolio is a small case study of how I work: Next.js with strict TypeScript, a typed interactive briefing, self-hosted on a VPS with nginx, systemd, Let's Encrypt and CI/CD with quality gates and health checks. A small system — built the way I'd build yours.
Currently
Based in Brazil, working with clients anywhere. available for new projects — the fastest way to start is the briefing below.
Have a problem that sounds like one of these stories?
Let's talk about it