Blog

Artigos

Textos longos da nossa equipe. Engenharia, produto e novidades da empresa.

  • Product

    Seus webhooks não deveriam confiar na URL que receberam

    O webhook é o único recurso em que o cliente digita um endereço e os seus servidores vão lá chamá-lo. O que construí para os webhooks do Kookee e para as integrações com Slack, GitHub e Jira, e oito coisas que quem envia webhooks precisa acertar.

  • oauth

    Seu servidor MCP não deveria obrigar as pessoas a colar um token

    O servidor MCP do Kookee funcionava bem com tokens pessoais, desde que você vivesse no terminal. Os apps de chat do Claude e o ChatGPT se conectam fazendo login. O que lancei para que eles possam se conectar, e as sete decisões que levaram mais tempo que o código.

  • headless-cms

    Os componentes React do seu CMS não deveriam buscar os próprios dados

    A maioria dos kits de componentes de headless CMS envolve seu app num provider e busca os dados dentro dos componentes. Com Server Components, isso tira o conteúdo do primeiro HTML, envia JavaScript para listas estáticas e manda os artigos duas vezes. As seis regras que segui nos componentes do Kookee.

  • Engineering

    O React 19 reescreve seu dangerouslySetInnerHTML a cada renderização

    Um objeto { __html } inline faz o React 19 substituir todo o HTML de um elemento sempre que o pai renderiza de novo. Descobri isso por causa de um índice que travava no último título. Por que acontece, o que quebra e a correção de uma linha.

  • pagination

    A paginação do seu blog provavelmente esconde posts do Google

    Botão “Carregar mais”, paginação guardada no estado, todas as páginas com a canonical apontando para a primeira, noindex na página dois: quatro jeitos comuns de a paginação esconder dos buscadores os posts antigos do blog, o que fazer em vez disso e uma checklist.

  • security

    Seu link de convite é uma senha que você colou no Slack

    Ao mandar um link de convite para alguém, você entrega uma credencial que funciona para qualquer pessoa que um dia a veja. O que esse link precisa ter antes de ser seguro colá-lo num canal, e as decisões por trás do link do Kookee.

  • ai-agents

    Seu servidor MCP não deveria usar uma chave de API compartilhada

    Quando um assistente de IA altera o seu conteúdo por um servidor MCP, a primeira pergunta é quem fez isso. Uma chave compartilhada do projeto não responde a isso, e não dá para revogá-la só para uma pessoa. O que coloquei no lugar dela e os seis detalhes que fizeram diferença.

  • Engineering

    Por que o seu widget de chat ignora o botão de modo escuro

    O seu site tem um botão de modo escuro. O widget de suporte no canto ignora esse botão. Por que widgets incorporados erram o tema — a media query do sistema, o shadow root, a remontagem — e o que um widget precisa oferecer para o seu não errar.