project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

staketomake

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

Created At

ETHGlobal Singapore

Project Description

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:

  1. Fitness
  2. Nutrition
  3. Mindfulness
  4. Sleep

How is this different from all other habit tracking apps?

  1. We added a unique monetary and social motivation incentive mechanism
    1. you’re not alone
      1. challenges are done with minimum two participants
    2. encourage not discourage
      1. 5% staking fee is returned only when all participants succeed
      2. participating friends will encourage you to do better to get stakes back!
    3. effort rewarded, even if you don’t hit the mark
      1. users earn a percentage of the shared pool based on the number of successful submissions made
      2. you won’t lose everything as long as you make an effort
  2. We took a consumer-first approach for user adoption
    • abstracting away blockchain concepts
    • meeting where our users are at, telegram
    • designing a fun and simple staking mechanism

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)

  1. Create account (main user)
    1. Link wallet and choose a goal template (e.g., reading, fitness).
  2. Create health goal
    1. Set up details such as duration, type, submission intervals.
    2. User stakes his deposit - commission to the community pool.
  3. Invite Friends
    1. User associates telegram account on web-app
    2. User generates and shares invite link to friends
  4. Joining the health goal
    1. Web-App
      1. Friend logs in with their wallet or creates one via dynamic.xyz with their email
      2. Friend navigates to the goal link and stakes the amount to join the health goal
    2. Telegram
      1. Friend receives the invite link and clicks it to be redirected to Telegram Bot
      2. Telegram Bot prompts user to register a dynamic.xyz account.
      3. Friend on-ramps using Banxa on-ramp button
      4. Friend then stakes through the telegram bot.
      5. All participants of health goal receives a notification of new participant.
  5. Ongoing health goal
    1. Notifications remind both users of timeline, progress updates, and submission requirements.
    2. Participants are to submit their image proofs to the telegram bot which syncs with the web-app
    3. After all participants have submitted or D+1 (whichever earlier), participants will be prompted to verify other participants photos. Failure to do so will result in forfeiting that days submission. This does not apply to those that did not submit for the day.
  6. Health goal ends
    1. When a health goal ends, based on the number of submissions made, each user is given a % of the shared pool.
    2. If all users successfully completed the challenge, the community pool rewards additional rewards on top of the pot.

How it's Made

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.

background image mobile

Join the mailing list

Get the latest news and updates