The data layer for Next.js
End-to-end typesafe data fetching for frontend teams at scale
Use Fuse.js to build a data layer that fetches data exactly how you need it.
No more waiting for backend teams to update their APIs for you.
What's Fuse.js?
The best way to build a data layer
Fuse is an opinionated framework for creating fully typesafe data layers that allow frontend teams to handle the translation from resource-based APIs to their needs as easily as possible.
Why Fuse.js?
Optimal data fetching
- Every page gets exactly, and only, the data it needs in a single network request.
- Data requirements are defined per component, allowing codebases to scale no matter the size.
- Nodes are automatically data loaded under the hood—no more n+1 problems.
Intuitive developer experience
It's all in the schema—centrally defined and enforced
Never wonder “how do I get this data?” or deal with random data returned from random endpoints.Typesafe end-to-end from data source to client component
Catch server-side errors that impact the frontend before your users ever see them.Everything you expect out of the box
IDE autocomplete across server and client, hot module-replacement for any changes, an API playground, and more.
Why a data layer?
Ship fast at scale
The fastest moving companies have a central data layer for frontend teams to translate resource-based APIs to user needs, which minimizes friction with backend engineers. However, this pattern is not widely known.
In most companies, the backend engineers collaborate with frontend teams on APIs for clients. This is often a slow and painful process because it forces the backend engineers to think about user needs, which is outside of their usual way of thinking about resources.
Data layers enable each team to achieve their goals without unnecessary friction by allowing those who use the data to shape the data. Now, backend engineers can ship the resource-based APIs they know and love, and frontend engineers can focus on shipping features tailored to user needs.
Fuse.js's principles
Incrementally adoptable
Start using Fuse.js for a single resource or microservice to try it out, no need to rewrite anything that's already working.
Pit of success
Fuse.js has an opinionated design that makes it easy to do the right thing and hard to do the wrong thing. It's optimized to guide you and your team down the "pit of success."
Great developer experience
In order to be adopted at scale, Fuse.js needs to have a great developer experience.
Who is behind Fuse.js?
Built by the team at Stellate
Fuse.js is made by the team at Stellate, the GraphQL CDN, which includes core team members and creators of some of the most popular open-source projects in the GraphQL ecosystem, including Prisma, the GraphQL Playground, GraphiQL, urql, Gatsby and others.
powered by
Pothos
The schema builder for creating GraphQL schemas in typescript using a strongly typed code first approach.
urql
Highly customizable and versatile GraphQL client, made to grow with your codebase.
GraphQL Yoga
The fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.