Pitch: Fiz um editor de código e notas, com IA nativo em C++/Qt6 que fica abaixo de 50MB de RAM
Coloquei no ar o site do meu projeto, o LightNote (lightnote.com.br), e queria dividir com o TabNews algumas decisões de arquitetura. A ideia é ser um editor de código e notas super leve, com suporte a ID. Podendo ser usado como ambiente de vibe coding 100% nativo — sem HTML/JS na interface, sem Chromium embutido.
Tudo em C++20 + Qt 6 (QtWidgets), render pela CPU. Meta: app ocioso na casa dos ~40MB de RAM, em vez do 1GB que um editor baseado em Electron pede só pra abrir um .txt.
Os pontos que valeram o esforço
Dois editores nativos, nenhum web. Código usa Scintilla (o núcleo do Notepad++, render por QPainter, highlight de ~30 linguagens, licença permissiva). Markdown é um QPlainTextEdit com um QSyntaxHighlighter próprio que esmaece a marcação e só a revela no bloco sob o cursor — dá a sensação de quase-WYSIWYG com o custo de um editor de texto comum.
Arquivos gigantes sem estourar a RAM. Acima de ~1MB, o arquivo não vai inteiro pra memória: abre com mmap read-only, edições numa piece table, tela desenhada de forma virtualizada (só as linhas visíveis) e indexação de linhas em background. Log de vários GB abre liso.
"Big data" no meio das notas via DuckDB. .parquet/.csv/.json abrem como tabela com o DuckDB embarcado. A grade é um QAbstractTableModel paginado (fetchMore), com ordenação/filtro empurrados pro motor (ORDER BY/WHERE ILIKE). Milhões de linhas, consumo travado em megabytes (memory_limit de 256MB + spilling em disco).
Grafo de conexões só na CPU. Estilo Obsidian, mas sem QGraphicsScene — render próprio em QPainter + simulação de forças com Barnes-Hut (O(n log n)). A simulação para sozinha quando estabiliza: grafo parado = 0% de CPU, sem GPU.
Terminal + IA local com MCP. Windows-only, terminal sobre ConPTY (emulador VT de verdade, roda a CLI de IA como o próprio processo do PTY). Por cima, um servidor MCP (transporte stdio, opt-in por pasta) deixa a IA ler/buscar arquivos, rodar SQL num DuckDB confinado e mexer no Kanban — tudo no jail do workspace. Sugestão de código da IA cai num diff nativo lado a lado com Aceitar/Rejeitar por trecho, antes de gravar no disco.
Kanban versionável no Git. Estado em runtime num SQLite :memory:, mas persistência em texto mergeável (.ndjson, um registro por linha) — com UUIDv7, rank fracionário e merge por Last-Write-Wins. Tem até merge driver de Git próprio pra unir boards de máquinas diferentes sem conflito.
Outros pontos (de passagem)
- Busca global via ripgrep embutido (sem índice binário, sem FTS5).
.xlsxcom leitor OOXML próprio (sem DuckDB);.zipnavegável como pasta; PDF viaQt6::Pdf.- Notas com wikilinks/backlinks, notas diárias e captura rápida pela bandeja.
- Cliente SQL por arquivo (
.lnc), API tester (.lnh) e SSH/SFTP (.lns), tudo como abas. - Multi-idioma, temas (incl. Tokyo Night/Dracula), corretor ortográfico e notas autoadesivas.
- Distribuição: grátis (ZIP + instalador nas Releases do GitHub) e edição Core na Microsoft Store — mesmos recursos.
O que eu queria ouvir de vocês
Cheguei num ponto em que já tenho um app funcional, mas ainda não sei se ele é útil de verdade no dia a dia dos outros ou se é só um brinquedo de engenharia que resolve os meus problemas. Por isso trouxe pra cá antes de continuar empilhando recurso.
Três perguntas honestas:
- Está no caminho certo? A aposta central é "nativo, leve e offline-first" num mundo que foi todo pra web/nuvem. Isso ainda é diferencial pra vocês, ou é nadar contra a maré à toa?
- Encaixa no fluxo de trabalho de vocês? Notas + terminal de IA + dados locais no mesmo lugar faz sentido junto, ou vira aquele canivete suíço que não substitui nenhuma ferramenta especializada de verdade?
- O que refinar ou incluir primeiro? Do que mostrei aqui, o que você acha meio-caminho e o que está faltando pra você largar o que usa hoje e migrar?
Não tenho apego às minhas decisões — se algo aqui é furada, prefiro ouvir agora. O site tá no ar em lightnote.com.br pra quem quiser fuçar. Toda crítica técnica é bem-vinda, inclusive as chatas.
Fonte: http://lightnote.com.br