Challenge
Eliminating blockers to fundraise
One of the most important things for a political candidate to do is raise money online. NGP VAN innovated in the online fundraising field by building easy-touse online forms candidates could leverage for fundraising. These forms make it easy for users to support a cause with a single click by using the social media credentials of their choice, such as Facebook or Twitter.
NGP VAN needed a way to reconcile users who signup with different social accounts on multiple devices through a common authentication provider. Reconciling these user profiles and recognizing them as the same user would enable NGP VAN to provide a more seamless user experience across devices, enabling users to support causes much faster, and therefore raise more money for their clients.
Graph databases are known for being “whiteboarding friendly”, and the team at NGP VAN could see that keeping track of these user associations was greatly simplified by leveraging a graph database over a traditional relational database, which would have required a complex join system.
Solutions
No extra work needed
Associating users with multiple authentication providers and multiple instances of a single authentication provider would require a complex join in a relational database. With Neo4j, however, it is very easy and fast to retrieve adjacent data. Once the correct edges have been added to the Neo4j graph, finding associations among user accounts becomes a simple graph traversal problem. Since the graph model is well-optimized for these types of queries, making the switch greatly simplified work for NGP VAN as many of these associations are kept track of “for free” in Neo4j.
Hands-free, in control database management
With some Neo4j experience already under their belt, the NGP VAN team was looking for a solution that was fast and unobtrusive — something that would allow them to go as fast as they needed and not get in their way. GrapheneDB provided a great product that enabled NGP VAN to easily provision a test database straight from the dashboard and jump into prototyping.
Results
Adding new features with ease
Because graph databases are “schema-less”, they are a great option for products that are constantly evolving. Now that GrapheneDB has enabled NGP VAN to have the graph model they need in the cloud, the NGP VAN team has noticed it is easier to add new features.
The sky’s the limit
The graph model made possible by GrapheneDB has enabled NGP VAN to think about future features in a different light. Since they can rapidly prototype in Heroku and easily deploy without any hand-holding, the NGP VAN team has started thinking about many more problems they can solve with a graph model, and, consequently, many more features they can deliver to the end-user.