Hacker News new | past | comments | ask | show | jobs | submit login

I've been really happy with CouchDB + PouchDB at https://financier.io

You can do unique things like offer a trial period without syncing (database wholly in browser), which allows for ridiculously quick onboarding. And then when the user signs up for a paid plan, you just hook up CouchDB and the data syncs right on over.

The sync mechanism works so damn well. It's really cool how easy it is to implement a Google Docs-like sync mechanism with conflict resolution baked in.




It works so damn well until it finds itself in a Firefox private window :)

PouchDB does have rather expensive adapters that use memory or LocalStorage. Almost twice the size as the base package (minified).


I used the stack on a side project. Wrote an adapter for websocket sync and a wrapper for Vue that allowed streaming queries.

I really liked it, but the typical pattern of one-db-per-user with internal replication on the server was a bit difficult plan/orchestrate for shared data. I'm patiently waiting for the couchdb PR for document level access control.

These days I use supabase with row level security and a Vue-wrapper that can cache queries locally and update the result as the network request finishes. Works as good as pouch + couch (but naturally comes up short for queries that rely on Date.now())


I also love CouchDB/PouchDB, but it’s quite clunky to configure the security settings on a per user basis, and many times I want to additionally transform the data before bringing it to the client. I also don’t like to be locked into directly blasting a database with requests (sometimes it’s better to use caching). So for those reasons I keep it behind an API layer.


I use this model as well. It is a hidden gem for quickly building an awesome local first web app.

I'm really surprised more companies don't pick this stack.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: