Case study

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.

Key metrics

Auto-generating and securing GraphQL

Excellent user experience thanks to fast performance

Auto-generating GraphQL schemas and resolvers

The Problem

Pulley's Challenge

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.

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
The Solution

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

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.

Data Migrations

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.

Management Console

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

Mark Erdmann

Software Engineer, Pulley

The Results

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!

2024 Edition

The GraphQL Handbook

A GraphQL Handbook for developers and architects to help plan your GraphQL adoption journey.
The GraphQL Handbook

Build the most impactful data platform with Hasura DDN today.