The BFF pattern is a [[Programming]] pattern that ties together a service and a client via a Proxy service.
The goal is to keep the contract of types consistent between the frontend and backend.
## Specialization
In Typescript, you can in some cases actually share the exact same type definitions, which prevents redefinition issues and allows for tight coupling and a single source of truth. It's the ultimate [[Don't Repeat Yourself]].
A good example is [[tRPC]] which is a service that transmits the same types (contact) between its frontend and backend using [[GraphQL]] as a bridge.
## References
https://blog.bitsrc.io/sharing-types-between-backend-and-frontend-with-the-bff-pattern-553872842463