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

Ex-executiva, ela virou 'sacoleira digital' e já faturou R$ 400 mil

A empresária Janaina Degani Berlandi fundou a marca "DeBella" - Divulgação
A empresária Janaina Degani Berlandi fundou a marca "DeBella" Imagem: Divulgação

Roseane Santos

Colaboração para Universa

10/09/2021 04h00

A pandemia acelerou a digitalização de um trabalho conhecido há anos: a revenda de roupa. Esse foi o caminho escolhido pela empresária Janaina Degani Berlandi, nascida na capital paulista. Formada em direito e pós-graduada em liderança e inovação pela FGV (Fundação Getúlio Vargas), ela atuou por 16 anos como executiva em uma grande instituição financeira, mas decidiu mudar de vida durante o período de isolamento social.

Trabalhando de casa, com três filhos e o marido, viu a necessidade de ar mais tempo de qualidade ao lado da família. "Vi o quanto perdi com meus filhos e família me dedicando à vida corporativa. Era hora de tirar o sonho de empreender do papel", lembra. Atenta às oportunidades, decidiu investir na moda ível ao estilo "sacoleira digital" — alguém que compra de grandes fornecedores, seleciona e revende, mas usando os canais da internet para tanto.

A potência das vendas online
"Sacoleira Digital" é uma forma de expressão usada por Janaína -- e que mostra o avanço dos negócios das mulheres empreendedoras em moda. Antigamente, nos anos 1990 e 2000, eram comuns as mulheres buscarem fornecedores em pólos de moda, muitas em excursões, para revenderem às amigas de porta em porta. Isso mudou com a internet e se fortaleceu na pandemia.

"Hoje, pode ser 100% online: as mulheres que empreendem em moda ível têm os fornecedores na palma da mão, ao alcance do celular, que entregam os produtos na loja, mandam os catálogos pelo WhatsApp, fornecem coleções exclusivas", argumenta.

Em busca dessas peças diferenciadas, as clientes se tornam tão fiéis quanto as amigas e as vizinhas, criando uma relação de confiança e troca online. Se antigamente a amiga que indicava a vizinha e era no "boca a boca" que a clientela crescia, atualmente a internet consegue catalisar o movimento.

Segredo do sucesso
Apostando em peças com preços atrativos e experiências personalizadas, ela criou a DeBella. "Percebemos que muitas querem se vestir como as famosas e as blogueiras, mas entendiam que era financeiramente inviável. Nós entregamos os nossos produtos em um estilo 'unboxing', como as grandes marcas de luxo fazem, com uma caixa bonita e sustentável, papel de seda e um perfume desenvolvido especialmente para a marca", explica.

A marca ainda envia mimos para as consumidoras, como brincos e óculos de sol. "Eu quero que cada consumidora se sinta especial ao comprar e receber um produto DeBella. Isso viraliza, pois elas se sentem lindas e importantes, então postam. O compartilhamento atrai mais clientes. E isso não tem preço", afirma.

Janaína não se cansa de comemorar os números que somam 5 mil peças com o faturamento de R$ 400 mil. A empresária já está com a primeira loja em fase de obras com previsão de abertura até novembro deste ano. Será em um prédio em São Paulo, que atenderá com horário marcado e taças de espumante.

"Entendo que o atendimento exclusivo pode ser ível também e esse é o meu diferencial", explica. A segunda loja será no ABC paulista e já está em projeto para o começo de 2022.