Choosing the right store — twice
Card documents are nested and read-heavy; connections are relationship-heavy and queried by depth. Splitting them across MongoDB and Neo4j kept both fast, at the cost of coordinating writes across two databases.
Digital business cards backed by a real social graph
SpingR lets people design, share and manage digital business cards — but the interesting half is what happens after a card is shared. Every exchange becomes an edge in a Neo4j graph.
That turns networking questions into queries: who do we both know, who is two hops from this prospect, which introduction is shortest. In a document store those are guesses; in a graph they are traversals.
Card documents are nested and read-heavy; connections are relationship-heavy and queried by depth. Splitting them across MongoDB and Neo4j kept both fast, at the cost of coordinating writes across two databases.
A connection touches both stores. Writes are ordered so the graph edge is only created after the card record commits, with a reconciliation pass that repairs any orphaned node left by a failed write.
Unbounded friend-of-friend queries explode on well-connected users. Depth caps, indexed relationship types and result limits keep suggestion queries inside a predictable time budget regardless of network size.
Shipped as a mobile application — no public web URL