
Stryde
A consumer fitness app combining onchain identity, ownership, and verifiable activities.
Demo
About
We’re building Stryde, a mobile-first fitness app inspired by Strava, where athletes own their activity history, achievements, and reputation instead of having them locked inside one platform. Users can record runs, walks, and rides, build an onchain fitness identity, and compete through territory capture, seasons, challenges, achievements, and leaderboards. Activity metadata is stored on IPFS, while our contracts keep the important ownership and verification data onchain. We use The Graph to index our contracts and power profiles, activity history, territories, and leaderboards. Privy handles email login, embedded wallets, Smart Accounts, and sponsored transactions. ENSv2 provides human-readable athlete identities, while World ID Selfie Check is an optional verification layer for competitive features. The idea is simple: it should feel like a normal fitness app, with blockchain quietly providing ownership, identity, and verifiable history.
How it's made
Stryde is a Turborepo monorepo built with Expo, React Native, AntDesign, TypeScript, a Hono API, Solidity/Foundry contracts, and shared packages. Our contracts handle profiles, activities, territories, seasons, achievements, challenges, groups, and related assets. Larger activity metadata is stored on IPFS through Pinata, while the blockchain stores the important references and ownership data. For indexing, we use The Graph with both Substreams and Subgraphs. Substreams processes contract events, while our Subgraph models relationships between Stryde's entities. This lets us fetch things like an athlete's profile, activities, territories, contributions, and achievements together instead of making a bunch of RPC calls. Privy handles email authentication and embedded Smart Accounts, with Viem handling contract interactions. We also added retry handling around Smart Account initialization because of a provider timing issue we hit during development. ENSv2 is used for athlete identity across profiles, search, feeds, and leaderboards. World ID Selfie Check is integrated as an optional verification step for competitive features. The main goal throughout the build has been keeping the blockchain complexity out of the user's way.