How I became a better software engineer by using a visual knowledge management tool
Tags: softwaredevelopment, webdev, programming, productivity
Published: 2024-05-30 00:58:34

I like to believe that I have always been a very proficient software engineer, I've specialized in JavaScript/TypeScript for more than 6 years professionally and I program for fun for more than 15 years. I got a business degree before my software engineering degree, and I was well within senior level working at an amazing software company when I got my diploma as a software engineer.

One thing that always bothered me was the amount of things I had to keep in my head at one given point. I even suffered from a severe phase of burnout where I needed to take antidepressants in order to keep my job.

I have been aware of mind mapping tools for more than a decade, but I never could use them for other than planning some very specific things and then shortly giving up on them.

That's until I was experimenting with a side project I was working on for about 2 years, I was in a basic sense generating flashcards using AI, and it occurred to me that I could also generate a diagram for it as well to assist in learning, but turned out that what I created was way more powerful than that.

I created a type of interactive visualization engine where I could move boxes on the screen, add a name to them and eventually even open a drawer where I could add rich text. At one point I automatically opened it to save random note and it dawned on me, it was way easier than going to Notion and creating a page.

From there on I implemented pasting of links and images, and even search for the textual content of images. I used to take screenshots of code and send them to myself via Slack to save them for later, but now I can just paste it on a board which I can group everything visually and spatially.

The search is also semantic by using embeddings, and eventually I will also add the ability to talk to your knowledge base. I understand that AI is so hypey right now but I don't want it to be the main thing about it.

I could add the ability for users to generate their content and whatever but the value of the boards is that it's yours and represents your own mind, you put the effort and that effort helps you consolidate that information better.

Of course, there is an AI Chat node but that is only intended to be used for your research and be organized visually. That's not the end goal, for that you can use ChatGPT directly.

Anyways, let me get to the main point, this tool I've built changed the way I work as a software engineer. Now I have this digital whiteboard where I can put all my research if I am working on something complex for one of my clients or companies I work for.

I take a humongous amount of screenshots of code and add relationships between them, add notes and link to documentation and sometimes I even paste a link to a video from YouTube which gets stylized accordingly.

It's like I got more RAM for my mind, I can keep a huge amount of information very accessible to this high speed network we call vision. Instead of seven things, I can have hundreds of things. Best of all, I can completely forget about it whenever I want to, and also pick it up whenever I get back to it.

I enjoy my weekends more, and I can also context switch more easily with less strain. I feel I could have a thousand projects going on at the same time. Or focus that powerful energy into the projects I love.

Right now I am dedicating my time to [Meteor](https://www.meteor.com) and [Metaboard](https://metaboard.cc). It's also worth noting that Metaboard is built on top of my own homemade event-driven real-time framework [Helene](https://github.com/leonardoventurini/helene) which is inspired by Meteor.

This is not the first tool I've built, I've also built a devtools for Meteor some years ago and it's used by a little over 5k users. Creating tools seems to be my thing, and I hope it helps you as much as it helps me. I am a builder, and I would only share it if I truly believed in it.

I would love to hear your thoughts and frustrations with existing tools so I can make it even more awesome. I built this for myself, I am a software engineer, and very likely it will be a powerful tool for you too. Heck I even have people using it to manage a factory for industrial kitchen appliances, that's why it's called Meta-board, it's whatever you make it to be.

One tool to rule them all.

The cover image is of a board created by a colleague of mine for studying Node.js and the event loop.

It even has a mini map!

![Metaboard Mini Map](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i080amukjogqkoljerm6.png)

Here is a short homemade promo video (one day I hope I can hire someone to do these, but hey there is a cat at the end):

{% embed https://www.youtube.com/watch?v=mkNFPxQyoOM?rel=0 %}