A blockchain-enabled health and wellness social app using staking to build healthy habits. Combines crypto "skin in the game" with social support for wellness. Unique features: monetary/social motivation, group challenges, reward for effort, built for non crypto-natives.
StakeToMake is a blockchain-powered health and wellness consumer social app that leverages a simple and unique staking system to encourage users to build and sustain healthy habits.
Designed with a focus on simplicity and inclusivity, users can join with minimal friction by linking their existing wallet or easily creating a new one with their email on telegram. No prior crypto experience is required.
Our application offers the opportunity for users to build any habit they are serious about. Users can set physical health goals such as daily step counts, nutrition tracking, to mental health goals such as meditation and sleep improvement. Our MVP focuses on four main habit-building tracks across key areas of physical and mental wellness. These four tracks are:
How is this different from all other habit tracking apps?
With our unique monetary and social motivation incentive mechanism, coupled with abstraction of blockchain complexities by leveraging Telegram for onboarding, submission and progress verification, StakeToMake makes it easy for non-crypto natives to participate.
This approach combines the "skin in the game" concept from crypto trading with the power of social support to motivate and reward users for taking charge of their personal well-being.
How it works (User Journey)
Frontend (Next.js, Vercel, Dynamic.xyz) We used Next.js because it's flexible and easy to work with, especially for features like server-side rendering. Vercel was our deployment choice since it integrates perfectly with Next.js, making deployments and scaling super easy. For secure, decentralized user login, we integrated dynamic.xyz for Web3 authentication.
Telegram Bot (Dynamic.xyz) To make the app more accessible, we built a Telegram Bot that offers another way for users to interact with our system. Just like the frontend, the bot uses Web3 APIs for user authentication and communicates directly with our backend to process user actions. The bot offers limited functionality in comparison to the frontend, focusing on core aspects such as goal submissions.
Backend (Python, FastAPI, web3.py) Our backend is built with Python and FastAPI. web3.py handles blockchain interactions with our smart contracts. The backend manages requests from both the frontend and Telegram Bot via FastAPI, and web3.py interacts with our Solidity smart contract for all on-chain tasks. Our backend stores text and image data in Supabase, discussed below.
Database (Supabase) We chose Supabase as our database because it’s real-time, open-source, and integrates easily with our backend. Since we started off with a predefined data model before we started building, it was easier to structure our codebase around relational data. The backend uses Supabase for storing and retrieving data, with direct access also used by the Telegram Bot's backend code, ensuring data consistency across the platform.
Smart Contract (Solidity, Chainlink) The core logic of our app runs on a Solidity smart contract, handling key operations like transactions, fund distribution, and our escrow logic, providing a secure foundation for all blockchain-related activities. We use Chainlink Keepers for polling/cron jobs in the smart contract for automatic goal completion and release of funds.