Hacker News new | ask | show | jobs
by tluyben2 1368 days ago
This sounds like great work; been playing with graph dbs lately and it makes things easier. I was hoping though that there would be an effortless offline component to it though; maybe I missed it but there seems to be none? We have been trying to find a replacement for couch/pouch which gives the same convenience as that combo (besides setting up the right filters and permissions, everything works automatically). I see many people rolling (usually very hacky ‘cache invalidation’) solutions which require a lot of domain knowledge where pouch just works and querying server and client (mostly) the same way also lightens the load a lot. Couch is old and works very well, but, besides being very good at synching, it has a lot of downsides which we just ignored (which worked for us for a decade and very well at that), but with we are not good with couch (erlang) as rust/go/ts team and with the advances in webasm and anything-to-js, as well as having bucketloads of memory and storage on most non-iot (but even some of those if done with care) edge devices these days, you would think there would be a solution that allows me to do this outside couch/pouch. Of course here I forget to mention; although we would not mind paying for it, it needs to have an actual OSS license (not open core but apache/mit/bsd or whatnot). And yes, we might have a go at it ourselves but we are swamped at the moment.

Edit; the project has ‘eventual FOSS’ which I like as a concept and thought of doing myself; put milestones in place which can be externally verified which will trigger the license of the (semi) closed product to become fully foss.

2 comments

+1 here. I have already seen some videos with people toying with surrealdb and it looks amazing. But I need a offline-first (local-first) solution. Recently, TinyDB was posted here at HN. I also heard of InstantDB (react only).
Take a look at RxDB https://rxdb.info/
After many experiments we found that it makes a lot of sense to handle these things at the data access layer and not make your project depend on some special kind of data store.

Orbitjs looks interesting for this approach https://orbitjs.com/.

Not sure if there are many different tools following this model.