;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ele reforma lares na periferia do Rio a preços populares

Fábio Moraes fez engenharia com o propósito de levar reformas para comunidades do Rio - João Victor Teodoro/Divulgação
Fábio Moraes fez engenharia com o propósito de levar reformas para comunidades do Rio Imagem: João Victor Teodoro/Divulgação

Lívia Gonçalves

De Ecoa

07/11/2019 04h00

Reforma costuma gerar dor de cabeça. Imagine, então, quando ela é feita sem planejamento ou de forma irregular. Quando ainda era adolescente, o engenheiro Fábio Moraes, hoje com 27 anos, viu de perto esse tipo de situação: "Lembro da minha mãe ando por muitos problemas depois que trocou o telhado de casa. O projeto não foi bem feito e só causou transtorno para nós, principalmente quando chovia".

Fábio morava no município de Mesquita, na Baixada Fluminense, e via na vizinhança situações parecidas, de reformas com problemas ou casas sem acabamento, paisagem comum em comunidades periféricas.

O jovem decidiu estudar engenharia civil e hoje, já formado e morando na capital, oferece reformas e assistência técnica a preços populares para quem vive em comunidades do Rio com a Favelar, empresa que já atendeu mais de 160 pessoas em locais como Cidade de Deus, Morro Dona Marta e comunidade da Chatuba.

Fábio Moraes, 27, criou o Favelar para levar reformas a casas de comunidades no Rio  - João Victor Teodoro/Divulgação - João Victor Teodoro/Divulgação
Fábio aprendeu com os erros e mudou processos na empresa
Imagem: João Victor Teodoro/Divulgação

Como tudo começou

Idealizado em 2012, durante a graduação de Fábio em engenharia civil na Universidade Veiga de Almeida, o empreendimento tem o objetivo de democratizar o o a planejamentos arquitetônicos de qualidade.

A primeira roupagem do Favelar foi apenas no ambiente digital. Com a também engenheira e arquiteta Milena Miranda, que hoje não faz mais parte do empreendimento, Fábio deu os primeiros os. "Tínhamos que criar um aplicativo que resolvesse um problema da sociedade, e eu sabia o que poderia colocar em prática. Foi então que estruturei a empresa."

Em 2015, ainda no meio do curso (que foi concluído em 2018), ele percebeu que poderia ser assertivo e migrar a oferta de serviço para encontros presenciais, pois o o à internet banda larga nas periferias ainda era limitado - e isso afastava seu público-alvo.

ERRO Planejar apenas um meio de ofertar o serviço ou produto sem análise de mercado

APRENDIZADO Entender outras maneiras de atingir o consumidor e ir além da prestação de serviço

A análise de mercado fez com que o novo modelo de negócio fosse com encontros entre ele e os clientes, além de visitas técnicas ao local da obra.

Atualmente, ele comanda a startup com a sócia e engenheira Mabi Elu. Ao todo, cinco profissionais parceiros trabalham no empreendimento.

Se não funcionou o plano B, tenha plano C, D...

O primeiro projeto da equipe, apenas com quatro pessoas, foi a reforma de um quarto em uma casa na comunidade do Vidigal, na zona sul do Rio. "Contratamos um profissional da região para auxiliar na obra, mas, no dia de iniciar, a pessoa não apareceu", conta o empreendedor.

O plano B foi contratar outro trabalhador, que, por questões pessoais, também teve que abandonar o empreendimento dias depois. O planejamento, que já tinha atrasado uma semana, atrasou mais ainda. Diante da situação e recorrendo a indicações, Fábio conseguiu contornar a situação contratando um terceiro pedreiro.

ERRO Trabalhar sem um prazo que comporte imprevistos

APRENDIZADO Evitar fazer planejamento com datas muito próximas para que, em caso de contratempos, o empreendedor possa reorganizar e evitar atrasos na entrega da obra

Adaptação

O impacto ambiental que a construção civil causa foi uma das preocupações que Fábio teve conforme o projeto foi evoluindo. Segundo o Programa das Nações Unidas para o Meio Ambiente (PNUMA), 40% do consumo global de energia é provenientes de edificações, por exemplo. "Quando pensei o modelo da Favelar, quis inserir medidas para reduzir esses problemas, mas não sabia como", afirma.

Fábio percebeu ainda que alguns processos construtivos seriam prejudiciais. Por isso, para adaptar à realidade da comunidade sem encarecer o serviço, ele usa tinta à base de água e madeira de reflorestamento - tudo isso é encontrado com parceiros locais.

No planejamento, ele organizou técnicas que geram menos impacto, como evitar a demolição. "Um dos nossos pontos de atenção é a gestão de resíduo. A maioria das comunidades tem problemas com os descartes irregulares de resto de materiais. Então, a proposta foi diminuir de alguma forma esse impacto negativo e evitar gerar mais entulho para a região", ressalta.

ERRO Repetir práticas que podem ser nocivas para o meio ambiente

APRENDIZADO Adaptar o modelo do empreendimento ao meio de atuação e à situação de vida do consumidor final

Segundo Fábio, a Favelar não tem parcerias com empresas do setor da construção civil, pois ele percebeu que ainda há preconceito e desconfiança com relação ao empreendimento social voltado à população de baixa renda. No entanto, Fábio é otimista e mantém tentativas de diálogo com as companhias. "Todo dia é um novo começo. Quem vive na favela não quer sair, só quer mais dignidade para viver bem onde mora", completa.