- O Problema que o Lietro Resolve
- As Pessoas que Atende
- O Teclado Eletrônico Assistivo (AEL)
- Como Funciona a Digitação por Olhar
- O Sistema de Experimentos
- Dados de Sessão e Gravação
- Pipeline de Processamento de Dados
- Saída Estatística de Pesquisa
- Painel Lietro PRO
- Visão Geral da Arquitetura
- A Questão de Pesquisa
- Escolhas Tecnológicas e Justificativas
- Roadmap e Extensibilidade
|
Milhões de pessoas em todo o mundo vivem com condições que as impedem de usar um teclado convencional: ELA, paralisia cerebral, lesões na medula espinhal, autismo severo ou doenças neurodegenerativas progressivas. Para essas pessoas, a capacidade de digitar uma palavra — compor uma mensagem, responder a uma pergunta ou expressar um pensamento — representa uma barreira fundamental à independência e à conexão humana. As soluções existentes frequentemente são:
O Lietro foi construído do zero para ser mensurável. Cada interação é registrada com precisão de milissegundos. Cada experimento é definido em um protocolo reproduzível. Cada sessão produz dados que podem ser estatisticamente analisados para responder à questão central: a assistência funciona? Esse ciclo baseado em evidências — projetar a ferramenta, medir seu efeito, aprimorá-la — é o que distingue o Lietro de um produto e o torna um instrumento de pesquisa. |
|
Crianças com Transtorno do Espectro Autista (TEA) Muitas crianças com TEA têm dificuldade com interfaces tradicionais de comunicação e aprendizado. O Lietro oferece:
- Alvos visuais grandes e claros (redução da sobrecarga sensorial)
- Associações simbólicas entre imagens, texto e palavras faladas
- Reforço positivo com animações e áudio em respostas corretas
- Ritmo configurável para que as crianças trabalhem no seu próprio tempo
- Jogos de palavras que tornam o aprendizado envolvente em vez de clínico
Pessoas com paralisia motora completa ou quase completa Para alguém com ELA ou síndrome do encarceramento, o único movimento voluntário restante pode ser o movimento ocular. O modo Ocular do Lietro transforma a direção do olhar em texto digitado:
- Olhe para uma letra → fixe por uma duração configurada → a letra é selecionada
- Sem interruptores, sem hardware de rastreamento de cabeça além da tela
- Tempo de fixação configurável de acordo com a capacidade de controle ocular do usuário
- O AEL prevê as letras seguintes mais prováveis para reduzir o número de seleções
Pessoas com controle motor parcial O modo Digital baseado em toque com sensibilidade configurável apoia usuários que:
- Podem tocar uma tela, mas com precisão ou força limitadas
- Usam um único dedo, dedo do pé ou caneta stylus
- Precisam de alvos maiores e tempos de resposta mais lentos
- Se beneficiam de assistência preditiva no teclado
Terapeutas e clínicos O Lietro PRO oferece aos terapeutas as ferramentas de que realmente precisam:
- Revisar cada sessão em detalhes, com temporização e precisão visíveis
- Acompanhar o progresso ao longo de múltiplas sessões
- Armazenar dados psicométricos junto com as gravações de sessão
- Exportar dados estruturados para inclusão em relatórios clínicos
Pesquisadores em neurociência e acessibilidade A plataforma foi construída explicitamente para uso em pesquisa:
- Protocolos JSON reproduzíveis garantem que experimentos possam ser replicados
- Exportações de dados brutos em formatos que se conectam a ferramentas de análise científica
- Relatórios estatísticos com fórmulas dinâmicas para análise colaborativa
- Comparação entre condições com e sem assistência, com metodologia rigorosa
┌─────────────────────────────────────────────────────────┐
│ AEL — Português ASSIST │
│ │
│ O teclado assistivo exibido ao usuário │
│ │
│ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ │
│ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ç │ ← │ │
│ ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ │
│ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ~ │ ´ │ │ │
│ ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ │
│ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ │ │ │ │
│ └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ │
│ [ previsões / sugestões ] │
└─────────────────────────────────────────────────────────┘
O Teclado Eletrônico Assistivo não é apenas um teclado visual — é uma camada de interface adaptativa que:
| Funcionalidade | Descrição |
|---|---|
| Sugestões preditivas | Após cada letra, o AEL exibe as próximas letras ou completamentos de palavras mais prováveis, reduzindo as seleções necessárias |
| Seleção por fixação | No modo Ocular, uma letra é escolhida ao olhar para ela por uma duração configurável (sem necessidade de clicar) |
| Alternância de modo | Alterna de forma transparente entre tentativas com assistência (Com AEL) e sem assistência (Sem AEL) dentro de uma sessão |
| Controle de temporização | Configuração por série de delay de leitura, janela de escrita e pausa entre palavras |
| Suporte a acentos | Suporte completo a caracteres diacríticos do Português (á, ã, ê, ç, etc.) |
| Layout configurável | Pode ser configurado para os modos QWERTY, Estendido ou Assistivo; suporta 5 idiomas |
Um dos recursos de pesquisa mais importantes é a capacidade de executar tentativas com e sem assistência dentro da mesma sessão. A configuração de protocolo "mode": [0, 1] faz o teclado alternar — tentativa 1 com AEL ativado, tentativa 2 com AEL desativado. Isso permite uma comparação direta dentro do mesmo sujeito, controlando os efeitos de aprendizado.
Passo 1: Palavra aparece na tela
┌────────────────────────┐
│ │
│ M Á Q U I N A │ ← Palavra exibida por read_delay segundos
│ │
└────────────────────────┘
Passo 2: Palavra desaparece → luz verde → temporizador inicia
┌────────────────────────┐
│ │
│ ● (verde) │ ← Usuário deve agora digitar a palavra de memória
│ │
└────────────────────────┘
Passo 3: Usuário fixa o olhar nas letras do teclado AEL
- Olha para M → fixa → M selecionado
- Olha para Á → fixa → Á selecionado
- Continua até a palavra estar completa
Passo 4: Sessão registra:
{ ty: "newWord", ti: 1621000, wo: "MÁQUINA", mo: 1 }
{ ty: "writeStart", ti: 1621600 } ← tempo de leitura = 600ms
{ ty: "writeEnd", ti: 1624200, df: 0.98 } ← tempo de escrita = 2600ms
- O teclado deve ser grande o suficiente para precisão de fixação, mas caber em uma tela de tablet
- Caracteres acentuados do Português exigem combinações de múltiplos toques (teclas mortas)
- A transição entre os estados de "leitura" e "escrita" deve ser registrada com timestamps exatos
- O olhar introduz movimentos involuntários — a janela de fixação deve ser ajustada por usuário
- Tanto a operação sem as mãos quanto a carga cognitiva de memorizar uma palavra enquanto a digita são desafios significativos sendo medidos
Os experimentos são definidos em arquivos JSON que especificam cada etapa da sessão com precisão:
{
"sequence": "prompt",
"series": [
{
"options": {
"mode": [0, 1], // alterna: tentativa 1 com assistência, tentativa 2 sem assistência
"suggestions": 0, // previsões do AEL ativadas/desativadas
"sequence": 1
},
"keyboard": "Português ASSIST",
"read": 0.6, // segundos que a palavra é exibida antes de desaparecer
"pause": 0.1, // segundos entre o desaparecimento da palavra e o sinal de início
"write": 3.0, // segundos que o usuário tem para digitar
"delay": 0,
"items": [
"GIRAR",
"JÚBILO",
"MÁQUINAS",
"ÓRFÃO",
"REPOLHO"
]
}
]
}O desenho de pesquisa captura o desempenho em múltiplas dimensões cruzadas:
┌── Ocular (olhar)
Método de Entrada ┤
└── Digital (toque)
┌── Palavras individuais (5–8 chars)
Tipo de Conteúdo ─┤
└── Frases (3–5 palavras)
┌── Com AEL (Com assistência)
Assistência ──────┤
└── Sem AEL (Sem assistência)
┌── Série 1
Repetição ────────┤
└── Série 2 (efeitos de aprendizado / fadiga)
Esse desenho 2×2×2×2 produz 16 condições, permitindo que pesquisadores isolem quais fatores mais influenciam o desempenho na digitação.
As palavras nos protocolos em Português foram especificamente escolhidas para:
- Incluir caracteres diacríticos (Ç, Ã, Ê, Ó) que são mais difíceis de digitar com assistência
- Variar em comprimento (4–8 caracteres para palavras; 3–5 palavras para frases)
- Ser familiares o suficiente para memorizar rapidamente durante a breve janela de leitura
- Não se repetir entre séries para evitar aprendizado específico de itens
Cada sessão produz um arquivo JSON estruturado capturando a interação completa:
{
"date": 1621000000,
"code": 20000,
"filename": "2021-05-14_18-30-00",
"device": "ARM, Adobe Systems Incorporated - Android, StandAlone, 1.0, 1080x1920, 480 DPI",
"timeGMT": "14/04/2021, 18:30:00",
"user": "participante_01",
"touchEvents": [
{ "ty": "newWord", "ti": 1000, "wo": "GIRAR", "mo": 1 },
{ "ty": "writeStart", "ti": 1620 },
{ "ty": "writeEnd", "ti": 4100, "df": 1.0 },
{ "ty": "newWord", "ti": 5200, "wo": "JÚBILO", "mo": 0 },
{ "ty": "writeStart", "ti": 5840 },
{ "ty": "writeEnd", "ti": 9300, "df": 0.92 },
...
]
}| Evento | Valor ty |
Campos principais | Significado |
|---|---|---|---|
| Palavra exibida | newWord |
wo (palavra), mo (modo) |
Início de uma nova tentativa |
| Digitação iniciada | writeStart |
ti (timestamp) |
Usuário começou a digitar (tempo de leitura termina aqui) |
| Digitação encerrada | writeEnd |
ti, df (precisão 0–1) |
Usuário terminou ou o tempo expirou |
A diferença entre o tempo de leitura (newWord → writeStart) e o tempo de escrita (writeStart → writeEnd) é a variável dependente central. Pesquisadores podem perguntar:
- O AEL reduz o tempo de escrita? (eficiência motora)
- Ele aumenta o tempo de leitura? (sobrecarga cognitiva ao avaliar sugestões)
- O efeito é diferente para entrada Ocular vs. Digital?
Sem timestamps de milissegundos, essas perguntas são impossíveis de responder.
convert-new.js (ponto de entrada CLI)
│
├── config/
│ ├── experiment-loader.js Lê protocolo-experimento.json
│ └── paths.js Resolve caminhos de arquivo de entrada/saída com segurança
│
├── processors/
│ ├── trial-processor.js Agrupa touchEvents em tentativas
│ │ Calcula: readingTime, writingTime, accuracy
│ │ Valida: sequências completas, ordem de timestamps
│ └── statistics-generator.js Produz estatísticas resumidas por categoria
│
├── exporters/
│ ├── csv-exporter.js CSV UTF-8 com aspas compatíveis com Excel
│ ├── excel-exporter.js XLSX com formatação EXPA1507 + fórmulas dinâmicas
│ └── json-exporter.js JSON estruturado preservando strings de fórmulas
│
└── utils/
├── logger.js Registro configurável (debug/info/error)
└── validators.js Segurança de caminhos, integridade de dados, intervalos de valores
Arquivo JSON bruto
│
▼
1. ANALISAR Ler arquivo, validar estrutura JSON, verificar campos obrigatórios
│
▼
2. EXTRAIR Varrer array touchEvents → agrupar em triplas (newWord, writeStart, writeEnd)
Ignorar triplas incompletas, registrar avisos
│
▼
3. CATEGORIZAR Combinar a palavra de cada tentativa com o protocolo do experimento
Atribuir: método de entrada (Ocular/Digital), tipo de conteúdo (Palavra/Frase), série (1/2)
│
▼
4. CALCULAR Para cada tentativa:
readingTime = writeStart.ti − newWord.ti
writingTime = writeEnd.ti − writeStart.ti
accuracy = writeEnd.df × 100
perCharRate = writingTime / charCount
mode = newWord.mo → atribui à coluna Com AEL ou Sem AEL
│
▼
5. AGREGAR Agrupar por categoria → calcular estatísticas
(média, desvio padrão, contagem, razão, variação percentual)
│
▼
6. EXPORTAR Escrever no(s) formato(s) escolhido(s)
Em vez de falhar com dados inválidos, o conversor aplica degradação elegante:
- Sequências de tentativas incompletas são ignoradas com uma entrada de log de aviso
- Valores de precisão ausentes assumem uma fórmula à prova de erros
- Cenários de divisão por zero no Excel são encapsulados em
IFERROR - Pesquisadores veem espaços em branco limpos em vez de erros
#DIV/0!
| # | Coluna | Descrição |
|---|---|---|
| 1 | Grupo | Categoria do experimento (ex.: "Palavras Ocular 1") |
| 2 | Série | Número da série dentro do experimento |
| 3 | Tentativa | Índice da tentativa dentro da série |
| 4 | Palavra | A palavra ou frase apresentada |
| 5 | Chars (c/ espaços) | Contagem total de caracteres incluindo espaços |
| 6 | Chars (s/ espaços) | Contagem de caracteres excluindo espaços |
| 7 | Tempo de Leitura — Com AEL | Tempo de leitura em ms (condição com assistência) |
| 8 | Tempo de Escrita — Com AEL | Tempo de escrita em ms (condição com assistência) |
| 9 | Por Char — Com AEL | ms por caractere (condição com assistência) |
| 10 | Precisão — Com AEL | Percentual correto (condição com assistência) |
| 11 | Tempo de Leitura — Sem AEL | Tempo de leitura em ms (condição sem assistência) |
| 12 | Tempo de Escrita — Sem AEL | Tempo de escrita em ms (condição sem assistência) |
| 13 | Por Char — Sem AEL | ms por caractere (condição sem assistência) |
| 14 | Precisão — Sem AEL | Percentual correto (condição sem assistência) |
| 15 | Tempo desde o início | Tempo decorrido desde o início da sessão (ms) |
| 16–18 | Linhas de estatísticas | Estatísticas resumidas baseadas em fórmulas |
Cada arquivo Excel exportado inclui três blocos de estatísticas:
┌─────────────────────────────────────────────┐
│ GERAL (Todas as condições combinadas) │
│ ├─ Contagem │
│ ├─ Tempo médio de leitura Com AEL / Sem AEL│
│ ├─ Tempo médio de escrita Com AEL / Sem AEL│
│ ├─ Desvio padrão Com AEL / Sem AEL│
│ └─ Razão (AEL/SemAEL × 100) ← texto vermelho│
├─────────────────────────────────────────────┤
│ OCULAR (Somente tentativas por olhar) │
│ ├─ Palavras │
│ └─ Frases │
├─────────────────────────────────────────────┤
│ DIGITAL (Somente tentativas por toque) │
│ ├─ Palavras │
│ └─ Frases │
└─────────────────────────────────────────────┘
A saída Excel segue o padrão de documento de pesquisa profissional EXPA1507:
| Elemento de formato | Valor | Finalidade |
|---|---|---|
| Fonte | Arial 10pt | Aparência acadêmica consistente |
| Dados normais | Texto preto | Legibilidade padrão |
Texto vermelho (#C00000) |
Inconsistências de nomenclatura, valores de razão | Sinalizar itens que precisam de atenção do pesquisador |
| Fórmulas | Excel nativo (=IFERROR(ROUND(...))) |
Recálculo dinâmico quando os dados são editados |
| Alinhamento de colunas | Alinhamento por tipo | Números à direita, texto à esquerda |
O painel PRO é a interface profissional para terapeutas, gestores de clínicas e administradores de pesquisa. É distinto do aplicativo de experimento — seu papel é após a sessão: revisar, analisar, gerenciar.
Gerenciamento de Sessões
- Navegar por todas as sessões gravadas por participante, data ou experimento
- Revisar linhas do tempo individuais de sessão com detalhamento por tentativa
- Marcar sessões para acompanhamento ou exclusão da análise
Análises e Visualização
- Gráficos de desempenho mostrando tendências de tempo de leitura/escrita entre sessões
- Mapas de calor identificando padrões de precisão por tipo de palavra ou condição
- Visualizações comparativas: participante individual vs. média do grupo
- Acompanhamento de progresso ao longo da linha do tempo terapêutica
Administração de Dados
- Acesso baseado em funções: admin, pesquisador, terapeuta, somente leitura
- Gerenciamento de participantes multiusuário
- Exportação de dados em massa: CSV para ferramentas de planilha, JSON para uso programático
- Saídas compatíveis com MatLab, Psychart, Sage, SciPy
Conteúdo e Configurações
- Editor de texto rico para notas de sessão e observações clínicas
- Parâmetros de experimento configuráveis sem editar JSON diretamente
- Gerenciamento de perfil de usuário e persistência de configurações
Construído sobre vue-element-admin v4.2.1:
Vue.js 2.6.10 — framework de UI reativa
Element UI 2.13.0 — biblioteca de componentes (tabelas, formulários, diálogos)
Vuex 3.1.0 — gerenciamento de estado global
Vue Router 3.0.2 — roteamento client-side com guardas de permissão
ECharts 4.9.0 — gráficos interativos e mapas de calor
Axios 0.18.1 — cliente HTTP com interceptors
i18n — internacionalização
Mock.js — API mock para desenvolvimento front-end
┌────────────────────────────────────────────────────────────────────┐
│ CAMADA DE DISPOSITIVO (tablet / mobile / desktop) │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Aplicativo Lietro │ │ TecladoMagico │ │
│ │ (pesquisa completa)│ │ (uso clínico) │ │
│ │ Adobe AIR / AS3 │ │ Adobe AIR / AS3 │ │
│ └──────────┬──────────┘ └──────────┬───────────┘ │
│ │ JSON touchEvents │ │
└──────────────┼─────────────────────────────────┼──────────────────┘
│ │
▼ ▼
┌────────────────────────────────────────────────────────────────────┐
│ CAMADA DE ARMAZENAMENTO │
│ Armazenamento local ──► Sincronização Dropbox / S3 ──► Arquivos no servidor│
└────────────────────────────┬───────────────────────────────────────┘
│ arquivos .json de sessão
┌─────────────┼──────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌────────────┐ ┌──────────────────┐
│ Lietro Convert │ │ Session │ │ prodb (PHP) │
│ CLI Node.js │ │ Filter │ │ banco de dados │
│ │ │ Vue + PWA │ │ backend │
│ *.csv *.xlsx │ │ │ │ │
│ *.json relatórios│ │ Navegar & │ │ Registros de │
│ │ │ filtrar │ │ participantes & │
└──────────────────┘ │ sessões │ │ configurações │
└────────────┘ └────────┬─────────┘
│
▼
┌─────────────────────────────┐
│ Lietro PRO │
│ Painel Admin Vue.js │
│ │
│ Revisar · Analisar · Exportar│
└─────────────────────────────┘
O aplicativo de experimento é estruturado em torno de um objeto central App que conecta:
| Módulo | Responsabilidade |
|---|---|
MenteAbertaApp |
Bootstrap, identidade do app (Lietro vs TecladoMagico), conexão de módulos |
Settings |
Carregar/salvar configuração do usuário e do app a partir do sistema de arquivos |
Input |
Captura de eventos multitouch, reconhecimento de gestos, alternância de modo |
Sensors |
Acelerômetro e orientação do dispositivo para UI adaptativa |
Session |
Registrar início/fim, timestamps, array touchEvents, exportação JSON |
Score |
Cálculo de precisão, lógica de reforço, estado do jogo |
WordDictionary |
Corpus de palavras em Português de 355KB para validação e sugestões |
Graphics |
Renderização de UI, exibição do teclado, animação, transições de estado |
React |
Barramento de eventos / propagação de estado reativo entre módulos |
WebBridge |
Comunicação com o backend PHP para sincronização de dados do usuário |
PHPClient |
Cliente HTTP para chamadas à API do backend |
Dropbox |
Sincronização de arquivos de sessão via API do Dropbox |
Um Teclado Eletrônico Assistivo (AEL) realmente melhora o desempenho na digitação para pessoas com deficiências motoras — ou atrapalha?
Isso não é óbvio. A assistência preditiva adiciona carga cognitiva (você deve avaliar sugestões), introduz latência e altera o ritmo da digitação. Para alguns usuários em algumas condições ela ajuda; para outros pode prejudicar. A única forma de saber é medir.
Variáveis independentes (o que o experimento controla)
- Método de entrada: Ocular (olhar) vs. Digital (toque)
- Conteúdo: Palavras vs. Frases
- Assistência: Com AEL (com assistência) vs. Sem AEL (sem assistência)
- Série: 1ª repetição vs. 2ª repetição
Variáveis dependentes (o que o experimento mede)
- Tempo de leitura (processamento cognitivo: reconhecimento de palavras + planejamento)
- Tempo de escrita (execução motora: de fato digitar)
- Taxa por caractere (normalizada pelo comprimento da palavra)
- Precisão (percentual de caracteres corretos)
O que as estatísticas revelam A razão percentual (Com AEL / Sem AEL × 100) indica aos pesquisadores se a assistência do AEL produz um benefício de velocidade. Uma razão < 100 significa que com assistência é mais rápido. Uma razão > 100 significa que sem assistência é mais rápido. A sinalização em texto vermelho no Excel destaca casos em que a razão merece atenção.
Tempo ─────────────────────────────────────────────────────────►
│◄── TEMPO DE LEITURA ──►│◄───────── TEMPO DE ESCRITA ─────────►│
│ │ │
newWord writeStart writeEnd
evento evento evento
│ │ │
└── carga cognitiva └── habilidade motora + efeito do AEL ┘
(reconhecimento de (velocidade de digitação, destreza,
palavras, planejamento, uso de previsão)
memória)
Um pesquisador que descobrir que o AEL reduz o tempo de escrita mas aumenta o tempo de leitura concluiria: a assistência ajuda na execução motora, mas adiciona sobrecarga cognitiva durante a fase de planejamento. Essa nuance só é visível porque os eventos são registrados separadamente.
| Escolha | Por quê |
|---|---|
| Adobe AIR / ActionScript 3 | App mobile multiplataforma (iOS + Android) a partir de uma única base de código em meados dos anos 2010; multitouch nativo; sem limitações de sandbox do navegador; acesso ao sistema de arquivos para armazenamento de sessão |
| Motor de física Adobe Flash | Animações suaves com aceleração de hardware exigidas pela interface assistiva; PhysicsEngine.as personalizado fornece feedback realista do teclado |
| Protocolos de experimento em JSON | Legível por humanos, versionável, compartilhável entre pesquisadores sem alterações de código; permite replicação exata |
| Node.js para conversão | Processamento de I/O rápido, ecossistema npm (ExcelJS), executa nos laptops de pesquisadores sem atrito de instalação; ≥Node 16 para fs/promises nativo |
| ExcelJS para saída Excel | Controle total sobre formatação de células, inserção de fórmulas nativas e requisitos de estilo EXPA1507; suporta streaming para arquivos grandes |
| Vue.js 2 + Element UI | Ecossistema comprovado de painel administrativo (vue-element-admin); grande biblioteca de componentes; i18n integrado; bem compreendido por desenvolvedores web familiares ao projeto |
| Quasar + PWA para o app filtro | Instalável nos dispositivos de pesquisadores; acesso offline a metadados de sessão sem dependência de servidor |
A arquitetura modular do conversor torna isso simples:
1. Criar src/exporters/meu-formato-exporter.js
export async function exportMeuFormato(data, outputPath, config) { ... }
2. Registrar no seletor de formato em convert-new.js
3. Adicionar script npm em package.json:
"meu-formato": "node convert-new.js --format=meuformato"
1. Criar app/experiments/meu-protocolo.json
seguindo o esquema series/options/items
2. Referenciar em config/convert.config.js
protocolFile: './experiments/meu-protocolo.json'
3. Executar npm run xlsx — o conversor auto-categoriza
palavras/frases do novo protocolo
Adicionar uma nova condição (ex.: modo de entrada por voz) requer:
- Novo valor
modenas opções do protocolo - Novo tratamento de eventos em
Input.as - Novo par de colunas na saída de métricas em
trial-processor.js - Nova seção de estatísticas em
statistics-generator.js
A separação clara entre lógica de processamento e lógica de exportação significa que a saída de formato não precisa ser alterada.
Lietro — dando a cada mente as ferramentas para se comunicar.
Mindspecial · Renato Malcher · Daniel Siqueira · Laura Santos