;(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

Quebrada Tech

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Youtuber usa cartão com QR Code para divulgar canal de receitas nas ruas

Diarista conseguiu alavancar as visualizações do seu canal no YouTube entregando cartões impressos com QR Code no bairro onde mora - Estela Sousa
Diarista conseguiu alavancar as visualizações do seu canal no YouTube entregando cartões impressos com QR Code no bairro onde mora Imagem: Estela Sousa

Monique Caroline e Ronaldo Matos (edição)

10/04/2022 04h00

Desempregada, uma diarista criou o canal Cozinha Sem Pressão, no YouTube, com dicas de receitas, para ser uma distração. Mas com o ar do tempo, a iniciativa ganhou função terapêutica para tratar a depressão e se tornar uma fonte de renda.

Após dois meses da criação do canal, a diarista Ivoneide Nascimento, 52, moradora de Itapecerica da Serra (SP), conhecida pelos vizinhos como Neide, adotou uma estratégia inusitada para divulgar o projeto: mandou imprimir cartões com QR Code em uma gráfica perto de casa, para distribuir aos moradores que avam pelas ruas do bairro.

Na época, o canal estava com 40 visualizações e 15 inscritos. Após o processo semanal de entrega de cartões, ele foi para 326 inscritos e alcançou mais de 23 mil visualizações.

"Com os cartõezinhos foi aumentando, né? Até porque eu saía entregando. Eu ia na lotérica pagar alguma coisa, nos pontos de ônibus, terminais, metrôs e entregava para as pessoas. E aí foi multiplicando. Acredito que os cartõezinhos adiantaram bastante", diz a diarista youtuber.

A ideia surgiu para alcançar o público mais jovem, que a os vídeos com maior facilidade. Para as pessoas que não sabem utilizar o QR Code ou não têm o aplicativo para fazer a leitura do código, Neide deixava o endereço online.

cartões cozinha sem pressão - Estela Sousa - Estela Sousa
Os cartões são entregues para pessoas que am na rua ou que estão nos comércios
Imagem: Estela Sousa

A pretensão de Neide é atingir a marca de mil inscritos no canal, e conseguir monetizá-lo. Ela também sonha em abrir um restaurante com atendimento online para trabalhar com entregas por delivery, já que os inscritos gostam das receitas e pedem para ela fazer e entregar.

"Vou fazer e vai dar certo"

Desempregada desde novembro de 2021, Neide tinha uma rotina profissional corrida. Ela trabalhava como diarista na região central de São Paulo, realizando serviços de limpeza em duas casas de segunda a sexta-feira e em um escritório de advocacia que ela atendia aos domingos.

Tudo mudou na vida da Neide após ela ar mal durante o trabalho e descobrir que estava tendo uma arritmia cardíaca. "Eu estava finalizando a limpeza e, de repente, comecei a me sentir tonta, sem força na perna e nos braços. Eu cheguei a terminar o serviço segurando nas paredes", diz.

A diarista precisou ser internada, usar aparelhos e fazer tratamento com medicamentos. Também realizou eletrocardiogramas periódicos durante três meses. Com isso, não conseguiu mais trabalhar. Ela não era registrada e ganhava por dia de serviço prestado.

Neide conta que até hoje mantém contato com as antigas empregadoras e relata que elas se preocupam com o seu estado de saúde.

"Elas ficaram com medo da responsabilidade. Mas elas me pagaram direitinho, fiz o acordo e deu tudo certo, graças a Deus. Até hoje elas me ligam para saber se estou bem, mas já colocaram pessoas ocupando o lugar que eu estava. Fiquei muito triste. Eu tinha esperança de ficar boa e retornar, mas não foi bem assim", diz.

Após perder a fonte de renda em plena pandemia de covid-19, a diarista começou a desenvolver quadro de depressão. Triste por ver a mãe desanimada, o filho mais velho, Bruno Rolim, 29, junto com a amiga Estela Sousa, incentivaram Neide a criar o canal "Cozinha Sem Pressão".

"Mãe, vamos criar esse canal, como eu já havia dito. Você gosta de cozinhar, o seu tempero é muito bom, vamos criar esse canal, você vai se distraindo", diz Bruno, sobre um dos diálogos de incentivo para sua mãe.

Aos 52 anos, após relutar bastante, Neide topou a ideia. Com ajuda de Estela, que fazia a gravação, edição e postagem no Youtube, elas lançaram o canal.

No começo, a diarista não tinha celular para gravar os vídeos e pegava emprestado do filho Bruno, de Estela ou da nora Gabrielly, 23, que ia trabalhar e deixava o aparelho para a sogra usar.

"Era bem difícil, né? Quando a minha nora ia sair, a gente ficava sem saber o que fazer para gravar. Para você ter uma ideia, foi tão difícil [o começo] que eu não tinha um rolo para abrir o pão, aí eu abria com o copo. E às vezes não tinha a para gravar, não tinha as coisas, e eu improvisava. Eu ficava achando que não ia dar. Depois acordei e falei: quer saber de uma coisa? Vou fazer e vai dar certo, isso vai bombar", lembra.

Neide gosta de escolher qual comida irá preparar nos livros e revistas de receita que coleciona desde 1988 e guarda embalados com muito carinho. Depois, ela faz a lista de ingredientes, compra no mercado e separa na bancada para começar a gravação.

"Eu adoro gravar, eu separo as coisinhas de gravar, né? Os alimentos bonitinhos. Eu sempre gostei de cozinhar. Então é coisa que eu faço porque gosto muito", diz.