Skip to main content

Claude Code na prática — guia real para desenvolvimento de software

· 14 min read
Bruno Carneiro
Fundador da @TautornTech
Claude Code na prática para desenvolvimento de software

Nos últimos meses eu tenho usado o Claude Code de forma intensiva no meu trabalho e em projetos pessoais. Não é hype — é ferramenta de trabalho mesmo. E como toda ferramenta, tem jeito certo de usar, tem armadilha, tem limite, e tem combinação com outras coisas que muda o jogo.

Esse artigo é um relato honesto. O que funcionou, o que não funcionou, o que aprendi na mão, e o que eu diria pra qualquer dev que está começando agora. Se você quer o papo de marketing de "IA vai substituir programadores", esse artigo não é pra você. Se quer saber como tirar o máximo disso sem perder a cabeça, continua lendo.

TensorFlow.js — Rodando IA direto no browser

· 9 min read
Bruno Carneiro
Fundador da @TautornTech

Machine learning sempre pareceu algo distante do frontend — Python, servidores potentes, GPUs caríssimas. Mas isso mudou. Hoje é possível rodar um modelo de IA treinado diretamente no browser, com zero backend, usando JavaScript puro e a GPU do próprio usuário.

Este artigo explica como isso funciona na prática, usando o TensorFlow.js como base — e como apliquei isso em um projeto chamado SeeFood, um classificador que resolve o maior problema da humanidade: saber se o que você está prestes a comer é um hot dog ou não.

RLS (Row Level Security) — o muro que seu banco precisa e que quase ninguém levanta

· 9 min read
Bruno Carneiro
Fundador da @TautornTech
Ilustração representando Row Level Security protegendo dados por linha no banco

Existe um tipo de bug que não trava o build, não aparece no log, não cai no Sentry, mas mata o teu produto do dia pra noite: o usuário A abrindo a aplicação e vendo — do nada — dados do usuário B. Transação, saldo, CPF, endereço, o que for. E o pior: em quase todos os projetos onde vi isso acontecer, o problema não era "um bug" no código. Era ausência total de RLS no banco.

Hoje quero falar de Row Level Security, que é literalmente o muro que separa o dado de um usuário do dado do outro — dentro da própria tabela.

Detectando imports circulares com Madge (e travando regressões no lint)

· 9 min read
Bruno Carneiro
Fundador da @TautornTech
Diagrama ilustrativo de um ciclo de imports entre módulos TypeScript

Quem já passou horas caçando um undefined no meio de um bundle ou um comportamento estranho em produção sabe como uma corrente de imports mal resolvida pode virar dor de cabeça. Um dos culpados frequentes é o import circular: o módulo A importa B, B importa C, e em algum lugar da cadeia alguém importa de novo o A — fechando um ciclo.

Isso é uma maravilha, o build funciona, o projeto roda local mas na hora de subir da pau! \o/

Eu já vi isso em projeto pequeno e em projeto grande; a diferença é só o tamanho do problema que você vai enfrentar. Da pra ver a dor de cabeça com o Madge e isso salva vida!

Pra travar o typescript é uma beleza circular import.