[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-broke-stack\u002F:pt":3,"\u002Fblog\u002Fcloudflare-broke-stack\u002F-surround:pt":283,"blog-all-posts:pt":284},{"id":4,"title":5,"author":6,"body":10,"date":265,"description":266,"extension":267,"image":268,"locale":269,"meta":270,"minRead":271,"navigation":272,"original":273,"path":274,"pinned":273,"seo":275,"source":276,"sourceUrl":23,"stem":277,"tags":278,"updated":268,"__hash__":282},"blog\u002Fblog\u002Fcloudflare-broke-stack.pt.md","Melhores práticas de dev independente em 2026: o combo \"pobretão\" da Cloudflare",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":251},"minimark",[13,28,36,41,158,162,167,170,174,177,181,184,206,210,213,217,237,241,244],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Post fixado, original no ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[25],"nofollow","X",", 40 mil+ visualizações.",[17,29,30,31,35],{},"Melhores práticas de dev independente em 2026: o ",[32,33,34],"strong",{},"combo \"pobretão\" da Cloudflare",".",[37,38,40],"h2",{"id":39},"a-stack-de-uma-olhada","A stack de uma olhada",[42,43,44,60],"table",{},[45,46,47],"thead",{},[48,49,50,54,57],"tr",{},[51,52,53],"th",{},"Etapa",[51,55,56],{},"Escolha",[51,58,59],{},"Custo",[61,62,63,75,86,97,107,118,128,138,148],"tbody",{},[48,64,65,69,72],{},[66,67,68],"td",{},"Escrever código",[66,70,71],{},"Codex",[66,73,74],{},"Assinatura",[48,76,77,80,83],{},[66,78,79],{},"Controle de versão",[66,81,82],{},"GitHub",[66,84,85],{},"Grátis",[48,87,88,91,94],{},[66,89,90],{},"Pagamentos",[66,92,93],{},"Stripe",[66,95,96],{},"Comissão por transação",[48,98,99,102,105],{},[66,100,101],{},"Frontend",[66,103,104],{},"TanStack Start",[66,106,85],{},[48,108,109,112,115],{},[66,110,111],{},"Backend",[66,113,114],{},"Hono + Cloudflare Workers",[66,116,117],{},"Franquia grátis",[48,119,120,123,126],{},[66,121,122],{},"Deploy",[66,124,125],{},"Cloudflare Pages",[66,127,85],{},[48,129,130,133,136],{},[66,131,132],{},"Banco de dados",[66,134,135],{},"Cloudflare D1",[66,137,117],{},[48,139,140,143,146],{},[66,141,142],{},"Armazenamento",[66,144,145],{},"Cloudflare R2",[66,147,117],{},[48,149,150,153,156],{},[66,151,152],{},"Cache \u002F Config",[66,154,155],{},"Cloudflare KV",[66,157,117],{},[37,159,161],{"id":160},"por-que-essa-combinação","Por que essa combinação",[163,164,166],"h3",{"id":165},"codex-escreve-o-código-toca-o-full-stack","Codex: escreve o código, toca o full-stack",[17,168,169],{},"Programação com IA já é a ferramenta de produtividade padrão do dev independente. O modo Agent do Codex comprime a cadeia \"necessidade → código → teste → deploy\" ao máximo: uma pessoa faz o trabalho de um time.",[163,171,173],{"id":172},"frontend-tanstack-start-backend-hono","Frontend TanStack Start + backend Hono",[17,175,176],{},"O TanStack Start é um framework React full-stack, com ótima compatibilidade com o ecossistema Workers. No backend, Hono — um framework enxuto feito para Workers: rotas, middlewares e inferência de tipos gostosas demais, leve e startup rápido.",[163,178,180],{"id":179},"banco-d1-storage-r2-cache-kv","Banco D1 + storage R2 + cache KV",[17,182,183],{},"Esse trio é o coração da franquia grátis da Cloudflare:",[185,186,187,194,200],"ul",{},[188,189,190,193],"li",{},[32,191,192],{},"D1",": banco relacional compatível com SQLite; a franquia grátis sobra para projetos pessoais",[188,195,196,199],{},[32,197,198],{},"R2",": object storage compatível com S3, 10 GB grátis e taxa zero de egress — isso sozinho atropela a AWS",[188,201,202,205],{},[32,203,204],{},"KV",": armazenamento chave-valor distribuído globalmente, ótimo para config, cache e sessão",[163,207,209],{"id":208},"deploy-pela-pages-infraestrutura-100-grátis","Deploy pela Pages + infraestrutura 100% grátis",[17,211,212],{},"A Pages se conecta direto ao repositório do GitHub: push já é deploy, com CDN e HTTPS embutidos. Domínio, DNS e CDN, tudo tocado pela Cloudflare de ponta a ponta, e a franquia grátis sustenta uma linha de produtos inteira.",[37,214,216],{"id":215},"o-núcleo-da-estratégia-pobretão","O núcleo da estratégia \"pobretão\"",[185,218,219,225,231],{},[188,220,221,224],{},[32,222,223],{},"Esmagar a franquia grátis até o limite",": DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — se é grátis, coloca pra jogo",[188,226,227,230],{},[32,228,229],{},"Se der pra sair de graça, não paga",": a assinatura vai só no ponto que importa (Codex); o resto é infraestrutura grátis",[188,232,233,236],{},[32,234,235],{},"Uma plataforma resolve tudo",": sem ficar pulando entre várias nuvens, menor carga mental de operação",[37,238,240],{"id":239},"para-quem-serve","Para quem serve",[17,242,243],{},"Devs independentes com orçamento apertado que querem validar produto rápido; gente do AI Coding que não quer gastar muita energia com infraestrutura; e todo projeto \"primeiro a gente faz rodar, depois a gente vê\".",[17,245,246,247],{},"A Cloudflare é o bodisatva cibernético do dev independente. Sem tirar um tostão do bolso, você bota o produto de pé completo. Detalhes: ",[21,248,250],{"href":249},"\u002Fblog\u002Ffree-cloudflare","como espremer a Cloudflare até a última gota, no free tier",{"title":252,"searchDepth":253,"depth":253,"links":254},"",2,[255,256,263,264],{"id":39,"depth":253,"text":40},{"id":160,"depth":253,"text":161,"children":257},[258,260,261,262],{"id":165,"depth":259,"text":166},3,{"id":172,"depth":259,"text":173},{"id":179,"depth":259,"text":180},{"id":208,"depth":259,"text":209},{"id":215,"depth":253,"text":216},{"id":239,"depth":253,"text":240},"2026-06-15","Stack de custo zero para devs independentes: Codex escreve código, GitHub cuida da versão, Stripe recebe o dinheiro; front em TanStack Start, backend com Hono + Workers, banco D1, storage R2, cache KV — tudo rodando na Cloudflare.","md",null,"pt",{},6,true,false,"\u002Fblog\u002Fcloudflare-broke-stack",{"title":5,"description":266},"x","blog\u002Fcloudflare-broke-stack.pt",[279,280,281],"Cloudflare","Desenvolvimento independente","Stack tecnológica","17kuE25Ut9VsOu1DXK9wTU-vMYqFzH--gprV1QwqguM",[268,268],[285,293,295,304,311,316,323,331,339,345,352,361,368,376],{"path":286,"title":287,"description":288,"date":289,"minRead":271,"tags":290},"\u002Fblog\u002Fagent-harness-selection","Testei Pi Agent, OMP, Codex, ZCode — no fim escolhi OpenCode + OpenChamber","Retrospectiva da escolha de Agent Harness: critérios de experiência GUI, vendor lock-in e liberdade de customização que eliminaram Pi Agent, OMP, Codex e ZCode, para no fim escolher o núcleo OpenCode + a interface OpenChamber.","2026-08-06",[291,292],"AI Agent","Escolha de ferramenta",{"path":274,"title":5,"description":266,"date":265,"minRead":271,"tags":294},[279,280,281],{"path":296,"title":297,"description":298,"date":299,"minRead":271,"tags":300},"\u002Fblog\u002Fdeepseek-api-web-search","Busca na web embutida na API do DeepSeek — Responses API de graça com busca oficial","O DeepSeek embutiu busca na web na API oficial: é só chamar o deepseek-v4-flash pelo endpoint Responses declarando a ferramenta web_search, sem integrar buscador de terceiros e sem pedir chave de busca.","2026-08-05",[301,302,303],"DeepSeek","API","Ferramenta de IA",{"path":305,"title":306,"description":307,"date":299,"minRead":308,"tags":309},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash oficial — experiência aprofundada: barato, rápido, 1M de contexto, busca embutida","Dias de uso intenso do DeepSeek V4 Flash oficial: barato ao extremo, rápido que dá gosto, 1M de contexto, busca na web oficial embutida e totalmente open source. O único senão é multimodal — mas dá para cobrir combinando com outros modelos.",7,[301,310,303],"Review de modelo",{"path":249,"title":312,"description":313,"date":265,"minRead":314,"tags":315},"Como usuário gratuito, como espremer a Cloudflare até a última gota — até onde o free tier realmente grátis?","O plano gratuito da Cloudflare sustenta a infraestrutura pessoal inteira: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway e mais.",8,[279,117,122],{"path":317,"title":318,"description":319,"date":320,"minRead":314,"tags":321},"\u002Fblog\u002Fmodel-harness-decoupling","O Harness first-party nem sempre é a resposta: na era dos modelos abertos, escolha o modelo e o Harness separadamente","Usa Claude, vai de Claude Code? Na era dos modelos abertos, esse instinto pede um upgrade. A vantagem first-party é real, mas treinar um bom modelo e construir um bom Harness são duas engenharias diferentes — este artigo explica por que modelo e Harness já podem ser escolhidos separadamente, com um mapa de posicionamento de cinco Harness.","2026-09-09",[291,322,292],"Harness",{"path":324,"title":325,"description":326,"date":320,"minRead":314,"tags":327},"\u002Fblog\u002Fopencode-productive-stack","Estável, rápido, produtivo, barato: meu stack de AI Coding documentado","OpenCode + OpenChamber + duas assinaturas DeepSeek V4 Flash: 15 projetos rodando código ao mesmo tempo e a cota mal se mexeu. Toda a configuração aberta aqui — poda de Context, memória em camadas, automação de desktop e a lição de 'ficar com a combinação original'.",[328,329,330],"OpenCode","Programação IA","Configuração",{"path":332,"title":333,"description":334,"date":335,"minRead":336,"tags":337},"\u002Fblog\u002Fproduct-faxin-principle","O princípio do \"fa'xin\": por que o dev independente precisa aprender a abrir mão","Por que você começa? Para quem você começa? Qual problema você realmente quer resolver? A capacidade de um produto ser afiado vem de saber o que largar e o que abandonar.","2026-06-20",10,[338,280],"Pensamento de produto",{"path":340,"title":341,"description":342,"date":335,"minRead":314,"tags":343},"\u002Fblog\u002Fproduct-pain-vs-itch","Usuário diz \"caralho, que foda\" e você se empolga: dor vs. coceira","Aprovação verbal não vale nada. Para julgar necessidade existe só um critério duro: ver o que o usuário está disposto a pagar.",[338,344],"Julgamento de necessidade",{"path":346,"title":347,"description":348,"date":289,"minRead":349,"tags":350},"\u002Fblog\u002Fqwen-vision-for-deepseek","Dando multimodal ao DeepSeek: solução de visão com Qwen-3.7-Flash","O DeepSeek V4 Flash não tem multimodal. E ler imagem, como fica? Na minha pesquisa, a opção com melhor custo-benefício hoje é o Qwen-3.7-Flash: reconhecer uma imagem custa quase nada e, combinado com o V4 Flash, cobre a lacuna.",5,[301,351,310],"Multimodal",{"path":353,"title":354,"description":355,"date":356,"minRead":357,"tags":358},"\u002Fblog\u002Fsub-store-cloudflare","Migrei a agregação de assinaturas de proxy para a Cloudflare","Vários serviços de proxy mais os seus próprios nós fundidos em uma única assinatura, com as regras de roteamento configuradas no servidor — o cliente só assina.","2026-06-28",4,[279,359,360],"Contorno da rede","Projeto open source",{"path":362,"title":363,"description":364,"date":320,"minRead":308,"tags":365},"\u002Fblog\u002Ftui-cognitive-bandwidth","A TUI está matando sua banda cognitiva: está na hora de quebrar o “filtro geek” do AI Coding","Um bando de AI Coding Agents disputando quem sobe TUI primeiro, empurrando a interação de volta ao paradigma de terminal dos anos 80 e ainda chamando isso de “imersivo” e “respeita o programador”. Este artigo disseca os três mecanismos pelos quais a TUI reduz sistematicamente sua banda cognitiva — e por que o Web UI é a resposta certa.",[329,366,367],"Design de interação","Ensaio",{"path":369,"title":370,"description":371,"date":372,"minRead":271,"tags":373},"\u002Fblog\u002Fvalue-not-external","Discutir se algo tem valor é, em si, algo sem valor","Nosso valor não é definido por ninguém. Na era da IA, como a pessoa deve se entender, afinal?","2026-06-18",[374,375],"Reflexão sobre IA","Ensaio humano",{"path":377,"title":378,"description":379,"date":380,"minRead":381,"tags":382},"\u002Fblog\u002Fx-growth-1000-followers","Mais de 1000 seguidores em pouco mais de um dia — o que eu fiz","Em junho, comecei a levar o X a sério e ganhei 1000+ seguidores em pouco mais de um dia. Este post registra o que eu fiz na ocasião e os retornos que recebi.","2026-06-16",12,[383,384],"Operação no X","Crescimento de conteúdo",1789752314256]