> Hello! I'm Thiago Dias 👨🏻💻
I'm a Software Engineer based in Brazil,
with 10+ years designing, building and delivering software.
AI-Native Engineer · Fullstack & Cloud · End-to-End Ownership
As a Software Engineer, coding has been only part of the journey - even more now in the AI era. I believe that ownership of product flows end-to-end is where the real value of an engineer lies.
So, daily I gather requirements with stakeholders, make architecture decisions (benefits x trade-offs), guide the implementation (using AI agents, sure), and validate the delivery.
AI agents is a crucial part of how I deliver software nowadays. And more than ever, the good old SDLC keeps being important:
- I look up the requirements with POs, PMs, and so on.
- Then I design the architecture.
- Break it down into small testable tasks.
- Hand them over to coding agents (with tests, etc).
- Review their output and validate the delivery.
Architecture decisions and technical accountability remain with me.
It's a work in progress, literally. I've been working on personal projects where I rely on RAG architecture (semantic search, hybrid, reranking, etc) and put LLM APIs into the process.
I will soon share the links of these projects.
Over the years I've been working mostly with these technologies and their popular frameworks, but I'm not limited to them.
My core backend stack is Node.js, TypeScript and AWS serverless, complemented by Python, Redis and IaC with Terraform and CDK.
In the frontend, React/Next.js and their popular libraries (Redux Toolkit, TanStack Query, TailwindCSS, etc).
And lastly, CI/CD: GitLab CI, GitHub Actions, and a little of Argo CD also.
A distributed systems case study implementing shared per-client rate limits across three API instances with a load balancer in the front.
The project connects requirements to architecture decisions: shared atomic counting, fixed-window trade-offs, fail-open behavior, and Redis connection failure and recovery. ADRs explain the alternatives and operational limits.
Automated tests run concurrent requests, client isolation and Redis connection failure.
Tech: Redis, Nginx, and Docker Compose.
A deployment-tested AWS Lambda service template with strict TypeScript, CDK infrastructure, Powertools observability and GitHub Actions deployment through OIDC.
I defined the architecture, environment separation and quality gates, directed coding agents through implementation and review, and validated the template by deploying it to a real AWS account.
An end-to-end RAG application with Next.js, OpenAI and ChromaDB, covering document ingestion, chunking, embeddings, retrieval, tool calling and answers linked to source documents.
The repository documents the implementation and its limitations, including the changes needed to move beyond a local learning environment.
I'm open to international remote opportunities and conversations about engineering, product challenges and building reliable systems.
Outside work, I enjoy playing some synth/piano and gaming. 😎 🎹 🎮
