O investimento no mercado imobiliário é um jeito fantástico para gerar um fluxo de renda passiva e expandir seu patrimônio. Inúmeros estudos apontam que o investimento em imóveis criou mais milionários durante a história do que qualquer outro tipo de investimento (como este estudo e este). Então, por que não há mais pessoas fazendo isso?
Eu me perguntei exatamente isso há alguns após conversar com um grupo de amigos sobre o sucesso que tive com o mercado imobiliário e após escutar o porquê eles achavam que isso não era para eles.
A maioria deles achava que era algo muito difícil de aprender e dominar. Havia etapas demais, a curva de aprendizado era muito íngreme e havia muita possibilidade de cometer erros para alguém que estava apenas começando, especialmente ao analisar o desempenho financeiro de possíveis propriedades para investimento.
Tradicionalmente, a maioria dos investidores usava planilhas para fazer os cálculos, que só funcionava se você soubesse o que iria calcular e a forma como faria isso. Mas, se você não sabe essas informações, é muito fácil cometer erros e deixar alguns detalhes passarem batidos. Ninguém quer cometer erros matemáticos antes de uma grande compra, como uma propriedade para investimento.
Por onde começo?
Foi aí que tive a ideia de criar o DealCheck: uma ferramenta de análise de propriedade fácil de usar e baseada na nuvem para agentes e investidores imobiliários. Meu objetivo era criar uma plataforma que ajudasse novos investidores a aprender os macetes e evitar erros onerosos, mas, ao mesmo tempo, fornecer a flexibilidade para realizar análises mais avançadas com o clique de um botão.
Tornando o investimento imobiliário mais fácil e acessível.
Eu trabalhava como engenheiro de front-end na época, então já sabia que podia desenvolver a IU por conta própria, mas e o back-end, o armazenamento de dados, a autenticação e várias outras coisas necessárias para um aplicativo na nuvem completamente funcional?
Não conhecia ninguém que eu poderia incluir como cofundador, então comecei a pesquisar quais tecnologias e plataformas eu poderia aproveitar para me ajudar com a infraestrutura de back-end e do servidor.
O Firebase aparecia constantemente e comecei a procurar mais detalhes sobre ele. Na época, ele havia acabado de ser adquirido pelo Google e sua coleção de módulos BaaS (back-end-como-serviço) parecia oferecer a solução exata que eu precisava para criar o DealCheck.
Fiquei impressionado principalmente com a documentação de cada recurso e a maneira como todas as tecnologias diferentes podiam ser reunidas para criar uma plataforma unificada.
Logo abri uma conta e comecei a criar o primeiro MVP do app.
Como o único desenvolvedor no projeto, eu tinha pouco tempo e recursos para gastar desenvolvendo o back-end. Assim, decidi usar cada recurso do Firebase que estava disponível na época.
Meu objetivo, na realidade, era escrever o mínimo possível de código do lado do servidor e, em vez disso, me concentrar em aproveitar os diferentes módulos do Firebase para resolver três desafios específicos:
O primeiro desafio era a autenticação e o gerenciamento de usuários. Os usuários do DealCheck precisavam criar contas para que pudessem visualizar e analisar as propriedades em qualquer dispositivo (falarei mais sobre isso depois). Eu queria poder fazer login com e-mail, Facebook ou uma conta do Google.
O Firebase Authentication foi desenvolvido especialmente para esse propósito, e usei o recurso para gerenciar grande parte do processo do fluxo de gerenciamento. Como ele vem pronto, tem compatibilidade com a maioria das redes sociais, vinculação de credenciais em redes cruzadas e operações básicas de gerenciamento de conta, como alterações de e-mail, redefinições de senha e exclusões de conta.
Não precisava de qualquer código no lado de servidor. Eu só precisava criar uma IU no front-end.
Login com e-mail, Facebook e Google oferecido pelo Firebase.
Outro benefício do Firebase é que o Firebase Authentication se vincula diretamente ao produto Realtime Database para criar permissões declarativas e estrutura de controle de acesso que seja fácil de implementar e manter. Isso me ajudou a garantir que os dados do usuário fossem protegidos contra acesso não autorizado e facilitassem o compartilhamento de informações entre usuários.
O armazenamento de dados era o próximo item na lista. Eu queria que os usuários do DealCheck pudessem usar o app e analisar as propriedades on-line, no iOS e no Android. Por isso, eu precisava de uma solução de banco de dados baseada na nuvem e em tempo real que pudesse sincronizar dados entre dispositivos.
Sincronizar dados na Web e em dispositivos móveis não é fácil!
O Firebase Realtime Database é uma solução de banco de dados NoSQL baseada em JSON, que foi projetada exatamente para essa finalidade. Eu fiquei surpreso com o bom funcionamento dela. Usei as vinculações oficiais do AngularJS do Firebase no front-end para ler e gravar diretamente a partir do cliente.
Precisei trabalhar um pouco mais na parte móvel para implementar um modo off-line com sincronização após reconexões, mas, no geral, o código necessário para fazer tudo funcionar foi mínimo.
Como mencionei, o Firebase Authentication vinculou diretamente ao banco de dados para facilitar o controle de acesso. Assim, meu trabalho aqui havia terminado. Pude configurar backups diários de todos os dados automaticamente com apenas o clique de um botão.
Até agora, eu não havia escrito sequer uma linha de código no lado do servidor, e tudo estava sendo gerenciado diretamente pelo cliente. No entanto, à medida que o desenvolvimento do DealCheck avançou, eu sabia que precisaria de um servidor para gerenciar algumas operações que não poderiam ser feitas no cliente.
Eu não tinha muita experiência com manutenção de servidor e DevOps, mas felizmente, o produto Firebase Cloud Functions conseguiu atender a todas as minhas necessidades. As Cloud Functions são basicamente funções de objetivo único, que podem ser acionadas (ou executadas) com base em uma solicitação HTTP ou eventos específicos oriundos do Authentication, do Realtime Database ou de outros produtos do Firebase.
Cada função pode ser executada uma vez com base em um evento específico que acionará a execução da tarefa descrita. Você não precisa se preocupar com provisionar uma instância de servidor ou gerenciar uma carga. Tudo é feito automaticamente pelo Firebase.
Sabe o que é ainda mais legal? As Cloud Functions podem acessar os intervalos do Realtime Database e Cloud Storage do mesmo projeto, realizando operações neles no lado do servidor, quando necessário.
É assim que o DealCheck processa pagamentos de assinatura pelo Stripe, valida recibos de assinatura móvel pelo Apple e Google Play, se integra a APIs de terceiros e atualiza o registro de bancos de dados sem interação de usuários.
Incluindo dados de vendas comparáveis de fornecedores terceirizados para o DealCheck.
As Cloud Functions são como “cola” que unem toda a infraestrutura de back-end.
A primeira versão do app do DealCheck foi desenvolvida e lançada em menos de 5 meses, e eu estava sozinho na equipe de desenvolvimento. Eu realmente não achava que seria possível sem o Firebase oferecendo a infraestrutura de back-end. Talvez o projeto nem fosse lançado.
Embora o Firebase seja incrível para o desenvolvimento rápido de MVP, ele certamente foi projetado para também alimentar aplicativos de produção. À medida que o DealCheck cresceu de um pequeno projeto secundário para um dos apps imobiliários mais populares com mais de 100 mil usuários, todos os produtos do Firebase que usamos se dimensionaram para oferecer suporte para o aumento de carga.
Além disso, a interoperabilidade fantástica de todos os módulos do Firebase nos permite desenvolver e lançar novos recursos muito mais rapidamente porque precisa de menos código e possui fácil configuração.
Então, na próxima vez que você estiver pensando em desenvolver um projeto ambicioso com uma equipe pequena, confira como o Firebase pode ajudar você a reduzir o tempo de desenvolvimento e fornecer um pacote de ferramentas eficazes que crescem junto com sua empresa.
Foi exatamente assim como o DealCheck cresceu de uma ideia simples para tornar a análise de propriedades mais rápida e fácil para um app que ajuda dezenas de milhares de pessoas a aumentar seu patrimônio e renda passiva com verdadeiro investimento imobiliário. É uma experiência realmente incrível e gratificante ver seu trabalho afetar positivamente tantas pessoas, e isso não seria possível sem o Firebase.
O programa Recompensas de segurança do Android (ASR, na sigla em inglês) foi criado em 2015 para recompensar os pesquisadores que encontram e relatam problemas de segurança, ajudando a manter o ecossistema do Android protegido. Nos últimos quatro anos, premiamos mais de 1.800 relatórios e pagamos mais de US$ 4 milhões.
Hoje estamos expandindo o programa e aumentando os valores das recompensas. Anunciamos um prêmio máximo de US$ 1 milhão por uma exploração de execução remota de código em cadeia completa com persistência que comprometa o elemento de segurança Titan M em dispositivos Pixel. Além disso, lançaremos um programa específico que oferece um bônus de 50% para explorações encontradas em versões de visualização específicas para desenvolvedores do Android, o que significa que nosso maior prêmio agora é de US$ 1,5 milhão.
Como mencionado em uma postagem anterior do blog, em 2019, a Gartner avaliou o Pixel 3 com Titan M com as classificações mais “fortes” na seção de segurança integrada em todos os dispositivos verificados. Por isso, criamos um prêmio dedicado a recompensar os pesquisadores por explorações encontradas que contornem as proteções dos elementos de segurança.
Além das explorações que envolvem o Pixel Titan M, adicionamos outras categorias ao programa de recompensas, como as relacionadas a exfiltração de dados e desvio do bloqueio de tela. Essas recompensas chegam a US$ 500 mil, dependendo da categoria de exploração. Para ver todos os detalhes, consulte a página das regras do programa Recompensas de segurança do Android.
Agora que falamos sobre as novidades, recapitularemos fatos marcantes deste ano. Veja alguns destaques de 2019:
A maior recompensa paga a um membro da comunidade de pesquisa foi por um relatório de Guang Gong (@oldfresher), da Alpha Lab, Qihoo 360 Technology Co. Ltd. Esse relatório detalhou a primeira cadeia de exploração de execução remota de código com um clique no dispositivo Pixel 3. Guang Gong recebeu US$ 161.337 do Programa de recompensas de segurança do Android e US$ 40 mil do Programa de recompensas do Chrome, totalizando US$ 201.337. A recompensa combinada de US$ 201.337 também é o maior valor pago por uma única cadeia de exploração em todos os programas de recompensa de vulnerabilidade do Google (VRP, na sigla em inglês). As vulnerabilidades do Chrome apresentadas no relatório foram corrigidas no Chrome 77.0.3865.75 e lançadas em setembro, protegendo os usuários dessa cadeia de exploração.
Queremos agradecer a todos os nossos pesquisadores por contribuírem com a segurança do ecossistema do Android. Se você tiver interesse em se tornar um pesquisador, confira nossa Bughunter University para ter informações sobre como começar.
A partir de hoje, 21 de novembro de 2019, as novas recompensas entram em vigor. Todos os relatórios enviados antes de 21 de novembro de 2019 serão recompensados com base na tabela de recompensas anterior.
A temporada de caça aos bugs está aberta!