I want to build a browser that captures everything I saw on the internet, allows me to search it, run graph algorithms (like PageRank). Improves navigation (by showing trails as tree instead of tabs). Heavily offline focused (Backend only for updates, maybe for analytics).<p>Difference with rewind.ai: linkkraft does not have funding, i'm solo, no apps & image/video/audio recognition. Focus on web, trails, research and using web copies, selections/highlights as part of your notes & whiteboards. Preserving all possible graphs.<p>My inspirations: <a href="https://pages.gseis.ucla.edu/faculty/bates/berrypicking.html" rel="nofollow">https://pages.gseis.ucla.edu/faculty/bates/berrypicking.html</a>, <a href="https://beepb00p.xyz/promnesia.html" rel="nofollow">https://beepb00p.xyz/promnesia.html</a>, Jeff Raskin (Global Search, Zoom UI) <a href="https://linkkraft.com/notes/backstory" rel="nofollow">https://linkkraft.com/notes/backstory</a><p>I've built a prototype with trails tree & HTML snapshoting. For each my step even inside SPA linkkraft creates HTML snapshot.
<a href="https://arestov.github.io/linkkraft-notes/comparing/linkkraft-vs-chrome.mp4" rel="nofollow">https://arestov.github.io/linkkraft-notes/comparing/linkkraf...</a>
<a href="https://arestov.github.io/linkkraft-notes/trails-tree-plus-offline-for-tool-for-thoughts/linkkraft-fresh-offline-spa.mp4" rel="nofollow">https://arestov.github.io/linkkraft-notes/trails-tree-plus-o...</a><p>Across similar software ("too many tabs" solvers, snapshoters) combination of trails tree & snapshots that reinforces is unique in linkkraft.<p>To make snapshot it takes current state of DOM, current state of styles (to capture CSSinJS stuff), take resources like font/images from network storage (Chrome Dev Tools protocol) and saves it as HTML on disk.<p>I've been developing created frontend in-memory graph DB / state manager for 1) replication 2) incremental sync 3) fast rendering (without VDOM/react). Used in <a href="https://seesu.me" rel="nofollow">https://seesu.me</a> & <a href="https://meetsidekick.com" rel="nofollow">https://meetsidekick.com</a>.<p>So, I have in memory db in main process of electron that send chunks to render process with replica. And to LevelDB to persist graph.<p>From user perspective, I also want to have a copy of all my bookmarks (Cause things disappear from internet and things are slow in internet). As special wish: twitter likes/bookmarks (because I use intensively for inspiration from other makers and Twitter is especially slow & unavailable for scoped search).<p>There are changes in twitter HQ, that looks reasonable to speedup ability to make backup for twitter likes/bookmarks.<p><a href="https://youtu.be/yTpysdSM9WQ" rel="nofollow">https://youtu.be/yTpysdSM9WQ</a><p>I have 3 tech tasks for that:
1. Scan/scroll likes pages (actually it would be better to inject code in twitter page to make direct requests to API)
2. Fetch page HTML snapshot. I'm thinking to not fetch page from start, but instead reuse SPA. Something like push to history API, so without full reload I'll get renderer page and comments triggered to load.
3. Speedup resources fetching a) run everything as soon as possible (not when everything is ready) b) use key/value ( url+etag) cache for hash. Which is used to dedup images, fonts, styles.<p>For me it's not to escape twitter, but to speed up interaction and discover even more things on twitter