Projeto - Gerenciamento de anotações


Prompt (Contexto):

Você conhece a ferramenta "quartz" (https://github.com/jackyzha0/quartz)?

Um gerador de site estático rápido e incluído em baterias que transforma o conteúdo Markdown em sites totalmente funcionais

Acho essa ferramenta muito prático, pois basta criar um repositório utilizando esse projeto como template e adicionar os meus arquivos .md (minhas anotações) dentro de uma pasta específica chamado "content/" e então a mágica acontence, ele faz a tradução dos arquivos markdown em HTML e gera um site estático pronto para fazer o deploy no GitHub pages, por exemplo. Essa praticidade e facilitar de implantar toda a aplicação sem custo nenhum (caso por implantar no GitHub pages, por exemplo)  eu acho sensacional.

Porém um problema que eu reparei ao utilizar essa ferramenta por algum tempo é a demora da aplicação para fazer o parse de mais de 2.000 arquivos markdown que tenho, pois toda dia às 21h eu rodo um workflow no Github Actions que faz o re-deploy da aplicação, fazendo o parse de todos os arquivos todo o dia, sem nenhum cache ou outra política para recompilar apenas os arquivos que sofreram alteração para reduzir o tempo de compilação.

Outro problema é no website existe um recurso de visualização em grafo das minhas anotações (igual ao recurso do Obsidian), porém como tenho muita anotação esse recurso é extramamente travado, pois acredito que todo o processo para ler as informações e montar o grafo seja feita em "client side".

Com base nessas problemática e outras que você identificar de melhoria e/ou novos recursos para melhorar a experiência do usuário ao analisar o código fonte da ferramenta  Quartz e mê de um proposta completa e detalhada para um novo projeto com melhorias.

Prompt (detalhamento de um roadmap de desenvolvimento):

Entendi suas colocações, porém ainda está confuso a sequência de passos para desenvolver o novo projeto e principalmente as escolhas técnicas de tecnologias e ferramentas.

Desenvolva melhor um roadmap para o desenvolvimento de cada funcionalidade e lembre-se de seguir o princípio de design YAGNI para focar naquilo que é realmente importante e além disso, siga também o princípio KISS e SINE para criar uma solução robusta porém simples e eficiente sem abstrações denecessariamente complexas para resolver todo tipo do problema, e de novo foque em problemas reais que eu forneci a você e outras que você analisou como relevantes para criar um projeto que realmente resolva uma necessidade real do mercado.

Referências


https://chatgpt.com/c/67a77698-54f4-8010-9742-813919305b92