Why Rapid Tender chose GraphQL and Hasura to build a real-time, collaborative tender-response app
About Rapid Tender
Rapid Tender offers technology and services that let organisations streamline their tender estimation operations. Their products have helped price over £150 million of construction work.
Rapid Tender’s GraphQL journey is being shepherded by Aidan, the Technical Director, and Simeon Filipov, Software Developer.
Evaluating GraphQL & Hasura
In 2018, the Rapid Tender engineering team decided to evaluate the costs and benefits of adopting GraphQL by building a prototype admin app for collaborative tender responses. This prototype was powered by a custom GraphQL API built using Graphene, a Python GraphQL library. The team was impressed with how empowered the frontend team was to query any of the data served by the GraphQL API, significantly reducing the scope of their dev iterations. The one drawback that they noticed was the effort spent on developing the CRUD layer of the GraphQL API.
Bolstered by these early results, this year the team decided to double down on their first iteration and compare their approach with ones based on GraphQL tools in the market. Several tools like PostGraphile, Prisma, AppSync, Hasura, etc. were researched for their offerings and compatibility with the team’s existing stack and skills.
The team decided to go with Hasura because of the following reasons:
- The ready-to-use GraphQL CRUD API on Postgres would significantly reduce the time to add GraphQL support for the entire database schema.
- Live-queries are perfect for implementing collaboration features, with zero investment into building out a custom websockets based system.
- The Auth/permissions system at the application layer instead of in the database was indicative of a scalable design.
- The quality of documentation and a helpful developer community.
As part of their research, the team worked on a second iteration of the admin app using ReactJS and Hasura, and found that the implementation took far less time than the evaluation process itself!
Using Hasura in production
The team is gearing up for using Hasura in production and is in the process of beginning user trials with their clients. As part of the next set of iterations of their product, they want to leverage the highly scalable live-queries and customise them to implement more advanced features of their app like modelling cursor movements from multiple users in the same document à la Google Docs.
They also plan on using Hasura for several other upcoming projects within the organisation, and leveraging newly released features such as Remote data joins on OneGraph APIs for Stripe, etc.
The team is also collaborating with Hasura on enhancing the developer experience for handling migrations, onboarding content, etc.
Want to know how Hasura can help your team? Schedule a demo.