Jasp

Jasp

3 Followers
We're building a new FinTech product
getjasp.com
Paris, France

Decisions 4

Julien Fouilhé

CTO at Jasp

Yarn v3 is a fantastic tool to organize monorepos. Thanks to its offline cache, our CI/CD steps are streamlined and faster.

Other tools like Turbo integrate easily with its monorepo features.

One regretful thing is that Yarn PnP is not widely supported, which does not allow us to fully use Zero-installs/PnP for even faster builds and a better developer experience.

11 10.9K

Julien Fouilhé

CTO at Jasp

It was important for us to use IaC from the very beginning, since we'll be deploying multiple components to multiple environments, and we want those environments to be easily replicated.

While the pragmatic choice would have been the widely used Terraform, we decided to go with Pulumi, which offers a more familiar syntax to describe your infrastructure (the language of your choice, in our case, Typescript). It also has an interesting built-in way of hiding your secrets for you, which makes managing secrets securely a breeze compared to Terraform.

6 25.2K

Julien Fouilhé

CTO at Jasp

At Jasp, we're using a monorepo. Which means the source code of shared dependencies is in the same place as the apps that use them. We needed a tool to automate some of the tasks you usually do in a monorepo, such as building, testing, linting, typechecking. Being able to make sure you didn't break anything anywhere in the app with a simple command instead of waiting for a CI run makes our team more productive.

The fact that it does this in an optimized way, fetching results from previous runs if the source code has not changed, feels extremely satisfactory, since you can run a typechecking command on all your packages, but only those that have changed will actually get typechecked.

4 828

Julien Fouilhé

CTO at Jasp

We chose gRPC, not only for communication between microservices but also for communication between our mobile clients and our backend infrastructure.

We use buf.build to organize our proto files and to generate code in Typescript, Rust, and Kotlin that can then be consumed by our different applications.

It allows us to have a fully typed end-to-end communication protocol where versioning is made easy, unlike REST APIs. We have stricter control over how the data is accessed than GraphQL.

We hope that we will be able to take advantage of the streaming capabilities gRPC offers in the future too.

2 1.7K