
Show HN: Technical note app that builds a knowledge base - mtbarta
http://monocorpus.com
======
TeMPOraL
No note-taking thread could be complete without someone mentioning Emacs and
org-mode, so let's be done with this already.

Comparing this app to Emacs/org-mode, I'd say that the core benefit of this
app is collaboration. For single-person use, org-mode blows everything out of
the water, being faster to use, much more feature-packed, and having better
integration with programming languages (e.g. allowing to run code straight
from your notes, in any language you've already set your Emacs up to work
with, and have such random blocks of code in the notes exchange data). But
there's no proper way of collaborating with this setup - both because lack of
structure (org-mode notes are just plaintext files), and the near-
impossibility to convince your co-workers to use Emacs if they aren't already.

Still, don't treat it as a negative comment, Emacs users are set for life and
aren't really your target audience :). If anything, take a look at org-mode
and see if you can steal some ideas.

~~~
matt-snider
I use vimwiki, and I'm really liking the simplicity of plain text notes
(markdown in my case). I've never used orgmode, but I prefer to use other
tools for to-dos and calendar/organization anyways. From reading about it, I
think the only feature I'd really like to have is literate programming, which
looks cool. Also, the tag search appears to support expressions, which vimwiki
doesn't.

One area that I'm struggling with is making my notes easily viewable, editable
and searchable on mobile. Syncthing + Markor for editing takes care of the
editable part, but they aren't displayed nicely or easily searchable by text
or tags. Exporting to HTML would make them nicer to read, but still not
searchable. App and browser based solutions are much nicer in this regard, but
I'm not willing to compromise on the other great benefits of programs like
vimwiki/orgmode.

If you or anyone else has experience or an opinion, I'd be glad to hear about
it.

~~~
patrickdavey
I made a little gem called vimwiki_ markdown which would help with the HTML
part.

