Databases
SQLite is cheap, create as many databases as you want. It's a good way to separate your data.
CRDTs are a good way to handle distributed data, this is what allows us to have an SQLite database on each device and to synchronize them. Those local replicas are read-write as much as the ones on the server.
Todo
Handle migrations