BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Build exercise habits. Earn crypto. Prove your consistency on-chain.
Daily Habit Hub is a Web3 fitness accountability app where every workout earns $HABIT tokens and soulbound NFT achievement badges on Avalanche. Users track streaks, connect with certified coaches, and build an on-chain fitness record — with zero gas fees and no MetaMask required.
Live App: https://fittribe.club/
Fitness apps have a retention problem. Most people quit within 30 days because there's no real cost to stopping and no tangible reward for continuing. Traditional social features (likes, streaks) aren't enough — they're forgettable.
Daily Habit Hub solves this with skin-in-the-game accountability: your consistency is recorded on-chain and rewarded with tokens you actually own.
| Feature | Description |
|---|---|
| Daily Check-in | One-tap workout logging with photo upload and IPFS pinning |
| Streak Tracking | Daily streak counter with visual badges and week calendar |
| Progress Analytics | Monthly workout heatmap, trend metrics, on-chain record count |
| Goals & Tasks | Set fitness goals and daily tasks with due-date reminders |
| Feature | Description |
|---|---|
| Community Feed | Public workout posts with likes and comments |
| Graffiti Wall | Procedural profile skin that levels up with your check-ins — tag → throw-up → piece → burner → king → all-city |
| Leaderboard | Top 50 users ranked by streak, updated every minute |
| Trainer Marketplace | Browse certified coaches, view profiles, book sessions |
| Real-time Messaging | Direct chat with trainers via Supabase Realtime |
| Feature | Description |
|---|---|
| $HABIT Token Rewards | 10 $HABIT minted per check-in, zero gas cost to user |
| Soulbound NFT Badges | Non-transferable achievement NFTs at 7, 30, 100 on-chain check-ins |
| In-App Wallet | Generate a self-custodial wallet in one click (no MetaMask) |
| Cloud Key Backup | PIN-encrypted private key synced to Supabase (AES-GCM 256-bit) |
| Cross-device Restore | Restore wallet from encrypted backup on any device |
| Snowscan Verification | Every achievement and transaction visible on Avalanche mainnet explorer |
| Milestone Claiming | Retroactive claim for users who reached milestones before wallet setup |
| Contract | Address | Description |
|---|---|---|
| HabitRegistry | 0xAb9d332EDeEAB63fc84B72dB7B48Ff81962A6597 | Core check-in registry, rate-limited to 1/wallet/UTC day |
| HabitToken ($HABIT) | 0xf392A21a7230a103271ecb88028aDE17B470A267 | ERC-20 reward token, 21M cap |
| AchievementNFT (FITA) | 0xc10e391172fE5E6723422F05197bBc95b35D9188 | Soulbound ERC-721, non-transferable achievement badges |
User checks in
│
▼
Supabase (streak + workout record)
│
▼
POST /api/web3/record-habit ← server-side admin wallet
│
▼
HabitRegistry.adminRecordHabitForUser(wallet, type, metadataUri)
│
├── mints 10 $HABIT → user wallet
└── at 7/30/100 check-ins → AchievementNFT.mintAchievement()
Gasless design: Only the admin server wallet pays gas. Users never need AVAX. This removes the #1 barrier to Web3 adoption for fitness users.
POST /api/web3/record-habit with the user's wallet addressadminRecordHabitForUser on HabitRegistry| Parameter | Value |
|---|---|
| Token Name | HABIT |
| Token Symbol | $HABIT |
| Standard | ERC-20 on Avalanche C-Chain |
| Total Supply Cap | 21,000,000 $HABIT |
| Distribution | 100% via usage rewards (no pre-mine, no VC allocation) |
| Emission Rate | 10 $HABIT per verified daily check-in |
| Minter | HabitRegistry contract only |
| Utility | Future: in-app purchases, coach payments, governance, staking rewards |
At 21M cap and 10 tokens/check-in:
This is the beginning of the README. Read the rest at the original. Read the full README ↗