app.union.build is built to be user friendly, extremely reliable, and blazing fast. It achieves this through a stack of optimized tools that do most processing at compile time (before you even use the app), and by connecting to our optimized hubble indexer.
Run the following to start a development server, once it's running edit the files in app/
and you'll see your changes reflected immediately in the browser.
nix run .#app-dev-server
To fetch the latest GraphQL schema, run
nix run .#app-fetch-schema
It's a SvelteKit app that compiles to a static site such that it can later be distributed using decentralized providers like IPFS.
Data is fetched from graphql.union.build. The GraphQL queries are defined in ./src/lib/graphql/documents
, and types for it are generated by gql.tada. We use TanStack Query to periodically fetch new data (both for GraphQL and REST).
For interacting with EVM chains, we use Wagmi & Viem. For interacting with Cosmos chains, we use CosmJS.
The basis for our components are generated by shadcn-svelte, and then modified to adhere to our brand guidelines. Styling is done using Tailwind.
We're currently migrating from Svelte 4 to Svelte 5