Skip to content

Instantly share code, notes, and snippets.

@dseeker
Created March 5, 2026 23:05
Show Gist options
  • Select an option

  • Save dseeker/41c427c9a555fc6aa05d1ca85ddce22f to your computer and use it in GitHub Desktop.

Select an option

Save dseeker/41c427c9a555fc6aa05d1ca85ddce22f to your computer and use it in GitHub Desktop.
╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                              ║
║                                                                              ║
║                        ██╗     ██╗███████╗████████╗██████╗  ██████╗          ║
║                        ██║     ██║██╔════╝╚══██╔══╝██╔══██╗██╔═══██╗         ║
║                        ██║     ██║█████╗     ██║   ██████╔╝██║   ██║         ║
║                        ██║     ██║██╔══╝     ██║   ██╔══██╗██║   ██║         ║
║                        ███████╗██║███████║   ██║   ██║  ██║╚██████╔╝         ║
║                        ╚══════╝╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝          ║
║                                                                              ║
║                                                                              ║
║               ASSISTIVE TECHNOLOGY  ·  RESEARCH  ·  COGNITIVE THERAPY        ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝

Plataforma Feito com Adobe AIR Vue.js Node.js Licença: MIT Site


Desenvolvido pela Mindspecial — criando ferramentas digitais para pesquisadores, terapeutas e as pessoas que eles atendem.


O que é o Lietro? · A quem ajuda · Funcionalidades · Como funciona · Componentes · Conquistas Técnicas · Começando · Equipe


O que é o Lietro?

O Lietro é uma plataforma que dá voz — e um teclado — a quem mais precisa.

Para crianças com Transtorno do Espectro Autista (TEA), oferece treinamento de associação simbólica, dicionários visuais e jogos de palavras interativos que apoiam o aprendizado e a comunicação no ritmo de cada um. Para pessoas com deficiências motoras ou paralisia, disponibiliza um Teclado Eletrônico Assistivo (AEL) que permite digitar apenas com o olhar — sem o uso das mãos. Para pesquisadores e terapeutas, entrega um pipeline completo de dados: desde experimentos controlados até relatórios estatísticos profissionais compatíveis com MatLab, Psychart, Sage e SciPy.

O Lietro é um kit completo — o aplicativo para conduzir experimentos, as ferramentas para processar resultados e o painel para compreender o significado dos dados.


A quem ajuda

👤 Usuário 💡 Como o Lietro Ajuda
Crianças com TEA Treinamento de associação simbólica, dicionários visuais, jogos de palavras com feedback de reforço
Pessoas com paralisia Digitação ocular — selecione letras pelo olhar, sem uso das mãos
Usuários com deficiências motoras Teclado assistivo por toque com sensibilidade configurável para controle motor limitado
Pessoas com dificuldades de fala Saída de texto para voz, símbolos de comunicação, atividades de estimulação cognitiva
Pesquisadores Protocolos de experimento controlados, logs de sessão com registro de tempo, exportações estatísticas
Terapeutas Painel de revisão de sessões, armazenamento de dados psicométricos, visualização de desempenho

Funcionalidades

🧠 Para Usuários e Participantes

  • Digite usando olhar (Ocular) ou toque (Digital)
  • Teclado Assistivo em Português com sugestões preditivas de letras
  • 7 jogos de palavras e atividades cognitivas configuráveis
  • Associação simbólica — vincule imagens, símbolos e palavras
  • Dicionário visual de objetos e ações do cotidiano
  • Feedback de áudio e animação imediato
  • Layouts de teclado em múltiplos idiomas

🔬 Para Pesquisadores e Terapeutas

  • Protocolos de experimento definidos em JSON — precisos e reproduzíveis
  • Registro completo de interações: timestamps, precisão, modo de entrada, dispositivo
  • Comparação de desempenho com e sem assistência
  • Exportação para CSV, JSON ou Excel para análise
  • Gráficos, mapas de calor e linhas do tempo no painel PRO
  • Perfis multiusuário com controle de acesso baseado em funções
  • Compatível com MatLab, Psychart, Sage, SciPy

