I'm a little concerned by the 653 KB file size. Is that due to assets?
This weight is mostly explained by the dependencies. Oh, hi Mark! relies notably on elasticlunr as a search engine and unfluff to scrape saved pages.
There is definitely space for optimization here, but I chose to rather focus on features until now.
Fuse.js could be a better alternative for elasticlunr.js.