A better structure would be something like
users/<user>/projects/<name>/data/... etc
Now your file system is just a NoSQL database. All that data you would dump into an index.json can be stored in the file tree.That would actually work pretty well as long as you limit operations that are kind of meaningless and disable features like symlinks.
Mounting hierarchical data as a pseudo file system is actually pretty common. EG procfs, devfs, sysfs are all pseudo file system that present structured data to applications on Linux through the guise of a file tree.