Construindo uma base de conhecimento e o modelo Zettelkasten


Há algumas semanas eu estava conversando com um colega de trabalho. Havia uma tarefa corriqueira a ser feita, tipo daquelas que alguém que trabalha com programação faz todas às vezes: instalar uma meia dúzia de libs, configurar uma ferramenta ou até mesmo acessar uma máquina remotamente.
A tarefa era simples e eu já tinha feito várias vezes, no entanto, não lembrava os passos de cabeça, tendo que recorrer ao bom e velho Google. Foi aí que este meu colega me apresentou seu Notion pessoal e, para minha surpresa, ele documentou exatamente tudo sobre a sua vida profissional, tendo desde tutoriais de instalação e configuração de linguagens e ferramentas até operacionalização e comandos básicos do dia a dia - inclusive para diferentes sistemas operacionais. Naquele momento minha mente explodiu. É como se toda minha jornada profissional tivesse sido uma farsa, já que em mais de 10 anos de carreira eu pouco havia documentado - tudo que lembro ou é de cabeça, ou pesquisando por aí.
A partir dessa conversa, minha mente começou a se perguntar:
Quanto de conhecimento a gente adquire no dia a dia, mas acaba perdendo por esquecer de documentá-los?
Como eu poderia documentar minhas anotações de uma maneira que fosse simples e rápido de escrever, fácil de localizar e, principalmente, que não ficasse preso em um ecossistema
Como primeiro passo, achei importante mergulhar um pouco mais a fundo no problema das anotações em si. Existem vários modelos de anotação e recomendo que você tome um tempo para conhecê-los e escolher qual se encaixa mais. No meu caso, o método Zettelkasten foi o escolhido. Ele consiste em uma pequena carta (Zettel) colocada em um armário. Dentro desse armário, as cartas são organizadas de uma maneira hierárquica onde elas se interligam, criando uma espécie de árvore de conhecimento. Funciona mais ou menos assim: suponha que você tenha um armário sobre “Linux”, dentro dele tem uma carta que explica como configura uma chave SSH e que pode de relacionar com outra que detalha como fazer clone e pull de um repositório usando o Git CLI. As possibilidades são inúmeras e o conceito vai ainda mais além, caso queira pode ler mais sobre aqui.
Com o modelo definido, era hora de partir para a escolha da tecnologia. E antes que venham me julgar, já tentei sim documentar as coisas - inclusive utilizei o Notion para isso. Não me interprete mal, eu acho Notion uma ótima ferramenta, mas discordo que ela seja a mais adequada para o propósito de criar notas simples e rápidas de escrever e buscar. O Notion é um universo, com tantos templates e muita ideia interessante, você facilmente se perde por lá. E eu, é claro, já gastei muito mais tempo configurando do que de fato usando!
Aliás, cada vez mais tenho procurado ferramentas que tenham menos funcionalidades, mas façam aquilo que se propõe bem feito.
Mas… E agora, quem poderá nos ajudar?
Procurando pelas interwebs, encontrei alguns exemplos de aplicação do Zettelkasten com Notion, Evernote e algumas outras ferramentas. Mas nenhuma balançou tanto o meu coração quanto uma chamada Obsidian.
As razões para a escolha do Obsidian foram muitas:
Aplicativo Desktop para Linux;
Grátis para uso pessoal;
Plugins da comunidade - com suporte para Git, Excalidraw e outros;
Arquivos são apenas markdown com algumas configurações de metadados;
Visualização em grafo das interligações entre as notas, pesquisa textual e criação de templates;
Todos esses pontos foram suficientes para me convencer. Mas já adianto, ao contrário do erro cometido com o Notion, aqui o objetivo é justamente o contrário: adicionar o mínimo necessário de configuração e usar. A medida que novos problemas forem surgindo, avaliar cada caso e otimizar com novos plugins/metodologias.
Segue abaixo a configuração que realizei para o meu Obsidian.
Sinta-se livre para adotar ou não cada uma das escolhas aqui feitas. Eu mesmo pouco segui o modelo Zettelkasten, visando o foco em criar uma base de conhecimento enxuta.
Atualização do futuro: depois de mais de 6 meses usando, pouco mexi desde a configuração inicial e continuo satisfeito com a configuração até aqui.
Plugins da comunidade instalados
Advanced Tables: para criação de tabelas de forma fácil nos documentos;
Obsidian Git: para manter todas as anotações salvas num repositório privado no GitHub e podendo compartilhar entre diferentes dispositivos;
Excalidraw Plugin: para criar diagramas e fluxos de forma fácil e rápida;
Obsidian Mind Map: permite transformar um documento em um mapa mental - ideal para transformar uma nota em uma apresentação;
Highlightr Plugin: para destacar partes importantes ou que mereçam atenção especial no texto.
Importante: até hoje só usei o plugin Obsidian Git no Desktop, no entanto, é citado sobre uma feature (experimental) para mobile. Se você é um usuário que pretende seguir com esta configuração em um dispositivo mobile, acredito que o sync oferecido pelo próprio Obsidian (pago) possa lhe atender melhor.
Para configurar os plugins, não há muito mistério, no próprio app há uma opção de community plugins, onde basta você instalar com alguns poucos cliques. O único plugin que precisará ser configurado é o do Git, e a forma mais direta que encontrei foi seguindo este tutorial (o vídeo está em inglês, mas tudo bem se você não dominar muito bem o idioma, basta seguir o passo a passo no vídeo).
Importante: para realizar o acesso é criado um token de acesso, o qual não deve JAMAIS ser compartilhado publicamente ou com terceiros - uma vez que quem tiver esse acesso poderá fazer qualquer coisa com o seu repositório!
Uso diário
Com os plugins instalados e configurados, criei uma pasta chamada “Templates” com um único arquivo (até hoje). Neste arquivo, é possível usar o atalho `CTRL + P` e procurar por “Add File Property”. Após isto, basta adicionar properties: “Source” (fonte), “Related” (Relacionados) e “tags”, conforme exemplo abaixo:
Com este arquivo definido, basta ir nas configurações (clicando na engrenagem), acessar o menu Templates e preencher a opção “Template Folder Location”. Com isto configurado, basta digitar CTRL + P
e procurar por “Templates: insert Template” e escolher o “Example Note” que acabamos de criar, para um novo arquivo igualzinho a este que definimos ser criado.
E por que colocar esses metadados? Para que você possa fazer os links entre os assuntos e as áreas e, depois de um tempo, ter um grafo belíssimo como este:
Uma coisa que gosto de fazer é criar 1 cartão vazio com o título do tema - no exemplo acima, criei um de Spark e depois relaciono todos os assuntos adjacentes com eles. Nem todos os cartões terão isso, algumas coisas podem ficar mais isoladas, mas sempre que estou estudando sobre algo, gosto de fazer essa abordagem para ter uma visão melhor ao longo do tempo.
Se você realizou todas as configurações e chegou até aqui, você tem tudo precisa para começar a criar sua base de conhecimento, mas atenção, lembre-se de que a qualidade do que será escrito deve lhe ajudar, portanto, não esqueça de incluir detalhes relevantes. Outro ponto que acho importante citar é que não existe uma configuração “ideal” da ferramenta, logo, permita-se testar, começando simples e acrescentando recursos conforme as suas necessidades.
Happy Coding Writing!
Subscribe to my newsletter
Read articles from Leonardo Fiedler directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Leonardo Fiedler
Leonardo Fiedler
Olá, sou Leonardo Fiedler e sou conhecido na internet popularmente como "Caveira Dev". Sou formado em Ciência da Computação (FURB), pós graduado em Data Science (FURB) e atualmente trabalho como Data Engineer na Senior Sistemas. Atuo há mais de 10 anos no mercado, passando por desenvolvimento mobile, web e dados.