[https://github.com/patrickdavey/vimwiki_markdown](https://github.com/patrickdavey/vimwiki_markdown)

~~~
matt-snider
I actually am already using vim_markdown - thanks! It works well in terms of
rendering, but I still have no ability to search, which I guess isn't the
responsibility of vimwiki/vimwiki_markdown, but might need to be some
postprocessing step.

------
voidhorse
I've tried a lot of different note taking solutions, org mode, vimwiki, apple
notes, etc. etc. But at some point I became dissatisfied with them all. My
distaste for digital solutions lies in their lack of flexibility: at the end
of the day, there's as of yet no digital means of note-taking, that I'm aware
of, that achieves the same degree of flexibility and tight feedback loop
offered by pen and paper.

Are my thoughts better captured in words or in images? No problem, with pen
and paper I can switch modes seamlessly, and, furthermore, mix them without
any hassle. Should I come up with tags and some appropriate naming convention
so I can find my notes later? No need—when everything is stowed away in a
compact notebook, I can quickly flip through and find a multitude of phrases
or doodles that indicate what subject I've explored. There's something
charming, too, about flipping through the musky contents of a forgotten
notebook that I find lacking when I peruse old digital files.

Plenty of people find digital solutions more appropriate, and sure, they do
eliminate some of the hassle of carrying around a notebook and pen, they make
notes easier to share with collaborators (this is where they excel!), and if
you have a large number of notes it may serve for better organization, but at
the end of the day, note-taking is one domain in which I've found newer tools
aren't necessarily better tools. Something about the tactile and fluid
experience of taking pen and paper notes still gets my neurons firing in the
right ways...I think the persistence of whiteboards in the workplace also
attests to the value of analog means for capturing our thoughts.

~~~
nekopa
The problem I had with musky notebooks is that I have too many of them. I have
literally 80~100 old moleskines in a draw filled with old notes and ideas.
Like you, I've tried most digital solutions, and they all came up lacking.
Nothing can beat hand written note-taking for me.

So, I thought "Why not both?" For the last 5 years I've used a Samsung Galaxy
note 8.0 with pen(the old tablet, not the phone). And the best app I found to
take notes on is the stock S-note app.

I can put ideas into their own 'book'. It has shape recognition (draw a crappy
square or line and it converts it into a nice clean one). Lots of
customization options for pen shape, color, transparency and size. I can take
or download photos to paste into the notebook.

But the killer feature for me has been the ability to import PDFs and write
over them. Not only do I use this feature for reading textbooks and keeping my
notes in them, but I can make custom "paper" backgrounds - think different
grids - dot, hex etc.

And last year when I started journaling, I found no journal system worked for
me exactly. So using Scribus (an open source DTP solution like InDesign) I can
make custom journals (think daily, weekly and monthly organization pages) as
PDFs to import and scribble on.

So now I have all my notes with me, able to scribble and doodle when I need,
backed up and easily searchable and importable to my laptop. Win-win.

S-note doesn't quite do everything I need it to, so I may try to create my own
solution - but it's 90% there.

------
trulyrandom
Looks interesting. It's good to see another note app that also has an open
source backend.

I'm personally using StandardNotes
([https://standardnotes.org](https://standardnotes.org)) for note taking,
which has been great. If you don't need the collaborative functionality of
MonoCorpus, it's worth checking out.

~~~
jszymborski
I was an avid user of StandardNotes (particularly a fan of the minimalism),
but I've since been really taken by Joplin[0] and end up evangelizing for it
whenever I can.

Joplin's FOSS, syncs using a number of methods, support E2E (I'm no crypto
expert, but they use AES in OCB mode which seems appropriate), and supports
things like LaTeX out of the box. Oh, and it has nice things like mobile apps
and web snip extensions for browsers.

Collaboration is apparently on the radar, but doesn't currently exist in a
meaningful way.

[0] [https://joplin.cozic.net/](https://joplin.cozic.net/)

EDIT: I had cast some vague arm-chair dispersions on StandardNote's crypto
claims which I've removed in light of the comment below regarding a security
audit. Apologies for not informing myself on the matter!

~~~
mobitar
Standard Notes’ cryptography was audited by a third party security firm:
[https://listed.standardnotes.org/@sn/821/announcing-our-
secu...](https://listed.standardnotes.org/@sn/821/announcing-our-security-
audit-results)

~~~
jszymborski
That's actually awesome, was not aware.

------
stockkid
I find that the best way to take notes without slowing down the velocity is to
minimize the context switching by embedding note taking to the environment.

Note-taking shouldn't be done by an external application because then users
have to switch context from their current work. Rather, the tool should be
available in the command line, browser, and IDE.

I have been making and using dnote [0] for the past two years to build a
personal knowledge base, and this seems to work. I could just jot down things
inside my terminal or web browser within seconds and get back to work.

[0] - [https://github.com/dnote/cli](https://github.com/dnote/cli)

~~~
TeMPOraL
> _Note-taking shouldn 't be done by an external application because then
> users have to switch context from their current work. Rather, the tool
> should be available in the command line, browser, and IDE._

Some ways of working around that:

\- have your note-taking app always open, on the other screen if available

\- work in the same program you're using to take notes

I do the latter - there's one program that can do that, Emacs.

dnote doesn't look ergonomic enough for me to use directly (I don't spend
_that_ much time in raw terminal), but looks perfect for globally binding to a
key, with an ad-hoc popup UI (e.g. via your WM on Linux, or with AutoHotkey on
Windows - the latter makes it trivially easy to create a minimal GUI too.)

------
simonw
I know I'm playing armchair architect here, but MongoDB, PostgreSQL AND
Elasticsearch?

For an application like this I would expect just PostgreSQL with its built-in
JSON datatype and surprisingly capable full-text search to be enough on its
own. I'd love to know how you ended up deciding on all three.

~~~
PurpleRamen
From the look of it it seams postgresql is used by keycloak for usermanagment-
stuff, not by the app itself. So maybe this can be changed or even removed for
selfhosting?

------
erwan
Cool stuff, I would pay for that - even a single user - if you could provide
me with strong privacy guarantees.

I currently use my own code-note management app. It's crude and is essentially
like a Jupyter notebook.

I would be happy to switch over something better if I could feel safe that
this extension of my brain would be safe.

------
pleasecalllater
_...just dreaming_

I'd love to have storing PDFs (with searching), storing web pages as images
and as text (integrated with my browser), writing notes with markdown, latex,
asciidoc, adding links. All that should run locally (as it is my data) with an
online integration on a website, so people can edit the data as well. Also
teams, projects, content versioning, online conflicts resolution (if more
people edited the same file), categories, tagging... Configuring a custom
pipeline e.g. to build a pdf from my markdown/latex sources.

Additionally a nice keyboard-UI, so I don't need to click all day, as it slows
me down terribly.

I'd happily pay for this.

~~~
deniall
Honestly, Evernote does the vast majority of what you just listed. I’d highly
recommended it giving it a try if you haven’t already.

------
Quanttek
Does anyone know a similar app not geared so much for developers? i.e. (also)
interlinking nodes with full markdown support (incl embedded images) or even
files, a good search over all of them, preferably WYSIWYG-y (like Typora)

~~~
csytan
You should check out notion.so

~~~
carrollgt91
Second this. We use notion for all of our company knowledge-tracking and
documentation. It's even great for the more technical side of things, as it
supports code-formatting as well.

------
smashpanda
I built something like this to use locally and I found it to be one of the
most useful tools. For me the Search feature is what really did it, tagging
articles so I could look them up later was amazing.

I used
[https://github.com/olivernn/lunr.js/](https://github.com/olivernn/lunr.js/)
so the search had great functionality locally. Is there going to be anything
like that?

------
jgforbes
I see a lot of the note apps popping up - what is the fundamental problem that
people are trying to solve that hasn't been solved by all the other apps? Is
it collaboration or syncing or other?

------
indigodaddy
This looks quite good for my technical operations workflow actually.. ETA on
when it will be available?

~~~
mtbarta
the open source version is available if you want to use it immediately.
There's no team functionality, however.

I'm hoping to get a more fully-featured product out in a few months.

------
jookyboi
Might want to check out cacher.io for a team-based app that integrates with
VSCode, Atom and Sublime.

------
perishabledave
One of the screenshots doesn’t resize properly down to mobile. FYI.

~~~
mtbarta
Sorry about that! I jammed several gifs and a video into the template without
thinking about responsiveness. I know on Macs the video below the about
section doesn't seem to play.

I'll look at it asap.

------
cyneox
I use my Leuchtturm (bullet Journaling) + TiddlyWiki.

------
Telichkin
Sorry, but I can't understand why should I use this app instead of saving
notes in a source code?

~~~
mtbarta
Not all notes belong in shared source code. I take notes on overall code
structure and oddities, but also debug output, commands I've run, daily todos,
thoughts on papers, experimental results, etc.

I used to save markdown files to git, but 1.) search was difficult and 2.)
sometimes I wanted to see the evolution of a project while other times I
wanted notes by day.

This project aims to make it easier to record and recall knowledge that teams
need and take for granted. I tend to think about onboarding new members, how
projects are run, and very specific, technical challenges not on Stack
Overflow.

I'm open to feedback. I want to continue to push down a wiki/knowledge base
path, but i'm not sure how other teams currently manage stale knowledge and
dissemination of technical info.