Como funciona

 ┌──────────────────────────────────────────────────────────────────┐
 │  📱  SESSÃO DE EXPERIMENTO / TERAPIA                             │
 │      Aplicativo Lietro  ·  iOS · Android · Desktop              │
 │                                                                  │
 │  • Palavras são exibidas uma por vez conforme o protocolo        │
 │  • Usuário digita pelo olhar (Ocular) ou toque (Digital)         │
 │  • Cada interação é registrada com timestamp → salva em JSON     │
 └────────────────────────────┬─────────────────────────────────────┘
                              │  arquivos .json de sessão
                              ▼
 ┌──────────────────────────────────────────────────────────────────┐
 │  ⚙️  PIPELINE DE PROCESSAMENTO DE DADOS                         │
 │      Lietro Convert  ·  CLI Node.js                             │
 │                                                                  │
 │  • Eventos analisados → tentativas extraídas → métricas calculadas│
 │  • Tempo de leitura · tempo de escrita · precisão · taxa por caractere│
 │  • Com e sem assistência separados em colunas paralelas          │
 │  • Fórmulas Excel geradas dinamicamente para views estatísticas  │
 └────────────────────────────┬─────────────────────────────────────┘
                              │  relatórios .csv  ·  .xlsx  ·  .json
                              ▼
 ┌──────────────────────────────────────────────────────────────────┐
 │  📊  PESQUISA E ADMINISTRAÇÃO                                    │
 │      Lietro PRO  ·  Painel Vue.js                               │
 │                                                                  │
 │  • Revisão de sessões, visualizações ECharts, dados psicométricos│
 │  • Acesso baseado em funções para pesquisadores, terapeutas, admins│
 │  • Exportação compatível com MatLab · Psychart · Sage · SciPy    │
 └──────────────────────────────────────────────────────────────────┘

Componentes da Plataforma

Componente Finalidade Tecnologia
Aplicativo Lietro Conduzir sessões de terapia e experimentos; capturar todas as interações do usuário AIR
TecladoMagico Variante simplificada do teclado assistivo do aplicativo principal AIR
Lietro Convert Converter JSON bruto de sessão em relatórios CSV/Excel de nível de pesquisa Node
Lietro PRO Painel administrativo — gerenciamento de sessões, análises, exportação de dados Vue
Session Filter Navegar e pesquisar arquivos de sessão de experimentos (PWA) Quasar

Conquistas Técnicas

♿ Acessibilidade e Entrada

  • Digitação por olhar (modo Ocular) — seleção de letras por tempo de fixação via camada de entrada multitouch do Adobe AIR, permitindo digitação para usuários com paralisia completa
  • Teclado Eletrônico Assistivo (AEL) — layout "Português ASSIST" com sugestões preditivas, delay de leitura ajustável (0,1–0,6s), tempo de escrita e controles de pausa
  • Sensibilidade de entrada configurável — distância de arrasto (Longa / Média / Curta), reconhecimento completo de gestos (toque, deslize em 4 direções), mapeamento toque-para-mouse desativado para fidelidade multitouch real
  • Múltiplos layouts de teclado — variantes QWERTY, Estendido e Assistivo em Português, Inglês, Francês, Alemão e Espanhol

🧪 Plataforma de Experimentos

  • Sistema de protocolos JSON — sequências de experimentos totalmente reproduzíveis com configuração por série de modo, temporização, listas de palavras e tipo de teclado
  • Gravação de sessão com timestamp — cada interação registrada como touchEvents com tipo, timestamp, palavra, modo e fator de precisão
  • Metadados agnósticos de dispositivo — captura arquitetura de CPU, SO, DPI da tela, resolução e tipo de player para reprodutibilidade entre dispositivos
  • Arquitetura dual-app — o mesmo motor subjacente (MenteAberta) alimenta tanto a plataforma completa de pesquisa (Lietro) quanto a ferramenta clínica focada (TecladoMagico)
  • Motor de física — simulação embarcada para componentes visuais interativos

