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

Startup lucra transformando leite estragado em camiseta sustentável

Mi Terro produz camisetas a partir de leite descartado - Reprodução/Twitter/Mi Terro
Mi Terro produz camisetas a partir de leite descartado Imagem: Reprodução/Twitter/Mi Terro

De Tilt, em São Paulo

26/09/2020 04h00

Você usaria uma camiseta feita de leite estragado? Uma startup sediada em Los Angeles (EUA) está transformado leite não utilizado pela indústria chinesa em roupas sustentáveis. Parece inacreditável, mas a Mi Terro desenvolveu uma tecnologia própria que transforma uma proteína do leite em fibra e, por sua vez, em roupas.

Muita gente anda vestindo a camisa da startup: de 2019, quando lançou sua primeira linha de camisetas, até hoje, a Mi Terro já gerou mais de US$ 100 mil (R$ 524 mil) de receita só com vendas online e tem clientes em mais 40 países.

Uma camiseta no site da Mi Terro custa a partir de US$ 39,50 (R$ 206), mas o site também vende bolsas e cuecas feitos por meio da mesma tecnologia.

A pequena empresa vem atendendo a uma demanda cada vez mais crescente por produtos feitos de maneira sustentável e por empresas capazes de transformar desperdício e produção excessiva em novos produtos ambientalmente amigáveis. Empresas de pequeno e médio porte representam aproximadamente metade da indústria da moda e estão bem posicionadas para inovar em sustentabilidade, segundo um estudo de 2019 coordenado pelo Centro para Moda Sustentável.

Transformar leite em tecido?

A ideia de transformar leite em tecido veio de uma viagem que o hoje CEO da startup, Robert Luo, fez ao tio na China, Ele conta que ao chegar à fazenda de gado leiteiro do tio viu "baldes e baldes" de leite estragado e descartado sem uso. "Percebi um problema enorme sobre o qual não falamos o suficiente", disse ele à Bloomberg.

Quando voltou para os EUA, ele se uniu a um amigo de infância com formação em química e engenharia de materiais para encontrar um meio de utilizar o que era descartado.

Após três meses de pesquisa, eles começaram a elaborar uma solução capaz de extrair a caseína (um tipo de proteína) do leite e transformá-lo em fibra. As gorduras são removidas antes da desidratação para obter leite em pó. As proteínas são então isoladas e solidificadas na forma de fibras que são esticadas e transformadas em fios prontos para uso na confecção de roupas.

Próximos os da startup

A empresa está em negociações com grandes laticínios na China para formação de parcerias estratégicas. Além disso, se prepara para expandir a tecnologia de transformação de alimento desperdiçado para além do ramo da moda.

A Mi Terro está trabalhando em uma nova tecnologia que ajude empresas de laticínios a transformar resíduo de soro de leite em filme biodegradável para embalagens de alimentos. Luo espera que seu modelo de negócios abandone gradualmente a venda direta a consumidores. A Mi Terro quer licenciar suas tecnologias no futuro próximo e está percorrendo o processo de solicitação de patentes na China, segundo ele.

A startup já assinou memorandos de interesse com grandes marcas de moda casual, mas precisa de apoio estratégico e financeiro para aumentar sua capacidade e acompanhar a demanda. Em 2019, a empresa lançou duas campanhas de financiamento coletivo na plataforma Kickstarter que atingiram rapidamente suas metas. A aceleradora de startups Lair East Labs está entre suas apoiadoras.

A Mi Terro está agora no processo de arrecadar US$ 800 mil em novos investimentos, segundo Luo, idealmente de parceiros estratégicos na China e em outros países. (Com Bloomberg)