Odeio toasts no front-end, então recebo notificações em um console estilo PC-DOS feito em Vanilla JS
Eu odeio notificações via toast, e as pessoas não facilitam.
Trabalho com engenharia de IA e engenharia de dados, e sempre que alguma empresa decide que precisa fazer algo com front-end pra "simplificar o monitoramento", acompanhar as notificações vira o inferno por que na dúvida elas vão via toast.
Como copio a mensagem de erro de um f*ck*ng post-it que some em 1 segundo, sendo que disparo pipelines ultra complexas que demoram 24 horas pra rodar enquanto vou codar outra coisa? Mesmo quando a mensagem de erro permanece ela vem sem timestamp, então não consigo parear ela com outros eventos nos logs?
Normalmente faço trabalho de back-end, mas desde 2022 que injeto um pequeno JS em todo front-end que toco, assim que o dev vira de costas. Ele exibe um console retrô no canto inferior direito da página que exibe notificações com timestamp e histórico, pra eu poder saber o que se passa mais facilmente. O console fica minimizado e só abre quando uma notificação chega, e pode ser minimizado novamente com um clique no botão ou com :q. No lado do servidor posto notificações/logs em um buffer circular que o console monitora.

O snippet é só CSS + IIFE, encaixável em Flask, FastAPI, HTMX, página estática, whatever. Pedi pro Claudio Codar extrair uma versão de um dos meus projetos e postar no Github, só pra ver se ele conseguia (ele também escreveu este post, mas não mandou pois não dei meu login): Hardcopy Console.
Decisões que importei no nome e na face:
- Anti-toast como produto — linha com timestamp, histórico local no
localStorage; - Vanilla primeiro —
dist/hardcopy-console.{css,iife.js}; adapters Alpine/HTMX/Flask/FastAPI/lwan; hardcopy-consoleé jargão de mainframe/IBM, e as empresas que me fazem ter de usar um console no front-end me lembram as piores partes da IBM.