⚙️ Pipeline de Processamento de Dados

  • Arquitetura modular do conversor — separação clara de responsabilidades: config → processors → exporters → utils
  • Saída Excel compatível com EXPA1507 — formatação profissional de pesquisa: Arial 10pt, sinalização de anomalias em texto vermelho (#C00000)
  • Fórmulas Excel dinâmicas — fórmulas nativas AVERAGE, STDEV, IFERROR inseridas para que as estatísticas sejam recalculadas conforme pesquisadores modificam os dados
  • Exportação em múltiplos formatos — CSV, JSON e XLSX a partir do mesmo pipeline com um único comando
  • Profundidade estatística — contagem, média, desvio padrão, razões percentuais e variação percentual por condição: Ocular / Digital × Palavras / Frases × Com AEL / Sem AEL
  • Segurança — prevenção de path traversal e validação de entrada em todo o sistema
  • Desempenho — processamento típico abaixo de 0,5 segundos por arquivo de sessão

📊 Painel de Pesquisa (Lietro PRO)

  • Construído sobre vue-element-admin: autenticação baseada em funções, roteamento dinâmico de barra lateral e guardas de permissão
  • Integração com ECharts 4 para gráficos de barras, linhas e mapas de calor de desempenho de digitação
  • Importação/exportação Excel para gerenciamento de dados em massa
  • Editores de texto rico e Markdown, tabelas de dados com arrastar e soltar e edição inline
  • Suporte à internacionalização i18n
  • Camada de API Mock para desenvolvimento front-end sem backend ativo

🌐 Navegador Session Filter

  • PWA (Progressive Web App) — instalável e com suporte offline
  • Navegação em árvore de arquivos e diretórios com nós expansíveis e filtragem em tempo real
  • Framework Quasar UI para uma experiência responsiva e mobile-first

Estrutura do Repositório

lietro/
│
├── app/
│   ├── *.as                  # ActionScript 3 — lógica do app, sessões, sensores, física
│   ├── *.swf                 # Bundles compilados Flash/AIR
│   ├── experiments/          # Protocolos JSON de experimento e aprendizado
│   │
│   ├── filter/               # PWA de navegação de sessões (Vue.js + Quasar)
│   │
│   └── convert/              # CLI conversor de dados (Node.js)
│       ├── convert-new.js    # Ponto de entrada
│       └── src/
│           ├── config/       # Carregador de experimento, gerenciamento de caminhos
│           ├── processors/   # Extração de tentativas, cálculo de métricas
│           ├── exporters/    # Saída CSV, Excel, JSON
│           └── utils/        # Registro e validação
│
├── pro/                      # Painel admin Lietro PRO (Vue.js)
│   ├── src/
│   │   ├── api/              # Integração com API HTTP
│   │   ├── components/       # 31 componentes Vue reutilizáveis
│   │   ├── views/            # Componentes de página
│   │   ├── store/            # Gerenciamento de estado Vuex
│   │   └── router/           # Definições de rotas
│   └── mock/                 # Servidor de API mock para desenvolvimento
│
├── lietropro/                # Interface web PHP legada (templates HAML)
└── prodb/                    # Backend PHP de banco de dados

Começando

⚙️ Lietro Convert — processar dados de sessão

cd app/convert
npm install

npm run xlsx           # Exportar todos os arquivos de sessão para Excel
npm run xlsx-debug     # Teste rápido com um único arquivo de debug
npm run all-formats    # Exportar CSV + JSON + XLSX de uma vez

Uso completo: app/convert/README.md · app/convert/DOCUMENTATION.md


📊 Lietro PRO — painel administrativo

cd pro
npm install

npm run dev            # Servidor de desenvolvimento → http://localhost:9527
npm run build:prod     # Build de produção

Configuração completa: pro/README.md


🔍 Navegador Session Filter

cd app/filter
npm install
npm run serve          # Servidor de desenvolvimento
npm run deploy         # Build e deploy para ../www

Saída de Pesquisa

O conversor transforma logs brutos de sessão em relatórios estruturados de 18 colunas:

Grupo de Colunas Conteúdo
Metadados Grupo, série, número de tentativa, palavra
Contagem de caracteres Com e sem espaços
Colunas de modo Dados Com AEL e Sem AEL lado a lado
Temporização Tempo de leitura (ms), tempo de escrita (ms), taxas por caractere
Precisão Percentual correto por modo
Contexto Tempo decorrido desde o início do experimento

As estatísticas são geradas em três escopos — todas as tentativas, somente modo Ocular e somente modo Digital — com Palavras e Frases tratadas separadamente em cada um. Todos os arquivos Excel contêm fórmulas nativas que recalculam automaticamente quando pesquisadores editam os dados.


Equipe

O Lietro é desenvolvido pela Mindspecial

🧠 Renato Malcher — Ph.D. em Neurociências · visão da plataforma e direção de pesquisa
💻 Daniel Siqueira — Desenvolvedor multimídia · engenharia e arquitetura da plataforma
🎨 Laura Santos — Ilustradora · design visual e conteúdo simbólico


Lietro — dando a cada mente as ferramentas para se comunicar.

Site

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment