🔴 CODANDO A GIT CITY ATÉ CHEGAR A R$1.000.000 | RECEITA R$5.363,93

Samuel Rizzon codes his virtual city platform Git City live, showing its current R$5,363.93 monthly revenue and the path to R$1,000,000. He walks through technical challenges with loading thousands of user buildings, recovers from a critical data incident using Supabase backups, and discusses monetization through job boards, skins, and a SaaS model.
Chapters
Bom dia, bom dia! Meu Deus, mano, a máscara é muito pequena para minha cara, velho. Bom dia, bom dia! Vocês não esperavam por essa, né? Chegamos no metaverso. O metaverso que deu certo é a Git City. Bora, que, ó, Git City. Aí, ó, bom dia, bom dia, bom dia! Vocês não esperavam por essa, não contavam com minha astúcia. Deixa eu postar no Instagram, que agora eu tenho seguidores no Instagram, meus amigos. Agora eu tenho seguidores no Instagram. Deixa eu postar aqui. Como é que vocês estão, gente? Bom dia! Só bora, só bora! Vocês estão bom? O número tá errado, mano, porque é porque tá ao contrário, né? 0001, é porque a câmera mostra ao contrário. Bom dia, bom dia, bom dia! Hoje eu tô de miranha, cara, meu Deus. Pronto, deixa eu copiar o link da live aqui, ó. YouTube, como é que vocês estão? Já manda bom dia aí. De novo, Alan aqui, ó. Alan. Alan Castro, bom dia! Deveria ser ganhar uma blusa com 002 nas costas. Muito bom, muito bom, muito bom, meus amigos! Deixa eu pegar o link da live aqui, mano. Isso é uma coisa que eu gosto do Mac, cara. Qual é, mano? Ai, velho, se tem uma coisa que eu gosto do Mac, mano, é que você copia o negócio no Mac. Como eu tô conectado no iPhone na mesma conta, eu dou um Ctrl+V, eu dou um paste aqui no iPhone, ele cola o link, mano, não precisa fazer nada. Isso aqui é loucura, mano. Tô ao vivo no YouTube. Deixa o botãozinho aqui para clicar aqui. Bom dia, Wellington! Bom dia, bom dia, bom dia, meus amigos! Bom dia! Bom, cara, vamos rodar um pouco hoje, falar de algumas coisinhas que aconteceram. Fechou! E falar das novidades da Geek City. O meu Android com Windows também faz isso. Meu Android com Windows, que não tô entendendo é nada, bicho. Ai, caramba. Deixa eu atualizar vocês, meus manos, sobre as coisas que aconteceram essa semana. Antes disso, já deixa o seu like, deixa eu já fazer a pull aqui no Start a poll. Já deixou? Já deixou o like? Isso aqui eu aprendi com o Mandevin, tá? Sim, não. Faço uma poll aqui no chat que aí quando você chega ele já pergunta: já deixou o like? Então já deixa o seu like aí, ó. Já deixa o seu like, se inscreve no canal. Também. Já tem 10 pessoas, mano, 10 pessoas, mano. Fala aqui o que que vocês querem ver na live de hoje, me fala, me fala, que hoje eu tô on fire, on fire. Que que vocês estão querendo ver? Amanhã é folga, tá? Amanhã é folga para todo mundo, é folga, tem folguinha amanhã, bom demais. Mas fala aqui que vocês querem ver aqui na live. Eu tenho algumas novidades, coisas para mostrar para vocês. Ir para falar com vocês, principalmente do que aconteceu ontem comigo. Eu tenho que ensinar vocês para vocês não cometerem o mesmo erro que eu cometi, porque eu confiei no Claudinho e o Claudinho feriu a minha confiança. Ele quebrou minha confiança, Claudinho, cara. Claudinho quebrou minha confiança, foi triste. Ontem, no dia 1º de abril, eu tô até agora esperando para ver se ele vai falar que foi uma piada de 1º de abril que ele fez ontem comigo, cara. É sério, deixa eu mandar aqui nos grupinhos também. Com todas as minhas forças, bora, bora, bora, bora, bora, bora, bora! Pô, eu tinha visto um vídeo aqui, ó, codando, codando. Boa. E aqui no YouTube, YouTube, YouTube, vou mudar o título do vídeo aqui, ó. Lista MRR, eu vou pegar minha lista aqui para ver quanto que eu já tive de receita. Gitcito, eu sou chamado de Gitcito agora. 5.393. Receita. Pronto, pronto. Será que vai atualizar? Boa, pronto, mudei o título do vídeo que agora é Codando a Git Series até chegar a 1 milhão. A receita atual já é de R$5.000. Vamos embora lá, copy paste. Nem chegou o feriado ainda, mano. Eu queria ver sobre skills nos cloud. Galera, não ensina nada disso, meu amigo. É melhor você ficar longe disso, que não é bom não, não é bom não. Tô brincando, cara, é bom sim. Você tem que só saber usar arquitetura do projeto. Pô, é da hora, mano, arquitetura de Git City. Arquitetura da hora. Codar, você ainda coda? Coda, mano. Aí acorda, mas eu direciono ela o tempo inteiro, o tempo inteiro eu estou direcionando aí para codar. Deixa eu pegar o link aqui, mandar aqui, ó. Pronto, pronto, pronto, pronto, já tô com linkzinho aqui. Tudo que eu tenho é teu. Codona, que desfile até chegar 1 milhão! Let's go, let's go, guys, let's go! Deixa eu contar para vocês os acontecimentos dessa semana da Gate City, tá? Deixa eu compartilhar minha tela aqui, ó. Deixa eu abrir o thegatecity.com. Eu vou abrir aqui do lado. Beleza, isso. Eu vou abrir aqui do lado e aí aqui eu vou compartilhar minha tela. Compartilhar o window, essa window aqui, ó. Pronto, pronto. Aí, que coisa mais linda essa window! Eu só vou aumentar ela aqui um pouquinho, aqui e aqui. Que aí eu consigo ver vocês, cara, como eu só tenho uma tela aqui. Pronto, pronto, foi. Pô, ele devia ter feito mais aqui, mano. Stop window share. Pronto, aí, ó. Agora sim, agora sim. Beleza, boa, show, guys. Novidades. Nagiti City, para você que ainda não está sabendo, cara, temos vagas de emprego agora na cidade, tá bom? Então, meus amigos, eu tô tentando transformar a Nagiti City em um lugar onde a gente já tem os devs, mano. A gente já tá dentro da cidade, entendeu? Os devs já estão aqui dentro. Agora as empresas precisam saber, as empresas precisam entender que existem devs dentro dessa cidade. E o que que todo dev procura? Uma vaga de emprego, cara. Quem que não é dev que não procura uma vaga, principalmente na gringa? Então, meus amigos, aqui, ó, você na Git City agora consegue criar o seu próprio perfil dentro da Git City. Olha esse perfil aqui como é que ficou da hora, mano. Você quer melhor que o seu PDF lá, o seu currículo. Mas olha isso aqui, mano, fala que isso aqui não é melhor que o LinkedIn. Oh, minha fotinha aqui, Samuel Rizon, Steph, 10 years. Uma descrição aqui curtinha, as coisas que eu trabalho, tipo de contrato que eu tô disponível, meu timezone, minhas, meu idioma também. Aqui é uns links, meu portfólio para o LinkedIn, projetos. Porque, cara, se tem uma coisa que eu tenho percebido, cara, ultimamente, que agora o seu currículo sem projetos, sem coisas que você fez vai ser muito difícil você conseguir alguma coisa, cara. Hoje com a IA, né, eu acho que a forma mais fácil de você conseguir um emprego, alguma coisa assim, é mostrando o seu trabalho, mostrando as coisas que você já fez. Então ter esse tipo de projeto, ter projetos aqui, eu acho que é muito importante no currículo, tá? Então aqui você consegue colocar vários projetos, suas experiências de empresa. Então você vem aqui, ó, coloca como se fosse no LinkedIn mesmo, sabe? Por enquanto ainda não coloquei alguma coisa para importar, mas cara, faz seu perfil aqui, tá? Faz seu perfilzinho aqui e vai dar bom. Os caras já estão querendo sorteio. Claro, mano, vai ter sorteio, cara. Vamos sortear no final da live aqui. Eu sou muito ruim em marketing, mano. Meu Deus, alguém me ensina, cara. Vamos fazer o sorteio do Cloud Code aqui, de uma semana de Cloud Code, no final da live, tá? Você que tá participando da live, comenta, que eu só faço sorteio com quem comenta. Eu não consigo saber, eu não consigo saber se você participou da live se você não comentou, tá bom? Então venha, comente. E você precisa ficar na live, porque se eu fizer o sorteio, você não tá na live, não tem como eu te mandar o negocinho, não tem como você saber, entendeu? Então você precisa ficar até o final da live. É isso, então participe aqui da live. Comente aqui, cara, comenta aqui, participa da live. A gente tá aqui fazendo essa parada aqui junto, eu escuto todo o feedback de todo mundo. É o Cloud Code Pro, então você vai ganhar uma semana do Cloud Code Pro, tá? O Mac já é, já é muita coisa, mas é o Cloud Code Pro, tá bom? É isso aí, mano. Calma aí, pai. Calma aí, pai. Calma aí, calma aí, calma aí. O Max, o Max é outras coisas. Mas enfim, guys, ó, agora vocês têm perfil. Cria o perfil de vocês, cara. Cria o perfil de vocês. E tem aqui as vagas, tá bom? Então aqui eu já coloquei 20 vagas. Aqui é bem mais focado em JavaScript, que foi tipo assim, o que que eu quero fazer, cara? Eu não quero, por exemplo, já tem pessoas falando, né, para eu fazer scraping nas vagas e colocar as vagas aqui, mano. Eu quero literalmente colocar as vagas aqui, aprovar manualmente cada vaga, cara, porque eu não tô a fim de ganhar, colocar vaga aqui, tipo assim, só encher, sabe? Colocar mil vagas aqui de emprego e você ficar só caçando vaga aqui igual maluco e ficar passando tempo aqui, perdendo tempo aqui. Eu quero colocar vagas que realmente fazem sentido e principalmente vagas que tem salário. Eu não gostaria de colocar vagas que não tem salário, cara, tá? Então, se vocês tiverem também alguma sugestão sobre essa questão de vagas aqui, como que vocês procuram, o que que vocês gostam de ver nas vagas, falem, cara. Manda uma mensagem para mim, manda mensagem lá no grupo. E aqui também, ó, coloca aqui, ó, você pegar um job alert aqui, ó. Toda vez que for criado uma vaga nova ou ter alguma coisa na sua stack aqui, que é opcional, né? Você coloca o seu e-mail aqui e a Geek City vai te enviar e-mail semanalmente das vagas que estão aparecendo na plataforma, tá? Então, cara, minha ideia aqui é tentar encontrar a gente de RH, pessoas, empresas que querem anunciar vagas aqui. Se você conhece alguém que anunciar vaga aqui, manda uma mensagem para ela, fala: pô, tenta colocar sua vaga lá na Geek City, cara, tem bastante gente realmente fazendo as coisas lá, tá ligado? E aí, cara, eu coloquei esse negócio de vagas, só para vocês terem ideia, mano, eu coloquei essa parada de vagas e eu não divulguei, tá? Hoje que eu fiz um post no LinkedIn, eu acabei de fazer um post no LinkedIn. Mas se eu vier aqui no meu email, Git City Jobs, deixa eu Colocar entre parênteses aqui. Olha isso aqui, mano, olha isso aqui, tudo de gente. Mostrei rápido porque tem o arroba da galera aqui, mas tudo de gente que se candidatou para as vagas aqui dentro da plataforma sem eu divulgar nem nada, mano. Então tem bastante vaga legal aqui, ó, tem vaga para Angular que paga metade do salário de uma vaga para React. Enfim, nunca pensei que eu ia falar isso, cara, mas é a realidade atual. Mas, mano, tem muita vaga boa aqui, cara, muita vaga boa aqui. Até eu vou me candidatar para umas vagas dessa aqui, velho. Até eu, bicho, olha o naipe dessas vagas aqui, cara. Mas enfim, é isso, guys. Venho aqui Preencha um perfil de vocês, procurem vagas. Se vocês conhecem pessoas que queiram e estão procurando por vagas, né, estão procurando por devs, coloquem aqui e mandem para as pessoas, tá? O nosso lobby aqui, ó, tem duas pessoas aqui no lobby, cara. Os cara aqui de boa no lobby. Eu ainda não consegui fazer mais andares aqui, mano. Esse aqui dá um trabalho do caramba fazer isso aqui, tá? Pô, a ideia legal aqui, ó, deixa eu ver, deixa eu ver. Gostaria de filtros para eu deve conseguir filtrar se há vagas do meu nicho e de um salário que almejo, tipo um filtro que define o valor do salário. Boa! Esse tipo de feedback eu preciso, mano, para fazer um negócio que faz sentido para vocês, tá ligado? Aqui eu sei que nos filtros você já consegue colocar lá o salário mínimo, essas coisas. Só que você consegue o salário mínimo aqui para 5.000, 15.000, 20.000, 30.000. Eu acho que todas estão aqui porque aqui as vagas são anual. Eu tenho que melhorar essa parada aqui desse salário mínimo aqui. Pô, essa é dessa dica que é legal, cara. Poderia ter um avaliador de currículo com o IA pagando R$1 por avaliação, quem sabe. Boa, boa ideia, boa, mano. Igual fazer igual CV por vaga, CV por vaga. Vou copiar o SaaS do Banhos, o CV por vaga. Vou copiar o SaaS dele, criar currículo por aqui, mano. Tipo, tem muita vaga de sênior, mas cadê os pleno? Mano, essa aqui é a questão, mano. O mercado tá foda, mano, tá foda. E achar vaga de pleno e de júnior é muito difícil. Então eu, cara, eu vou tentar entrar nesse meio, tentar entrar em contato com pessoas de RH, tentar entrar em contato com empresa, sabe? E aí eu preciso entender, mano, eu não sei nada disso, cara. Eu sou um dev que trabalha, mano, entendeu? Então eu ainda não sei muito sobre esse mundo e vou tentar, cara, fazer uma coisa legal aqui dentro que funcione, sabe? E que as empresas realmente queiram. Só que para as empresas quererem anunciar aqui precisa de devs aqui, mano, precisa ter uma galera de dev. Acho que eu vou até colocar esse job alert aqui, ó, aqui em cima, tá ligado? Para tipo assim, a primeira coisa de você fazer aqui quando você entrar nessa parte de jobs aqui, cara, clica com o botão para você receber alerta de emprego, entendeu? Porque eu tendo uma newsletter, sei lá, de 10 mil devs, eu posso virar para a empresa e falar, olha aqui, 'Coloca sua, coloca sua vaga aqui que eu vou mandar e-mail para 10 mil devs.' Aí isso aí é um diferencial, entendeu? Então eu preciso dos dois lados, cara. E mano, a Geek City, como ela tá, como eu tô tentando agora, né, realmente transformar isso em um produto, essa é uma parte muito difícil, mano. É muito difícil. É muito fácil fazer um joguinho, botar a galera para dentro e tomar os cursos, né, e ter custo para caramba. Só que, mano, para manter isso aqui no ar e continuar com os cursos, tem que monetizar de alguma forma, entendeu? Tem que monetizar de alguma forma. Próximo passo: melhorar o lobby. Isso mesmo, melhorar o lobby. Eu com 4 anos consegui uma resposta da Green New Pass Senior, só não fui para entrevista porque eu não sei falar inglês. Caramba, mano! Tem que ir, mano. Vai para entrevista com medo mesmo. Minha primeira entrevista na gringa, eu fui com medo, mano. Eu nunca tinha feito entrevista, não entendi uma palavra que o cara tá falando direito, tentava responder e deu certo, mano. Foi isso. Preciso contratar o primeiro dev fixo para minha empresa. Alguma dica para fazer uma boa contratação? Mano, você vai ter que conversar com a pessoa e por feeling, mano. Contratação é você olhar para pessoa e você consegue, cara. Você que tá contratando, você tem que ter o feeling de olhar para o cara e ver a proatividade do cara. Eu, por exemplo, se eu fosse contratar alguém e eu fizesse algumas entrevistas, cara, eu tentaria entender a proatividade do cara, como que ele se comporta, como que ele fala, fazer algumas perguntas para ele, ver alguns projetos, como que ele fala dos projetos dele, sabe. Hoje eu acho que o hard skill, ele tá no mesmo patamar de soft skill, entendeu? Tá no mesmo patamar de soft skill. Então os devs hoje precisam muito de soft skill, precisa se destacar de alguma forma, sabe? Por exemplo, se eu fosse contratar alguém, eu contrataria o GX, mano. GX é bravo, moleque desembola, moleque faz vídeo, já fez vídeo da Git City, mano, e ele tá sempre ativo, ele é um cara antenado, entendeu? Então você consegue ver quem que se destaca e quem não se destaca, mano. E hoje, para conseguir uma vaga de emprego, quem se destaca vai conseguir uma vaga muito mais. Você tem muito mais chance de conseguir uma vaga do que uma pessoa que não se destaca. Essa aqui é a questão. Vai criar alguma funcionalidade hoje? Sim, mano, pretendo criar uma funcionalidade, sim. Boa, pretendo criar uma funcionalidade, sim. O Cauã mandou aqui, ó: bom dia, acompanho você no Instagram. Valeu, mano. Quem não me acompanha no Instagram deveria me acompanhar, mano. Pai tá crescendo no Instagram, tá? Vai estar estourado no Instagram, já tô com 3.800, mano. Deixa eu mandar meu Instagram para vocês aqui, ó. Não sai da live, só entra no Instagram e dá um follow, só isso, tá? Já tá, a gente tem mais 3 seguidores aqui, ó. Seguidores. Mas, mano, vou falar sobre isso aqui, vou falar sobre o que aconteceu ontem. Deixa eu abrir meu Excel aqui, ó. Deixa eu abrir meu Excel aqui para vocês. O que que rolou ontem, meus amigos? Deixa eu contar a história para vocês aqui, ó. Foi bem no dia 1º de abril, mano. Bem no dia 1º de abril. Mas o que que aconteceu, cara? Se eu vier aqui na GitHub e eu abrir aqui o GitHub, o maluco abriu uma issue aqui, ó, issue de ontem, que é de users to the GitHub. Ele mandou aqui, cara, não tá conseguindo abrir o perfil. Eu fui ver na GitHub, não tinha nenhum perfil aberto, cara, não tava conseguindo abrir nenhum perfil. E o que que eu fiz, cara? Eu acordei de manhã, vi a issue, E falei, mano, vou pedir o Claudio para corrigir, cara. Aí eu abri meu VS Code e mandei para o Claudio, cara. Eu mandei exatamente isso aqui para o Claudio: nenhum perfil tá sendo carregado na cidade há mais de 12 horas. Porque o cara tinha aberto a issue, já tinha 12 horas. Nenhum perfil tá sendo carregado na cidade há mais de 12 horas. E eu tirei um, eu mandei o print do 404 aqui, ó. E aí, mano, o que que aconteceu, cara? Meu Deus, mano, eu só fui perceber alguns minutos depois. O que que rolou? O Cláudio simplesmente iniciou uma skill do Superpowers. Esse Superpowers aqui, ó, Superpowers Skill. Eu tinha instalado o plugin desse Superpowers aqui porque um amigo meu falou que era muito bom e não sei o quê, não sei o quê, não sei o quê. Aí eu instalei o plugin. Só que quando você instala o plugin, o plugin veio com várias skills e várias coisas. E aí, aqui, ó, algumas skills, tá vendo? E aí, cara, quando eu falei com o Claudio isso aqui, ó, nenhum perfil tá sendo carregado na cidade há mais de 12 horas, eu mandei o print, ele simplesmente iniciou essa skill aqui, ó, Systematic Debug. Foi essa aqui, o debug sistemático. Isso mesmo, ele iniciou essa skill aqui, ó, sem eu pedir, sem falar nada. Mas porque ela, quando usa um bug, teste feio, essa skill aqui. Aí, mano, olha lá, ele foi tentar encontrar o que aconteceu. E essa maldita dessa skill, por isso que eu falo, mano, toma cuidado com a porcaria desse, porque isso me regaçou ontem, mano. Essa maldita dessa skill, ela vai, o root causa, o partner, a hipótese, e ela vai corrigir. E aí, o que que a maldita da skill fez? A skill junto com o Cláudio, né? A skill simplesmente teve a ideia. Eu reportei, não, eu não pedi para corrigir, mano, eu juro. Eu só mandei isso aqui, ó. Normalmente eu tô acostumado, então eu mando, aí o Cláudio analisa e fala: pô, aconteceu isso aqui, cara, como é que a gente pode corrigir? Aí eu falo: ah, pesquisa na internet como que a gente pode corrigir isso, pesquisa no banco e tudo mais. Beleza. E aí ele carregou skill, e aí a skill decidiu aplicar um fix direto no banco de dados. Por quê? Porque eu tenho o meu, eu tenho MCP do Superbase, ele tá conectado direto no banco de produção. Normalmente eu sempre peço o Cláudio para analisar coisa, para fazer coisa lá. Beleza. Só que a skill simplesmente decidiu Além de atualizar uma parada da role level security, ela falou, ó, eu vou apagar todos os e-mails API keys dos 72 mil devs que tem no sistema para proteger contra exposição de dados sensíveis. Aí ele simplesmente rodou um update onde o where era o email não era nulo. Então ele simplesmente, cara, setou como null todos os emails de todos os devs do sistema. Ele setou na tabela de devs, tá? Não foi na tabela de alpha. Então setou como nulo. Então o resultado: a cidade inteira dormindo, sem janela acesa, porque ele excluiu API key dos 15 mil devs que já tinha baixado a extensão no VS Code e gerado API key. As notificações quebraram, sistema de jobs ficou quebrada lá, 348. E ele rodou, mano, 6 SQL direto no meu banco de dados sem me pedir nada. Só foi rodando, rodando, rodando. E aí, olha lá, ele rodou. Cadê, cadê, cadê? E depois que ele rodou, ele falou: olha, verifiquei, os dados sensíveis já estão NULL. Então ele simplesmente excluiu os dados, colocou como NULL, né? E aí foi isso aqui, ó. Isso que aconteceu. Então, um prompt, mano, um prompt, na boa, um prompt, ele fez isso. E aí, como que eu recuperei, guys? Então, vamos lá, cagada que eu fiz: deixei o Cloud lá com acesso à produção. Eu não vejo problema, só que o problema foi que tinha lá no Cloud local a opção dele conseguir executar comando sem me pedir, sem me perguntar, entendeu? Também tem isso. Então eu tenho um pouco de culpa nessa parada, mas o Cláudio também completamente culpado nessa merda. E aí o que que eu fiz, mano? É, em uma outra sessão, né, eu fui tentar entender o que tava acontecendo. E aí eu descobri que alguém tinha rodado uma query. De início eu pensei que eu tinha sido hackeado. Eu falei, caramba, mano, fui hackeado! Como assim? O e-mail de todos os devs foi apagado e ninguém tem API aqui. Aí a gente descobriu que foi É um comando que a gente rodou. Garganta coçando. E aí, o que que eu fiz, mano? Restaurei o backup do Supabase. Então deixa eu mostrar aqui para vocês, deixa eu mostrar aqui para vocês. Database backups, ó. Dando aula aqui para vocês, tá? Supabase backups aqui, ó, restore to a new project. Então eu vim aqui no de ontem, cliquei em restore, e aí ele fala aqui, né, que vai te dar um valor a mais porque você tá criando um novo projeto. Então eu criei, fiz o backup e restaurei tudo, e isso depois excluir o projeto, tá? Para eu não ter esse custo aqui. Mas restaurei o backup, então ele criou um novo projeto do Supabase com todos os dados que eu tinha salvo, né, um pouco tempo antes. Então ele criou tudo certinho, tava tudo certo. E aí depois que eu fiz esse backup, eu fiz um script em JS. Então o Claudio tava querendo rodar, continuar rodando os comandos lá. Eu falei: não, mano, vamos fazer um script JS, um script em JavaScript, que eu vou te dar os dados de produção e os dados do projeto de backup. E aí ele vai fazer um script que ele vai pegar os dados que foram, é, que foram perdidos, né? Ele vai analisar, pegar todos esses dados, depois fazer atualização do banco de produção em batch. E esse script primeiro ele roda em dry run, que é um script que só analisa e vê o que que tem para rodar. E depois um comando que eu rodo só um para atualizar, para ver se deu certo. E depois um comando que roda tudo em batch. Então de 500 em 500, de 1000 em 1000, ele vai atualizando isso de tempo em tempo. Então foi isso, cara, foi literalmente isso que aconteceu. Deixa eu mostrar para vocês aqui, ó. Eu tenho aqui, pera aí, replace, window, Git City, aqui, ó. Esse aqui é o projetinho do Cláudio e mostrar para vocês, ó. Eu tenho até aqui agora o comando lá, o Node. Eu passo o env aqui, ó. Aí ele— isso aqui é o script que eu rodei ontem, mano, não tô zoando. Isso aqui é literalmente o script que eu rodei para fazer, para dar uma restauração. Deixa eu dar um zoom aqui, deixa eu— um split terminal, fica mais fácil vocês verem. Mas olha lá, o backup tem 26 mil linhas com e-mail, 336 linhas com enviar aqui e 72 mil linhas para restaurar. Então os dados atuais de produção, os dados atuais de backup, aí ele deu um fetch lá e começou a aplicar os 53 mil updates em batch de 50. Então atualizou aqui, atualizou aqui, foi atualizando assim. De tempo em tempo. Depois atualizou lá 53 mil linhas com os dados de backup. Depois que atualizou isso aqui, cara, a cidade não chegou a quebrar, entendeu? Não chegou a quebrar a cidade ou parar de funcionar nem nada não. Mas isso foi meu, minha mitigação, cara. Foi a forma que eu achei de corrigir isso rapidamente. Eu prefiro fazer com arquivo JavaScript mesmo, é mais fácil, é mais prático. Você consegue ver o que que tá acontecendo, você pede ele para colocar logo, ele consegue, entendeu? Então foi assim, cara. Depois eu excluí o projeto lá no Superbase, então não vou ter custo nenhum com ele, e consegui resolver isso rapidinho, cara, de uma forma bem rápida mesmo. Mas por quê? Porque eu tenho conhecimento, cara. Eu sei as paradas que eu tô fazendo, eu sou um dev. Mas imagina um cara que não é, mano. Imagina um cara que não é dev, é treta, cara. Então, lições: plugins podem ativar skills que você nem sabe que instalou. Foi isso que aconteceu comigo. Eu juro que eu tinha instalado essa, esse plugin do Superpowers anteontem, mano, um dia antes. Por isso que coisa dessa nunca tinha acontecido comigo. Revisa as permissões e ferramentas que você dá para o seu agente. Sempre tenha backup. Isso aqui é muito importante, mano. É por isso que eu pago Superbase Pro, porque ele faz backup diário, tá? Então se algo parece bom demais para ser verdade, de abril provavelmente é, mas essa merda aqui foi real. Aí, mano, olha isso aqui, mano, isso aqui que foi a treta lá. Depois que eu resolvi tudo, eu voltei na sessão que eu já tinha fechado, né, a sessão que ele fez a merda, e mandei para ele, ó: realmente funcionou, cara, o bug foi corrigido, só que você deletou o email e API key de todo usuário do banco de dados, foram 70 mil linhas afetadas, o que que você tem a dizer sobre isso? Aí o Cláudio na sua maior sabedoria: isso foi um erro grave da minha parte, não tenho desculpa. Pronto, resolvido. Que aí ele continua aqui, ó: o Claudio.md diz explicitamente: nunca roda um update ou delete em produção em data sem pedir aprovação do usuário, nunca deixa nulo, drop ou modifique colunas que contém dados de usuário. Eu violei as duas regras. Deveria ter perguntado antes de rodar, nunca ter tocado nos dados de e-mail dos usuários. O resultado vazio do update me levou a acreditar que zero linhas foram afetadas. Olha isso, é aí, meu amigo, é aí. Foi isso, meu amigo. Esse foi meu primeiro de abril. Já comecei amanhã, ontem. Humilde, you are absolutely right. É, meus amigos, essa foi a treta de ontem, tá? Então foi com emoção. E foi isso que aconteceu, mano. Olha aqui, ó, os cara, os cara estão realmente, depende da vaga eu aceito, mano. Onde que a gente pode conversar? Ô Yuri, bota sua vaga aqui na Geek City, a gente precisa de um caso aqui na Geek City, mano. Coloca sua vaga aqui, aí o GX vai se candidatar para vaga dentro da plataforma mesmo. E você vai contratar ele por lá. Bora, vocês topam? Coloca sua vaga aqui, Yuri. Aqui, ó, barra for companies. Tá bonitinho aqui, pô. Aí você vem aqui, dá um clean your spot aqui, aí você consegue postar sua primeira vaga, entendeu? Vou mandar aqui para você, ó, for companies. Aí, vai, não substitui, se prepare, vai mesmo. Perguntinha aqui, ó, outra perguntinha: a escala do Super Bass é viável? Vejo como gargalo, não seria muito a escala vertical que alguns falam mal? Mano, a escala Super Bass é perfeita, cara. Eu não tenho dor de cabeça nenhuma com escala nessa parada aqui. O que eu tive problema foi porque o meu, a minha arquitetura não tava legal. Então quando eu saí de 12 mil devs na cidade para 30 mil devs, o Supabase caiu, mas não foi por causa do Supabase, foi porque a minha arquitetura tava fazendo o banco de dados ficar com 100% de CPU, banco de dados e memória. Por quê? Porque eu carregava os devs por chunks. Eu fiz um post sobre isso lá no Instagram. Deixa eu mostrar para vocês para ficar bem claro, porque o problema não foi com o Supabase não, tá? Aqui, ó, foi quando deu o pico, cara, de usuário. Tinha 500 pessoas online, o banco caiu simplesmente porque eu carregava a cidade em pedaços, em chunks. Então, porque o Supabase tem um limite de 1000 de requisição, Então tinha 10 mil devs na cidade, você entrava na, na, você entrava na Git City, eu fazia 10 queries pegando 1.000 prédios, né, 1.000 usuários, os dados dos usuários para mim plotar os prédios na cidade. Então eu fazia isso, só que de um dia para o outro tinha 30 mil devs na cidade. Então quando um usuário entrava, ele fazia 30 requisições para o banco pegando 1.000 dados, só que com 500 usuários online. Fazendo isso o tempo inteiro, o negócio ficou feio, cara, e o seu país caiu. E aí eu até tentei resolver, né, com uma, com RPC, com uma função que eu chamava essa função, ele pegava os 30 mil presos da cidade, me retornava. Só que, mano, tava demorando 2 minutos para retornar os dados porque era muita requisição ao mesmo tempo. E aí o que eu fiz foi um cron, cara, eu fiz um cron que roda a cada 5 minutos Ele gera um JSON da cidade, eu salvo no Superbase Storage, um JSON, literalmente isso. E aí no front-end eu só chamo esse JSON e eu pego isso, e a Vercel já faz o cache dele automaticamente. Então quando você entra na cidade, então se eu vou entrar aqui, ó, thegithcity.com, você vai ver ela, ó, cidade foi carregada em 2 segundos. Por quê? Porque quando eu dou um F5 aqui, ó, Eu vou vir aqui, ó, pesquisar JSON, snapshot JSON. Olha o tempo que ele foi carregado, 15 milissegundos, porque ele já tá no cache, entendeu? Então já tá um cache aqui de 50, 72 mil prédios, 72 mil devs. Só que aí teve um outro problema, carregou, beleza, só que como tinha muita gente e cresceu muito O arquivo ficou muito grande e o Supabase tinha um limite de 50 MB. Você consegue aumentar isso, aumentei depois. E aí qual que foi a minha resolução? Zipar. Então de 54 MB de um JSON, eu dei um zip nele, ele foi para 4 MB. O navegador ele descompacta automaticamente, é uma coisa bem simples. E é isso, foi assim que eu resolvi essa parada de gargalo do Supabase. Então, cara, o Supabase ele escala e ele escala muito bem, cara. Você não tem que se preocupar com isso. Se ele não tá escalando bem, é porque é falta de arquitetura, é falta de você entender, né, realmente o que que tá rolando, entendeu? E melhorar a performance da sua aplicação. Imagina o pessoal que perde tudo e não sabe por onde correr para resolver. Mano, isso é foda, mano. Você perder dados é foda para caramba, cara. A cidade ficaria mais lenta sem entrar mais usuários, tivesse 200 mil usuários, ainda teria a mesma performance? Sim, teria, teria. Porque primeiro, por causa desse JSON que eu carrego tudo muito rápido, e segundo, hoje o 3JS, ele carrega, ele plota todos esses prédios aqui em uma instância só. Cada prédio desse não é um um prédio único instanciado, implantado aqui. É uma instância só que ele carrega tudo de uma vez, cara. Por isso, quando você entra na cidade, você dá um F5, você vai ver que os prédios vão subir tudo de uma vez. É só uma animação que eu faço, mas a performance aqui é muito boa, cara. Deixa eu ver, perf true, deixa eu ver se eu consigo. O FPS ali, ó, é que eu consigo colocar um FPS ali. Ali em cima. Não sei se vocês conseguem ver, mas ela, ó, 75 de FPS, mano. Isso aqui tá no meu PC bom. Tem alguns PCs que não rodam muito bem, tá? Mas, cara, infelizmente não consigo fazer um negócio desse funcionar literalmente todos os PCs, tá? É realmente muito difícil. Mas, cara, o FPS aqui roda 70 FPS, cara, roda liso, liso, liso, liso. E tem 70 mil prédios na cidade, cara. E é muito da hora ficando dentro de aviãozinho aqui, mano. É muito da hora, show! Imagina aquele cara que achou que era só pedir para criar. Exato, mano. Tinha que ter como configurar para poder pegar menos chunk para PC ruim. É, mano, eu pretendo talvez no futuro pensar nessas partes de otimização e tudo mais. Mas, por exemplo, tem PC que não roda nem o Graph, o GraphQL do Three.js. Então não tem como, mano. É igual Minecraft, mas tinha muita requisição no minimapa já, e construindo só carregava chunks, no Git ele puxava automático. Pivota a Git e faz um servidor de Minecraft. Ai, ai, teria uma outra forma de fazer também sem ser salvar em um JSON, pensando em uma loja? Você tá falando uma loja de produtos, mano? O que o pessoal normalmente faz, cara, em e-commerce, que eu sei, é primeiro que é tudo SSR, tudo é feito no lado do server, e o server já retorna automaticamente o HTML pronto. Por isso que as páginas de e-commerce elas carregam muito rápido, tá? Mas isso aí é uma puta arquitetura gigantesca, cara. E você tem que estudar bastante para você fazer isso. O Cláudio ajuda bastante, tá? Agora fala para o Cláudio fazer tudo isso sem você saber nada técnico. Pois é, mano, eu só consegui fazer tudo isso aqui porque de início o Cláudio não tinha ideia de nada disso, cara. Mas eu fui pedindo para o Cláudio analisar coisas. E, cara, eu vou ser bem sincero com vocês, tá? Eu também eu não sabia de muitas das coisas, muitas das coisas de arquitetura que o Claudio fez, cara. Principalmente dessa parte de 3JS, React e performance. Eu não sei nada disso, mano. Mas o Claudio consegue pesquisar, cara. Então eu peço muito o Claudio para pesquisar as coisas, entendeu? Eu peço muito ele para pesquisar. Mas eu tenho noção, cara. Eu tenho noção do que que eu preciso melhorar, eu tenho noção do que pedir, de como pedir. De como direcionar ele para pesquisar as coisas, porque se você não direcionar, ele vai pesquisar errado, entendeu? Então é isso. Mas a ideia que o Samuel teve é válida para qualquer outro projeto, que você precisa carregar muitas imagens de uma vez. Sim. Quando vai sair a loja para comprar as camisas, mano? Eu tô Cara, essa é a parte chata, mano. Depois que o negócio dá certo, você tem que ficar legal. Então eu tô até hoje, mano, caçando uma contabilidade. Eu acho que eu achei uma contabilidade boa, tá? Mas eu tô caçando uma contabilidade para a Geek City. Muitas contabilidades que eu achei, tipo assim, a galera não me atendia porque não é só um software, eu vou precisar também dessa parte da loja, vou precisar de e-commerce e várias outras coisas. Então foi muito difícil achar uma contabilidade. Agora parece que eu achei uma, eu tô para mandar documentação para eles e abrir um CNPJ. Eu não posso fazer, eu não consigo abrir a loja sem antes fazer tudo isso e ficar legalizado, entendeu? Então por isso que eu não consegui abrir a loja ainda, cara. Mas vai sim, cara. Eu espero que talvez nesse próximo mês eu já consigo CNPJ. Assim que eu conseguir o CNPJ, eu já abro a loja e já consigo liberar a loja para vocês comprarem as coisas, tá? Mas é isso, cara. Não posso Infelizmente aqui no Brasil eu não consigo abrir uma loja e começar a vender igual maluco, senão a Receita Federal vai bater na minha porta. Tá bom, mas vai ter a loja assim, tá? Podem ficar tranquilos que a loja vai rolar assim. O Samuel veio do ângulo por react. É isso, mano. Tem muito tempo que eu não programo em Angular, cara. Muito tempo. Não nos meus side jobs, né, mas no trampo lá eu fico programando em Ionic. Tem 4 cara codando aqui na cidade. Você quer? Da hora demais, velho. Show, beleza. Tá, vamos lá. O que que nós vai fazer agora? Que nós vamos fazer agora? O que que vocês querem codar aqui comigo hoje? O que que vocês querem codar aqui comigo hoje? Live do Samuel, uma hora conversando, 30 minutos vai codando. É isso, vocês querem que eu code, né? Vocês gostam de ver codando, vocês são tudo doido, bicho. E aí, velho, tá. Espera aí, meus amigos, deixa eu só me organizar aqui nas minhas abas aqui agora, tá? Stop. Um segundinho, um segundinho, que agora, agora eu vou rodar aqui com vocês, tá? Compartilhar a tela toda. Nossa Senhora, assim que é bom! Fechar aqui, fechar aqui, fechar aqui. Deixa eu abrir os comentários aqui no celular só para mim ficar de olho, tá? Boa! No lobby aqui a gente tem quantas pessoas? Oxi, tá viajado aí, pô. Tem 3 pessoas aqui no lobby. Esse lobby aqui também bagunçado. 3 pessoas, tá nós aqui. Boa! O GX tá falando que quer ver o negócio do lobby no arcade, mano. Mais interatividade, mais andares, pets. Deve gostar de pet. Ai, mano, pô, mano, eu tenho, ó, eu tô, eu tô com um doc aqui planejando, mano. Olha o tanto de coisa aqui, velho. Que Jobs Arcade, esse aqui, ó. Olha, eu tô com esse plano aqui para desenvolver, que é um andar novo do arcade, tá? Deixa eu fechar aqui, deixa o Claudinho abrir. Deixa eu entrar em play mode aqui, ó. Qual que é a ideia aqui? Deixa eu só mostrar para vocês primeiro, mano. Olá, eu quero criar um novo andar aqui no arcade, tá? E ele anda— a ideia é ser um andar que a gente vai chamar de FN Society. Isso aqui é a ideia disso aqui, é ser referência de Mr. Robot, tá? E aí a ideia vai ser um andar onde você consegue fazer vários joguinhos e vai ter uma máquina de 10, de um challenge de 10 segundos. Então é aquele negocinho, você aperta e você tem que cravar em 10 segundos. A ideia é essa, mano, tem um challenge lá, um joguinho dentro desse negócio aqui, entendeu? Basicamente é isso. Então lá tem um cara, vem, já tem, já tá tudo planejado aqui, tá tudo funcionando aqui, ó. Então a gente vai planejar isso aqui, mas vocês estão falando aqui, ó, já pensou, deve entrar no lobby com um pet acompanhando ele, mano. O problema é que vocês gostam disso mesmo, né, mano. Vocês gostam disso, cara? Por que que deve? Por que que a gente é assim? Não é igual Fortnite, mano? Fortnite, eu tenho meu pet também no Fortnite, cara. Não sei que parada é essa que a gente tem de pet, mano. Que parada é essa, velho? Mas, cara, pô, mano, essas ideias aí, esse tipo de ideia que eu preciso de vocês, cara, para saber o que que vocês Porque pensa comigo, mano, eu preciso achar uma forma de monetizar essa parada aqui, tá? Eu preciso achar uma forma de monetizar isso aqui. E se eu não conseguir monetizar com as empresas, eu vou ter que monetizar com os usuários, entendeu? Então eu acho que talvez monetizar essa parada com skins, skin, customização, patch, Tipo assim, tipo o que é no, o que foi no Habbo, né, no Habbo Hotel, você conseguir comprar as paradas. E aí, quanto mais você tem duas formas de conseguir as coisas, né, ou você utiliza o jogo e trabalha ou faz alguma coisa assim para você ganhar moeda, porque aqui na gente já tem a moeda da cidade, entendeu? Então aqui na gente já tem os pixels. Então isso aqui é a moeda da cidade, você consegue comprar esses pixels. Isso você não sabe, você consegue ganhar pixels de graça, tá, para você comprar coisa na cidade, para você comprar as coisas no shopping. Então quando você faz a missão diária, quando você faz um raid, quando você faz ofensiva, quando você visita perfis, então você consegue fazer isso aí, entendeu? Mas hoje o shopping ele é só para o prédio, cara. E eu vejo que realmente parece que a galera gosta de customizar as paradas. Só que aí vem outra questão, mano. Eu consegui customizar essas paradas aqui, é fogo, cara. Eu realmente não sei como que eu farei isso aqui, é um pouco difícil, mas dá. Dá sim. Os comentários aqui, ó, deixa eu— Hi, message! Deixa eu voltar aqui para minha cara aqui, ó, que aí eu consigo responder vocês, cara, que eu vou falando aqui, depois vou respondendo aqui, ó, vou mostrando vocês. Caramba, vocês comentaram bastante, mano. Caramba. Mas é isso aqui, ó, vamos pensar nisso aqui, tá? Vou tentar planejar alguma coisa com o Cláudio que agora com vocês sobre isso. Pergunta: como que você planeja as etapas do projeto? No meu caso, eu uso bastante o GPT para ir fazendo meus checks, mas muito, mano, o que vem na minha cabeça eu colo, mano. Eu não tenho planejamento nenhum. Então eu mostrei lá a parte de docs, lá tem uma parada de coisa que eu planejei e ainda nunca nem fiz, tá ligado? Então é mais o que tá vindo na minha cabeça mesmo, entendeu? Alguém acabou de escanear aqui, ó. Mas é isso aqui, ó, a gente tem um grupo no WhatsApp da comunidade aqui do canal. Entra lá, mano, eu tô sempre lá. A galera conversa bastante. Escanei aqui o grupo. Entra no grupo, o grupo é bem legal, a galera tá lá, a galera é bem ativa. Mateus, bom dia, meu brother! Seria legal nesse lobby aí a pessoa poder conversar com os outros por chat mesmo, tipo, mano, mas já pode, mano, no lobby ali você já consegue conversar, tá bom? Deixa eu jogar papel no parceirinho. Que isso, mano, os cara já quer entrar na porrada. Eu vou ativar um modo PvP aqui no arcade, você consegue meter a porrada no outro, imagina. Olha que da hora! Já pensou um lobby entrando no pet, acompanhando? Dá até para vender os pets na lojinha. Que isso, mano! Tipo Clube Pinguim. Exato. Tem um sistema de moeda onde você trabalha no arcade, ganha moeda, compra o pet. Tem pet raro. É, pelo visto eu vou ter que fazer isso mesmo, mano. Queria muito achar uma live assim. Bom dia, meu amigo! Que bom, você achou. Por isso, dá dica do que é melhor, VS Code mais Cloud Code ou curso pago mais Cloud Code adicional. Mano, eu particularmente prefiro só pagar o Cloud Code, usar ele na CLI, usar o VS Code. Eu não me adaptei ao curso, não gosto do curso. O agente do cloud, ele é muito melhor que o curso. Você pode perguntar para qualquer dev que já usou o curso usando o Opus. Você pode ir lá no curso com cloud adicional, usar o Opus lá, Só que o agente é diferente, mano. O agente do Cloud, o Cloud Code CLI, o agente dele, ele tem um molho especial, cara, que não dá para explicar. Vários devs já viraram para mim, um amigo meu já virou e falou: cara, é, eu nunca pensei que eu ia dizer isso, mas o Cloud Code CLI é melhor mesmo. E isso que ele ficava usando o Cursoi, falando: não, mas eu já uso o Cloud no Cursoi. Então, cara, paga o Cloud mesmo e vai dar bom, tá bom? E fica aqui até o final da live que eu vou fazer um sorteio de uma semana do Cloud Pro, tá? E não se esquece de deixar o seu like, se inscrever no canal. Lancei um vídeo sobre a Git City recente, tem um vídeo sobre economia de tokens. Se você não viu ainda, veja e compartilha esse vídeo, mano. A galera tá descobrindo o vídeo agora. Eu fiz um vídeo há um mês atrás e hoje tá todo mundo reclamando que o cloud code você acaba com os token muito rápido no cloud. Ver meu vídeo, mano. Ver meu vídeo que você vai entender as paradas, que vai, como é que vai entender. Enfim, só assista meu vídeo. O Clube Git, seria interessante um jeito de colocar a própria skin como se fosse skin do Mine, mas não tô não, editor de skin, só um up de PNG que renderiza ela. Nossa, mano, não, mas botar um PNG como skin, não dá não. Fala, Giovanni, quais as techs do Git City? React.js, Next, tô usando Next com React, 3JS, Supabase. Acabou, só isso, só isso, só isso, isso vem desde Pokémon, Digimon e tal. Acho que a melhor forma de monetizar um jogo é pelo visual. Roupinha sempre ganha a galera que tá com dinheiro sobrando. Exato, exato. Bom dia, Gabriel! Bom dia, bom dia, bom dia! Caramba, mano, tem muito comentário, tô descendo aqui, cara. Eu gosto de comentar, mano, eu gosto que vocês participam, tá ligado? Então por isso que eu gasto tempo aqui comentando com vocês. Eu não sou igual alguns outros YouTubers que faz uma live de 2 horas e não olha nem os comentários e nem interage com a galera, só fica lá falando para ele mesmo e a galera que se dane. Eu gosto que vocês participam, mano, isso é bom para caramba, cara. Isso é muito bom. Lançar cripto então? Já, já tem, mano, já tem uma moedinha da Geek City lá. Comprar as tags e tal, se for monetizar. Então se for comprar roupinhas, cabelo, com umas moedinhas, só se for comprar roupinhas, cabelo, tags, customizar o setup de trabalho como é feito no Gogger. Mano, o Gado é um bom lugar que eu me pego como muita referência, tá ligado? Muita referência, tem muita referência dele. Só que, mano, os cara tem uma puta equipe, os cara tem game designer, os cara tem a galera que trabalha com pixel art, tá ligado? E eu preciso achar um jeito de conseguir fazer isso com o Cláudio. Essa aqui é a questão. Seria massa ter um minigame contra outros usuários, exemplo, o jogo da velha dama. Pô, aí você deu uma ideia boa, hein, mano? Você conseguir lá no arcade jogar contra outro cara. Caramba, boa! A reação do Samuel tentando contar os planos que já estavam prontos para criar um novo andar. Será que uma ferramenta ela é para virar um site monetário? Claro que pode, pô, claro que pode. Você tem que saber muito bem, tem que ser uma ferramenta muito boa para virar um SaaS. Igual, mano, o Cloud, por exemplo, Cloud CLI é um SaaS, galera paga para ter acesso a ele. Boa, foi só para comentar mesmo, para participar? Não, mano, mas pode comentar isso mesmo, cara. Farpano, mano, David, não falei, não falei que foi ele, tá? Não falei que é ele, não falei, tá bom? Bom dia, tem demanda aí? Não, tô precisando de um trampo, fila, sei lá, fiquei desempregado em janeiro. Caramba, mano, eu acabei de falar aqui na live, mano, que a Get City agora tem jobs, então você consegue dar umas olhadas lá, né? Algumas vagas de emprego tem lá, show. Perfeito, vou testar sua sugestão de abrir o vídeo em outra aba. É isso, meu amigo. E se inscreve nesse canal aqui, porque esse canal aqui é o melhor de ar, e a galera ainda não conhece esse canal porque a galera prefere ficar seguindo influencer que fala que fez um SaaS e ganhou 1 milhão de dólares e não fez bosta nenhuma. O cara faz um SaaS que é hackeado em 2 segundos. Aqui o nosso SaaS da GitSeries, eu fiz ele um dia O Yuri deve tentar hackear esse site aqui, ele não conseguiu porque eu fiz o negócio direito, tá bom? Eu fiz o negócio direito. Então aprendam comigo, aproveitem que vocês têm eu aqui uma hora enquanto eu não tô famoso. Aproveita enquanto eu não estou tão famoso assim que vocês têm eu para dar muita atenção para vocês, para tirar dúvida, para responder, para falar e para interagir com vocês, tá? Aproveitem, aproveitem. Boa, boa, boa, boa, boa! Os caras já tá querendo apostar, mano. Dá até para postar moedinha nos games contra, tipo, apostar no xadrez. Que foda! O que que vocês acham? Os cara, mano, as ideias, cara! Deixa a comunidade criar o próprio pixel art, a própria skin. Como é que você vai fazer isso, mano? Como é que eu vou fazer um negócio desse, velho? Pô, acho que pior que dá meme, mano. Só que você, caramba, mano, tipo assim, dá para você criar sua própria skin, tá ligado? Eu tô vendo os caras fazendo umas parada aí que você manda um print, aí consegue gerar os sprites do seu bichinho, cara. Deixa eu compartilhar, pera aí, deixa eu só terminar aqui os comentários que eu cheguei nos últimos aqui. Tem opção de prédio das empresas, por exemplo, 5 devs estão trabalhando na mesma empresa, pode criar um prédio junto. Selagante, põe a publi também. Boa! Engraçado esse pessoal que vem de curso ensinando a criar app, usar área de membros pronta, se o cara é pica não fez. Exato, mano. Tudo, não posso falar isso aqui em live, tá? Mas tudo gente boa, os cara muito bom. Vocês devem sim escutar eles, devem sim ver o vídeo deles, tá? Enquanto isso, meu vídeo falando sobre tokens, falando sobre o que que eu fiz a cidade, como que eu vi a cidade. Tá lá com mil views e os cara tão com 20 mil. É porque eu não sou do marketing, cara. Eu não gosto de enganar as pessoas, cara. Eu não gosto disso. Mas infelizmente as pessoas gostam disso. Elas gostam de ser enganadas. Elas gostam de achar que é tudo muito fácil fazer. Elas amam fazer isso. E as pessoas, enfim, esse é o nosso Brasilzão triste. Mas, cara, vamos para o que importa aqui, ó. Voltando aqui para vocês. Mas deixa eu mostrar aqui, ó, a parte de aqui, ó. Cadê, cadê, cadê? Public, Sprites, Arcade. Olha aqui, ó. Olha como é que são os avatares, cara, que a gente tem hoje. Eita, Giovana! Olha que doideira, é um PNG, cara. Então, por exemplo, se eu conseguir achar uma IA que consegue realmente fazer um PNG desse aqui, ó, Dessa forma aqui, olha lá, isso aqui, ó, esse PNG aqui transforma isso aqui, ó, transforma nesses bichinhos aqui, tá vendo? Caramba, já tem bastante gente aqui, mano, tem 5 online. E aí? É um chatzinho aqui que da hora, mano. E aí, e aí, tá vendo? Então aqui, ó, eu tenho as fornitures aqui, que são as coisas que eu tenho. Mas isso aqui, mano, é tudo um PNG, tá ligado? Isso aqui foi o Claudio que refez. Então eu fiz um forniture Lumen para fazer referência. Então esse cacto aqui normal é verdinho, tá vendo? Mas eu pedi o Claudio para mexer e transformar ele no Lumen, no Severance, para deixar ele mais diferente, tá ligado? Mas essa que é a questão, cara. Se eu conseguir achar uma forma de fazer isso aqui, porque isso aqui hoje tá fixo, então eu teria que conseguir transformar e fazer um uma parada dessa aqui. Deixa eu ver como é que tá meu compartilhamento de tela aqui, cara. Eita, deixa eu voltar para cá. Que que é isso aqui, mano? Oxe, não sei o que que era aquilo ali não, tá? Mas é isso aqui, guys, entendeu? Mas tá, vamos lá. Normalmente, o que que eu faço aqui com o Cláudio, tá? O que que eu faço aqui com o Cláudio quando eu tô com uma ideia? Então eu viro e falo, use a skill de brainstorming. E aí, o que que eu vou fazer, mano? Se liga, vou vir aqui em chat. Deixa eu ver se eu vou conseguir copiar tudo aqui. Consegui. Usei esse aqui de brainstorm e vamos analisar como podemos fazer isso. Que o pessoal da live tá falando sobre as skins e pets, e vou mandar para ele. Como eu já falei com vocês, aqui meu Tamagotchi, aqui, ó, Pebble. Desgrama de bicho que é isso, velho! Que desgrama que é isso! Então, o Cláudio vai carregar esse skill de brainstorming aqui, ele vai começar a explorar o sistema para ver o que que ele tem, que que ele não tem, como que funciona as coisas. E aí aqui a gente vai começar a planejar essa parada, entendeu? Depois que a gente planeja, ele vai criar o arquivo. Mas aqui é o que eu quero fazer aqui com vocês hoje, tá? Para mostrar para vocês como que eu transformo uma ideia que eu tô tendo e como que eu trabalho com o Cláudio para gerar um arquivo de planejamento para depois implementar isso. E aí, o que que normalmente eu gosto de fazer? Isso aqui eu já falei com vocês várias vezes, tá? Enquanto eu estou planejando uma coisa, que eu tô com uma skill de brainstorming, eu estou codando outra. É isso que normalmente eu faço. Então, não, eu posso vir aqui, ó, em plans. Eu posso vir aqui, ó, Arcade. Vamos implementar isso aqui, porque isso aqui já tá pronto, cara, o plano, sabe? Então eu já consigo começar a pensar em implementar isso aqui. E aí vocês vão ver que aqui, ó, eu vou ficar respondendo o Cláudio. Vários e vários e vários e várias perguntas e vou fazer um plano muito bem feito, enquanto aqui o cloud vai começar a implementar e eu vou testando tudo que ele tá fazendo. E é assim que normalmente eu trabalho, cara. Eu não gosto de criar 10 mil, não gosto de criar 10 mil branches, 10 mil work trees, colocar 10 agentes para rodar ao mesmo tempo, porque eu gosto de ter controle do que o cloud tá fazendo, cara. E é por isso que a Git Siri tem uma UX, uma UI muito boa, porque eu controlo tudo que ele faz e eu direciono ele em tudo que ele faz, tá? Mas esse plano aqui, ó, a ideia é ter um novo andar de jogos, tá? Então a ideia é que esse andar tenha várias máquinas para você jogar e fazer esses minigames. Beleza. Então a Skill de Brainstorm tá me perguntando coisa aqui, ó. Pergunta das ideias da galera: o que que te anima mais como próximo passo? O pets no lobby, skins, avatar customizáveis, tags e badges visuais, upload de skin pela comunidade? Minha recomendação é A, é o mais impactante porque é visual, monetizável, se encaixa perfeitamente no sistema de itens. Que já existe, nova zona pet. E a galera da live ficou mais empolgada com isso. Skin avatar é mais complexo porque muda o sprite render inteiro do arcade. Eu gosto. E aí aqui, cara, não tem resposta certa, tá? Você pode só, você pode simplesmente mandar um A aqui e ele vai entender que é o pets. Mas eu gosto de falar com ele, cara. Então fala: eu gosto. Dos pets. Esquema vai estar acostumizado, skin vai ter mais complexo, mas me tira uma dúvida, uma dúvida. Deixa eu pegar aqui, ó, public sprites arcade. Copy path. Os avatares hoje são PNG assim. Isso é realmente complexo de fazer e de customizar. Que ele já tá criando lá, ó, Arcade Scores, Leaderboard, tá? Pode criar. Porque, mano, tá vendo aqui, ó, que ele tá falando que Skin e avatar é complexo para caramba. E aí, olha, olha isso aqui, cara. Por isso que, ai, cara, por isso você tem que pensar, mano. É simples. Olha o que eu virei para ele, falei, ó, mas tinha uma dúvida, os avatar hoje são assim, ó, é um PNG. Aí ele, deixa eu olhar como é que o sprite é renderizado no arcade. Olha, agora tem um quadro completo. Resposta curta: não, não é complexo. O sistema de sprites é bem simples. Cada avatar é um PNG, cada frame é 16x32, o render só faz um image. Então, para adicionar customização de avatares, existem duas abordagens viáveis: composição por camadas. Em vez de um PNG monolítico, o avatar vira camadas sobrepostas: base, cabelo, roupa e acessório. E o render só faz múltiplos draw image em sequência na mesma posição. É literalmente adicionar 2 ou 3 linhas de draw character Cada camada é um item na shop. Abordagem B: o upload de skin PNG, tipo Minecraft. O player sobe um PNG seguindo o template. Mais simples de implementar, mas menos monetizável. Não vende peças individuais. Pergunta 2: sabendo que é simples, isso mudou sua prioridade? Quer ir com skin por camadas? Pet primeiro, companheiro que segue o player no lobby, diferente de tudo que existe, ou ambos juntos. Skins são tão simples que dá para fazer os dois na mesma feature. Minha recomendação agora mudou. Como a skin são 20 linhas de— olha isso aqui, mano, diz ele que é muito fácil, tá? São 20 linhas de código no render, novos PNGs. Pets são um pouco mais pathfinding de follow, mas encaixa no mesmo sistema de items. Dá para lançar as duas com um update customização que a galera da live vai amar. Olha isso aí, mano. Eu tô pensando que eu vou responder para ele aqui, cara. Você tem certeza disso? Como que eu vou gerar as imagens de skins customizáveis. Pesquisa como outros jogos fazem isso. Eu sempre gosto de pedir ele para pesquisar, tá? E ele pesquisa bastante. Enquanto isso aqui, ó, enquanto eu tô conversando com ele, ele tá implementando aqui a outra parte, tá vendo? Claudio é doido, né, mano? Olha aqui, velho, ele já fez um jogo inteiro aqui, ó. Olha que doideira, bicho! Mas pô, eu também prefiro, cara, já fazer os dois juntos, entendeu? Já fazer os pets e se eu já conseguir já lançar uma parte de você conseguir customizar sua skin, entendeu? Porque isso aqui, mano, a questão é Acho que é tão simples assim não, tá, cara? Porque se, por exemplo, eu coloco uma roupa diferente nesse cara aqui, tem até, mano, tem até um site, cara, Custom Character Pixel Art, tem um site, mano. Não, mas esse aqui não, cara. Top down. Aqui, ó, eu posso dar um by the way aqui, ó. Tem um site que dá para criar avatar. Customizado, qual é ele? Não sei se você sabe, mas o Cláudio agora tem uma parada de by the way aqui, ó, a propósito, você consegue fazer uma pergunta enquanto ele tá pensando em outra coisa, entendeu? Aqui, ó, acho que é esse aqui, ó, isso, olha aqui, ó, olha esse aqui que da hora. Esse aqui você consegue customizar bastante coisa, mano. Vai lá. [LAUGHTER] Que doideira. Deixa eu dar mais um zoom aqui, ó. Só que eu não sei se a gente consegue reset all. Eu não sei se a gente conseguiria gerar alguma coisa com isso aqui, tá ligado? Porque talvez se eu conseguir usar esse carinha aqui, esse site aqui, para gerar várias skins e várias coisas, aí é GG, mano. Aí é GG, porque aqui tem muita coisa, muita coisa mesmo. Então você tem, você consegue mudar o bichinho aqui, ó, mudar o cabelinho lá. Tem muita coisa, cara. Head. Que doideira! Esse aqui tem muita coisa. Entendeu? Mas ela, ó, Cláudio respondeu. Boa pergunta, resposta, tu tava certo de questionar. Pesquisei com o jogo, aqui o resumo: todos o mesmo padrão, paper doll, boneco de papel. A ideia é simples, personagem não é um PNG, são camadas sobrepostas, cada uma com o mesmo formato de sprite sheet: corpo, roupa, cabelo, acessório, chapéu. Cada camada é um PNG, mesmo grid como o teu chá, com fundo transparente. No render tu desenha uma em cima da outra. Quem faz assim? Rabo Hotel, Rabo Hotel, tá vendo? Gator Town. O truque de performance, cache on change. O problema com 100 players na tela, sem camadas, draw image por frame. A solução que todo mundo usa. Quando o player troca de roupa, compõe as camadas num offset canvas. Zero impacto na performance. Ele já até falou desse aqui, ó. Eu tenho algumas opções. É um pixel art manual, tu, um artista, desenha cada peça com overlay, é o mais comum. Usar esse carinha aqui, sistema Open Sans, com centenas de peças. Criar uma versão em grayscale de cada peça e usar o não e a. Exato, que é o desafio, é criar os assets. Cada peça precisa do mesmo formato. Para um personagem de 72, cada peça é minúscula. Estamos falando de 5, 10 pixels. Diferença entre um cabelo e outro. É trabalhoso, mas factível. Pergunta 3: dado que o desafio é recriar o Zazi, como que tu quer abordar isso? Começa com color time, investir em pixel art, começar com pets, que são sprites independentes, não precisa alinhar com o corpo, mais fácil de criar e gerar, e igualmente monetizável. Enquanto isso, prepara um sistema de camadas para o futuro. É, a gente começa com os pets. Que são sprites separados, qualquer pixel art 16x16 funciona, não tem um problema de alignment, pode começar rápido enquanto planeja já os assets de skin com calma. Esse universal aqui, cara, filter, dá um reset all aqui. A minha questão era se eu conseguia, cara, porque aqui, cara, o que que eu penso, tá? O que que eu penso? E o que que eu poderia tentar fazer com o Cláudio aqui agora? Eu poderia tentar gerar um arquivo com esse carinha aqui, tá, e tentar fazer uma POC com ele para ver se daria para colocar esses bichinhos aqui dentro, entendeu? Import, export to clipboard JSON. Como assim, mano? Ele exportou essa parada em JSON? Não entendi foi nada. Que que é isso aqui? O que que eu vou pedir para ele? Que a gente consegue, a gente consegue fazer uma POC. Cadê, cadê, cadê? Com esse carinha aqui, com esse carinha aqui. Vou mandar o— olha o projeto no GitHub e pesquise como podemos tentar adaptar o export dele e modificar para funcionar. Na Git City, porque se a gente consegue usar esse carinha, aí fica fácil, entendeu, da gente trabalhar essa parada. Deixa eu ver os comentários aqui, ó. O que que vocês fazem enquanto o Cláudio está acordando para vocês? Eu uso uma outra instância para ficar conversando com ele. Assisto o Rios. Isso são só dois terminais ou você tá usando o Gateway? São só dois terminais, mano. Inclusive, queria saber, já tá implementando isso na main? Não seria uma branch apartada? Depois tu faz o merge. Sim, cara, sim. Ali eu tô na main porque eu tô só mexendo as coisas, mas eu consigo criar uma branch ali facinho para mexer nas coisas, tá? Pode deixar a opção de você criar sua própria schema, mas daí você tem que pagar por isso, você passa uma aprovação difícil subir. É treta, mano. Na parte da arquitetura aí, na model do user tem um campo de skin que fica armazenado no storage do Supa. Fiquei imaginando aqui. Sim, mano, eu só amargo, eu não acho que ele vai usar no campo do Superbase, tá? E aí a skin fica como é um arquivo estático, ele carrega ela. É uma tabela com opções de skin, fica ligado a tabela user. Eu acho que fica dentro da própria do user mesmo, tá? Acho que é isto, acho que é isto. Aqui ele terminou. A implementação. Fez bastante coisa, diz ele que fez, tá? Basta criar uma Room no banco com objeto e rodar migration. Ele tá falando que eu só preciso rodar migration e criar uma Room no banco. Então aqui, ó, tem minha migration aqui de Arcade, tá? Aquele discurso. E como a gente veja como os outros foram criados. Você pode fazer SELECT no banco para ver. Então aqui— eita, cadê meu Super Baseball? Ah, tá aqui, meu Super Baseball está aqui. SQL Editor rodando aqui a migration. Beleza. Que isso, mano, o chat aqui tá rolando, tá? Cadê meu minigame? Me dê meu pet! Deixa o like, deixa o like, deixa o like, deixa o like, deixa seu like, deixa seu like, galera falando do like aí. Pesquisei a fundo sobre o LPC. O problema: os sprites do LPC são 64x64, os seus são 16x32. O que que funciona? Copiar a arquitetura e não usar. O LPC tem 771 JSONs de definição de Sistema de desordem por camada, palette swap. Essa arquitetura é exatamente o que a gente precisa. O código de composição, 50 linhas. O que dá para fazer como POC? A POC real seria copiar o sistema de camadas do LPC, cada um é um item 112x96 no mesmo formato que o SHA. O renderer desenha um em cima do outro, criar 2 ou 3 peças de teste Pegar o teu chá, separar em camadas, color thing. Que isso, cara? Criar as peças em grayscale e usar o composite para pintar. Question demand. Cara, eu quero uma POC mesmo. Precisamos testar para ver se vai funcionar. Pode ser até em um HTML separado. Então ele vai criar uma POC aqui, ó. Vou criar um HTML standalone que carrega o teu Charum Zero como base, demonstra a composição de camadas, mostra o color theme, enfim, e anima o personagem com as camadas compostas. Entendeu? Isso aqui é uma coisa que eu sempre faço com o Cláudio, tá? Toda vez que eu tô implementando alguma coisa, cara, eu sempre tento fazer uma POC. Uma POC, para você que não sabe, é uma prova de conceito. Então aqui a gente tá realmente analisando e verificando se será que tem como a gente fazer isso ou não, entendeu? Essa que é a questão. O Murilo chegou aí, ó. 33 pessoas na live, mano. Caramba, cara! E aí, meus amigos, vocês estão bom? Vocês já deram like? Já entraram no grupo do WhatsApp? Na comunidade do WhatsApp temos um grupo aqui do canal, se você não sabe. Lá eu tô sempre lá online com a galera, a galera se ajuda bastante, tá? Fala, Murilo. O Superbase se torna caro com o crescimento do seu projeto, você consegue usar bastante por muito tempo e com dados massivos, digamos que chegou a 100 mil usuários? Cara, você consegue usar muito, mas muito mesmo, com um plano, pagando um plano Pro, você vai pagar cerca de R$300, R$400 por mês. Para você ter muitos usuários. E você consegue ficar um bom tempo no plano gratuito também, tá? Mas ele não vai se tornar caro com o crescimento, a não ser que, tipo assim, cara, 100 mil usuários é muita coisa, usuário que usando diariamente, entendeu? Então é isso. Ou Murilo aqui, ó. O Murilo foi o que ganhou na live passada o sorteio do Cloud Code aí, ó. Hoje acaba meu 7 dias do Pro, mano. O que que você achou, cara, do Pro, do Claudio Coach? Você tava usando uma outra aí? Ah, se você puder dar um comentário aqui com a gente, o que que você achou, como é que foi sua experiência? Pode ser um comentário curto, ou se você quiser mandar mais coisa também, mas manda para galera aí para eles verem. E eu vou ter que assinar. Pronto, preciso falar mais nada. Ai, ai, olha lá, é isso aqui, ó. Você chegar 100 mil usuários vai ter que se preocupar com contador, né? É isso, mano, é isso. Vamos ver o Claudinho aqui, vamos ver Claudinho. Vai, Claudinho, vai! Vi todos esses sprites. Agora ele tá falando já no HTML aqui. Agora ele, que ele tá vendo como é que funciona a parte de, do JSON do banco de dados. Vamos ver o Murilo aqui falando, ó: eu usava somente o GPT, não o Codex, e esse Cloud, caraca, já comecei dois projetinhos só com ele, super base. Boa! E para mim, por enquanto, o pró tá dando conta. Só vai, mano. Claudinha é foda, ô Claudinha é foda, pô. Galera, eu vou ter que terminar a live aqui daqui a pouco, mano. Eu não queria, eu queria só testar essa Poké aqui com vocês, mano. Ele acabou de criar e ele acabou de abrir aqui no local host. Tava na raiz do projeto lá, ele precisa só mexer aqui de novo, editar os arquivos aqui. Tá, cadê o HTML aqui? Olha o que que ele fez aqui, guys! Caceta! Caramba, mano! Tá lá, pronto, a POC tá rodando. Ela mostra os 6 sprites originais, então o Char 1, Char 2, 3, 4, 5, 6. Tá, ela decompõe o CharZero em 4 camadas por cor: body, clothing, hair e hat. Converte para grayscale. Então aqui, ó, body, a roupa dele, roupa dele não ficou legal, o cabelo, o hat e o composite. Ficou totalmente bugado. Mas olha o que que ele já tá aprontando aqui, mano. Se a gente conseguir acertar esse layer decomposition aqui, ó, olha isso aqui, mano. Olha isso aqui, velho, que que o Claudio fez, mano. Não, vocês não estão entendendo isso aqui não, cara. Olha isso aqui, ele tirou a parte daqui e ele já fez uma parada de lá, o customizar a parada inteira, mano. A skin do cabelo, eu quero cabelo branco. A minha roupa, eu quero a roupa preta. A skin, porque ele tá pegando a skin como cabelo, né? E o boné. Olha isso aqui, mano. Olha isso aqui, guys. Ai, ai, eu não tô mostrando a tela. Que merda, que merda! Desculpa, desculpa, desculpa, desculpa! Fui moleque, fui moleque. Calma, calma, calma, desculpa. Olha isso, o que que o Claudio fez. Desculpa, velho. Olha o que que o Claudio fez. Ele fez a POC, tá? Fez a POC. E nessa POC ele criou os sprites originais, tá vendo? Charum 01, 02, 03, 04, 05. E aí ele fez a decomposição desse Charum aqui, ó. Então ele pegou esse carinha aqui, esse aqui, e fez isso aqui, ó. Ele pensou que o body foi isso aqui, mas esse aqui é o cabelo do cara, teve nada a ver. Então esse aqui ficou todo vacalhado, que vacalhou tudo. Só que olha isso aqui, mano, um live compositor aqui, ó lá, eu consigo selecionar qual layer que eu quero mostrar e qual layer eu não quero mostrar, e eu consigo mudar as cores já. Olha isso aqui. Então, se a gente consegue fazer isso aqui e padronizar esses arquivos aqui, esses sprites aqui, acabou. Eu consigo literalmente fazer qualquer coisa aqui, mano. Essa aqui é a questão. Então, ele já tem as outras coisinhas aqui, ó, para frente, para um lado e para o outro. Olha isso aqui, mano. Olha isso aqui, se eu deixar tudo preto. Olha isso, mano. Olha isso. Tão vendo agora, guys? Vocês tão vendo isso aqui agora, guys? Então o que que eu vou fazer para ele, mano? Eu vou mandar para ele isso aqui, ó. Vou mandar para ele um print, cara. Manda para ele um print, cara. A decomposição ficou muito bugada, mas se a gente acertar nisso Acho que vai dar muito bom. Acho que vai dar muito bom. Tá, então lá, desenhar um body base pixel por pixel no canvas, desenhar overlays separados, compor com tintin e mostrar que funciona. Vou escrever completamente. Em vez de compor por cor Vou desenhar as camadas pixel por pixel no estilo do teu CharZero, um personagenzinho desconstruído zero camadas. Beleza, enquanto aqui ele tá gerando o mapa. Do F Society, que é o novo andar lá do escritório, tá? Respondendo pergunta aqui, ó: por que que você usa o CLI? Ele não tá torrando token demais desse jeito? Não, não, mano. E eu uso a CLI, principalmente a CLI aqui no terminal, cara, porque eu consigo colar imagens. E aqui para mim é o melhor jeito que eu tenho utilizado, cara. Gosto para caramba desse jeito aqui. Aqui agora ele vai executar e colocar um JSON novo ali. E aqui ele tá executando as camadas aqui, ó, tentando reescrever a POC por camadas. Vamos tentar, vamos ver. Bom, guys, enquanto isso, cara, Deixa eu ver aqui para a gente já indo para o final da live. A pergunta que é: por que não usar extensão? Também dá do mesmo jeito. Não gosto, cara, não gosto. Eu acho a experiência do terminal muito melhor do que a da extensão, cara. Não sei por quê, mas eu gosto, tá? Então vamos lá, Arcade. Como é que eu— deixa eu logar aqui, ó, 3001, tá? Beleza, vou entrar aqui no lobby. Vou entrar no andar de F-Society. Eita, não é que ele criou um andar novo mesmo? Tá bugado, com certeza tá bugado, mas nossa, conectando, conectando o quê, caramba? Tô testando, apertei espaço e ficou conectando. Beleza, mas depois é que eu vou ter que fazer os sprites, né, fazer as coisas aqui dessa parte, tá? Enquanto isso ele tá reescrevendo aqui a POC. Para a gente mexer, mas já tem um arquivozinho aqui, ó. Beleza. A ideia é que ele começar o desafio. A tela do jogo tá aparecendo corretamente. Game Start foi enviado. Ah, eu tenho que dar deploy no outro carinha ali. Entendi. Fui, moleque. Esse Party Kit aqui é a parte, é o que eu tô usando para fazer multiplayer, tá? Enquanto isso, guys, deixa eu abrir uma nova parte aqui para a gente fazer o sorteio, tá? Fazer o sorteio do Cláudio aqui, ó. Tem 32 pessoas na live. Eu vou copiar o nome de todo mundo aqui. Eita, caramba, não consigo daqui. Deixa eu abrir no YouTube então. Deixa eu abrir no YouTube aqui e a gente vai sortear o Claudinho aqui, ó. Eita, o YouTube não mostra todo mundo aqui não. Ô caramba, não. Agora aqui, ó, boa. Isso aí, ó, comenta. Se você não comentar, você não vai participar do sorteio, tá? Eu vou abrir aqui uma parte com o Cláudio aqui, eu vou falar a mesma coisa com ele. Estou em live e vou fazer o sorteio para uma pessoa ganhar uma semana de Cloud Pro. Vou te mandar os nomes dos usuários que comentaram na live, faz uma lista. Para mim deles primeiro, sem repetir os nomes. Oh, tá, o último que tinha comentado era o Jean Júnior. Tem mais, tem mais. Agora vocês comentam, né? Agora vocês comentam. Agora vocês comentam, né? Beleza, 28 pessoas. Tá show! Qual a lista completa? Não tem nome repetido. Beleza, 28 pessoas sem repetição. Boa! Enquanto isso, vamos ver aqui, cara. Beleza, deixa eu só testar aqui, mano. Aqui deixa eu dar um F5. Eu só quero testar isso aqui antes com vocês, tá? O joguinho que a gente acabou de fazer aqui. Play, start. 10 segundos, vamos ver se eu vou conseguir. 5, 6, 7, 8, 9, 10. Eita, não tá parando ao apertar Space. Não consigo nem sair do jogo, tá? Bugou. Ai, ai. Diz ele que atualizou os sprites aqui, tá? Agora ele fez do zero. Caramba, velho, o que que ele fez aqui? Que doideira! Olha, o braço ficou totalmente bugado, né, mano? Mas olha o tanto de coisa que ele fez aqui, velho. Ele gerou vários caracteres aqui porque ele fez vários bonés, várias roupas. Caramba, mano, o Claudio fez isso aqui tudo agora, velho. Tipo assim, para chegar nesse nível aqui, cara, é bem difícil, mas com mais alguns prompts e mais um trabalhinho bem feito aqui dá para a gente chegar, tá? Mas a gente já tá bem avançado nisso aqui, beleza? Então vamos focar aqui, ó, vamos fazer o sorteio, cara, que eu preciso terminar a live. Beleza, 28 pessoas sem repetição. Agora eu vou mandar aqui, ó, na minha skill de teaser. Eu quero que você faça o sorteio, mas não me mostre nada aqui no terminal. Gere o arquivo e abra ele após com o usuário sorteado. Beleza, Claudinho vai sortear aqui, tá, galera? Deixa eu ver, eu tô compartilhando minha tela, eu tô compartilhando. Eu vou deixar aqui no arcade aqui enquanto isso. Olha lá, ele tá, ele já tá fazendo um arquivo lá em Python que ele faz para gerar um nome aleatório. E o sorteio, se a pessoa não tiver aqui na live, a gente sorteia de novo. Se a pessoa tiver aqui, você me mandou a mensagem no WhatsApp pela comunidade, mandou mensagem lá com print do seu canal do YouTube, que eu mando para você o link com uma semana de acesso ao Cloud Pro. Beleza, então ele tá gerando lá. Enquanto isso, a gente vai testando aqui as coisas. Deixa eu ver isso aqui se ele já corrigiu. Corrigiu, mas agora tá bem bugado aqui. A gente vai ter que— é o que eu falei com vocês, galera, depois que ele faz implementação tem que testar, mano, não tem como, cara, não tem como. Vamos ver, 2, 3, 4, 5, 6, 7, 8, 9, 10. Tá totalmente bugado. Depois de 10 segundos ele não funciona mais, mano. Totalmente bugado. Aí aqui depois eu tenho que corrigir, cara, não tem o que fazer, tá? Mas a gente corrige. Mas aqui ele deu, cara, aqui e aqui, new record. 9.117. Entendi, foi nada. Space to try again. Não, tá bem bugado essa parada aqui, velho. Vai ter que olhar direitinho com Claudinho para ver como é que a gente vai corrigir. Mas é isto, ó, ele vai abrir, tá, cara? Deixa eu ver aqui, ó. Beleza, ele já sorteou e vai abrir aqui agora na tela para vocês. Pronto, Cloud Pro Giveaway, carregando. E quem ganhou? O Wellington CW. Caramba, ele fez um terminal, mano! Caramba, o Wellington CW! Cadê o Wellington? Wellington, Wellington, tá por aqui o Wellington. Deixa eu ver, deixa eu ver, deixa eu ver, deixa eu ver quem que é o Wellington, mano. Wellington CW. Caramba, cadê o Wellington? O Wellington, caramba, eu acho que ele não tá aqui, mano. Ele só deu um bom dia, o maluco só deu um bom dia aqui, ó. Pô, Cláudio, Foi só isso, mano. Ele só deu um bom dia. É, mas como eu falei, mano, se o cara não aparecer aqui em 2 minutos, eu sorteio outro, eu sorteio outro, tá? Mas, mano, olha isso aqui que Cláudio fez, mano. Node in Giveaway.js Prize 1 Week Cloud Pro Loading, 28 participantes da live. Mano, ele fez até animação de um terminal, cara. Ele fez animação de um terminal, mano. Olha lá, ele colocou o nome da galera aqui, ó. Olha isso aqui, bicho. O Cláudio é brabo, tá, mano? Cláudio é brabo. O Wellington não apareceu mesmo, mano. Caramba, velho. Tá bom, ele precisa sortear outro nome, ele não está na live mais. Então Claudinho vai sortear outro nome, cara. Tô sorteando de novo aqui, mano. Tô sorteando de novo aqui. Vamos ver quem ganhou, vamos ver quem ganhou. Próximo, próximo, próximo sorteado é Yuri Lack. Quem é Yuri? Yuri Lack é o cara que tava tentando com a vaga aqui, mano. É o cara que tava com a vaga aberta. Yuri, cadê você? Yuri, cadê você? Yuri, meu Deus, a galera realmente não tá lá, mano. Ele tava aqui, ó lá. Nossa. 9:53, pô, já tem uma hora, mano. Já tem uma hora. Cadê o Yuri, mano? O Yuri lá que subiu nem me deu emprego. Ai, mano, tá. Vou sair da live, talvez eu ganhe. Ai, meu Deus, cara. Puts, mano, problema que foi mesmo, cara. Caramba, sorteia outro. Vai sortear outro, mais um, hein? Mais um, mais um, veremos. Veremos. Já pedi para o Claudio sortear aqui, ó. Veremos, veremos, veremos quem que é agora. Quem que é o agora focado nos estudos? Quem que é esse cara, mano? Putz, mano, o Claudio não gosta, vocês estão comentando não, cara. Esse aqui tava por aqui, mano, agora, 10:57. Focado nos estudos. Ai, mano, não mostrei a tela aqui, ó. Claudio Code Pro, give away, focado nos estudos. O focado nos estudos tá aqui. Não é possível, mano. Aí, ó, aí, ó, chegou, chegou, chegou! Aí, ganhou, ganhou! Focado nos estudos. Cadê, mano? Não consigo nem clicar aqui, mano. Aí, ó, opa, é eu! Pronto, meu amigo, você ganhou uma semana de Cloud Pro. Meus parabéns! Já tá lá no grupo do Zap, já manda o seu print do seu canal aí, tá bom? Manda o seu print do seu canal. Só soltei o maluco aqui, nunca viu isso antes, mano. Eu soltei, pô, eu tô fazendo ao vivo aqui com vocês. Olha lá, mano, olha lá, ele gera aqui, olha lá, ele gera. Deixa eu mostrar para vocês, é um random Python random. Deixa eu mostrar aqui, ó, pera aí, pera aí, eu sei que eu não tô compartilhando, tá? Desculpa, mas aqui, ó, ele gera lá Python random. Aí ele pega os usuários e pede lá, dá um print no Windows, focado nos estudos. É um sorteio, cara, é um sorteio, tá bom? Deveria focar nos estudos e não no cloud. Pô, galera, é isso, mano, é isso, ó. Temos o nosso grupo no WhatsApp. Me siga nas minhas redes sociais, me acompanha, cara, no Instagram, no Twitter, aqui no YouTube. Compartilha, cara, o vídeo com a galera, se inscreve no canal, é, manda ideia de vídeo, ideia de coisa da Geek City, entra lá no Geek City, fechou? Obrigado por todo mundo que participou aqui da live, tá? Brigadão! Um abraço do Miranha para vocês, tá? Quem não viu no início da live, tava aqui com a máscara do Miranha. Um abraço do Homem-Aranha para vocês e a gente se vê na semana que vem. Pô, já deu 2 horas de live, mano. A minha ideia era sempre fazer 3 horas, só 1 hora só de live, não consigo, cara. Fechou. Tem prof de história aparecendo, bitch. Qual é, mano? Mas fechou, meus amigos. Tamo junto, cara. Tamo junto, tamo junto, tamo junto, tamo junto. Obrigado todo mundo que participou. Obrigado todo mundo que apoia essa criação de conteúdo aqui, todo mundo que apoia o canal. Se quiser se tornar membro do canal também, se torne membro do canal para me apoiar de alguma forma, tá? Para continuar produzindo conteúdo, para continuar trazendo entretenimento e conhecimento para vocês, tudo junto. Fechou? Usem a Gate City, falem da Gate City para os seus amigos, ataquem o prédio dos amigos. Dê parabéns para os amigos na Geek City, fechou? E usem o Cloud Code, mas tomem cuidado porque ele pode apagar os usuários de vocês. Fechou? Valeu, guys, até a próxima! Tamo junto e misturado, é isso. Valeu, falou, fui!










