How a Fintech startup uses Hasura as a high performance read layer over their existing database.
Credimi is a web platform that turns invoices into cash advances in a simple, fast and reliable way. Corporates and SMEs can apply in minutes and get the advance within just a few hours.
The existing Credimi application REST APIs are based on a MySQL database. Credimi decided to shift the read layer to GraphQL. They use a Kafka based streaming setup to hydrate a Postgres database and then use Hasura to expose a high performance GraphQL read layer.
While deciding what stack to use for the read layer, Credimi had two important considerations:
1) Time to market
2) Feature velocity post launch - they did not want to have to build new APIs everytime they wanted to expose new data to the frontend.
GraphQL solves this problem - all they had to do was define the graph, expose the data with the relevant authorizations in place and front-end could just request for whatever data it needed. This helped them build features quickly and reduced future demands on the backend team.
Another drawback with using REST was that to fetch certain types of data on the front end, they had to run complex queries that would take a long time to run and would result in unnecessary data being returned to the client. GraphQL lets you run optimised queries that fetch only as much data as you need.
The team looked at other GraphQL vendors before trying Hasura out and deciding to use Hasura.
- The developer experience was great: bringing up a Hasura instance was very easy. it was very easy to configure and get started with.
- Community mattered a lot to their team and they were very impressed by Hasura’s community and responsive support.
The team started with Hasura in the second week of January, and have almost completed their work. They expect to go into production in the second week of April.
This blog post was prepared basis a discussion with Pamela Gotti, Senior Software Engineer, and the rest of the engineering team at Credimi.