One of the hardest thing while building something is to build ability to kill it if it is required for a bigger cause. Don’t get too much attached with the things that you build. Have a high level goals
Once you start writing your thoughts, they quickly get overwhelming and hard to organize. To make it easy to organize, added ability to organize the notes by hashtags. They would be grouped and shown on the "explorer" panel.
I used my own tool - app.retronote.app/write to write about my latest bike ride! Oh, I did not expect that I will write 8+ mins text!! And the output is so good! I took the advantage of markdown, images, note links. Loving it.
Added shortcuts for all common actions that we do while writing. This lets us to do all sort of things without taking off fingers from keybaord. "Index" is my favorite one. It shows outline of the note. Check it out at - retronote.app/write
I am lazy on setting up tests for frontend logic. Mocha + chai + typescript + CRA + bla bla. It will take a day to setup. This is what I did to save myself for now. Plain functions to test and attach "runTests" to window. I run from console whenever I want XD
Working on something low level is different shit. You don’t have much to share, more time goes in research, finding unkowns. I am at that position now with retronote.app. I know, people say ship ship. But its okay to do interesting stuff at times
Loving the way note taking experience is shaping on this tool! Added 1. Fully functional lists 2. Save notes as .md files and open other .md files 3. Outline section of the note 4. Quick search 5. Everything as shortcut 6. Only local storage
Another update: Implemented tab/shift + tab for indent asc/desc. The numbers get corrected accordingly. Still, there are corner cases. I think, I am getting deep understanding of SlateJS. It will help me alot in future!