How Pulley Cut Development Time by 50% with Hasura
Pulley, an alumnus of YCombinator 2020, helps ambitious founders manage their cap table and employee equity, helping startups manage stock options and perform pro forma modeling to optimize their equity. In its first year of existence, Pulley achieved rapid success, gaining 1,000 customers by enabling founders to manage the intimidating process of managing their cap table within an hour.
Auto-generating and securing GraphQL
Excellent user experience thanks to fast performance
Auto-generating GraphQL schemas and resolvers
Pulley’s technical architecture was composed of a Postgres database, a backend written in Go, and a web front end using React. As they iterated quickly in the beginning they needed to find the balance between rapidly making changes, adding features, while also making sure the solution kept very sensitive financial data secure.
Pulley helps founders managed their cap table and stock options to optimize their equity.
Other challenges included:
- Creating a universal data access layer for over 50 database tables
- Making frequent database changes without having to rewrite significant amounts of data access, backend, and frontend code
By using Hasura we cut the development time in half and built our product in 3 months.
Software Engineer, Pulley
Why Pulley chose Hasura
Early in the development process, the Pulley team decided GraphQL would offer the benefits of easily transporting data between the different layers of their application - from the Postgres database to their Go backend, and React frontend. They adopted Hasura after discovering it met and exceeded their expectations.
Pulley architecture diagram
Ease of Use
Hasura’s intuitive tools and documentation made it easy to set up and connect to their Postgres database, instantly auto-generating GraphQL schemas and resolvers based on the tables and views in their database. This saved them development and maintenance time not having to author any more of their data access APIs themselves and modifying the code every time they made a database change.
Auto-Generated GraphQL Schemas and Resolvers
Hasura provided “GraphQL out of the box” with its ability to auto-generate GraphQLschemas and resolvers of their Postgres database, saving Pulley months of development time - especially in their early stages when changes to features and the underlying database happened frequently.
Pulley utilizes Hasura for nearly all queries and updates of over 50 database tables.
Hasura’s migrations feature was also essential during the early phases of Pulley’s product development, tracking Postgres database schema changes in metadata, allowing them to keep their database consistent between development and production.
Real-Time Updates via GraphQL Subscriptions
Subscriptions simplified their frontend development, utilizing React components to dynamically update their web frontend as new data arrived. This eased the burden of having to write their own notification framework to provide real-time updates.
Security, Authorization & Auditing
To protect its customer’s sensitive financial and personal data, Pulley relied on Hasura’s granular authorization features, which can be applied down to the row and column level. To ensure the security of their system, Pulley regularly performs penetration testing to make sure that their entire system, including Hasura, is hardened from external attack.
Pulley also relies on Hasura’s built-in auditing capabilities to track changes in user permissions, providing them a history log of changes they can refer back to.
Hasura’s console also increased the developer’s productivity by making it easy to perform GraphQL schema generation tasks, perform GraphQL queries, and perform traces to identify any performance bottlenecks.
“Hasura’s built-in role-based authorization system made it easy to secure our data”
Software Engineer, Pulley
The benefits of using Hasura
Pulley cut development time in half by using Hasura. They were able to build their product in 3 months. This was in large part due to the Hasura engine accelerating Pulley’s development time by auto-generating and securing GraphQL for over 50 database tables as well as the auto-generating of GraphQL schemas and resolvers to their Postgres database.
Besides all this, the fast performance of Hasura resulted in an excellent overall user experience that Pulley were super happy with. Pulley was also able to leverage other Hasura features like data migrations when database changes occurred, and the security & permissions model to keep sensitive data safe.
Thank you to Pulley and Mark Erdmann - Software Engineer for sharing their story with us!
Visit Pulley website