project screenshot 1
project screenshot 2
project screenshot 3

⚡ Bodo

Turn your fitness activities into charitable donations. Run and get paid per km for it!

⚡ Bodo

Created At

ETHGlobal Cannes

Project Description

Bodo connects fitness enthusiasts with charitable causes through a unique blockchain-powered escrow system. How it works:

The Flow

  1. Create a Fundraising Campaign
  • Users create fundraising campaigns for causes they care about
  • Set a target amount and deadline
  • Get a shareable link to promote their campaign
  1. Make Pledges
  • Supporters pledge money per kilometer (e.g., $1/km)
  • Pledges are secured in a blockchain escrow system
  • No money moves until fitness activities are completed
  1. Connect Fitness Activities
  • Fundraisers connect their Strava account to Bodo
  • Activities are automatically synced when workouts are completed
  • The platform tracks distance, time, and activity type
  1. Automatic Payouts
  • When a fitness activity is logged, the system calculates payouts -Each supporter's pledge is processed based on the distance covered
  • Money is automatically released from escrow to the fundraiser
  • Fundraisers can then donate the funds to their chosen cause

Key Features Secure Escrow: All pledges are held securely until fitness goals are met Automatic Processing: No manual intervention needed - everything happens automatically Transparent Tracking: Real-time updates on campaign progress and payouts Flexible Pledging: Supporters can pledge any amount per kilometer Supports: running with more activities planned.

Why It Works This platform solves the motivation problem in fitness fundraising by creating a direct connection between physical effort and charitable impact. Fundraisers are incentivised to stay active, while supporters can be confident their money will only be released when actual fitness activities are completed. The blockchain escrow ensures trust and transparency, while the Strava integration provides verified activity data, making the entire process automated and reliable.

How it's Made

How It's Made Tech Stack & Architecture Frontend: Next.js 14 with App Router, TypeScript, and Tailwind CSS Modern React patterns with server and client components Responsive design with mobile-first approach Real-time updates using React hooks and state management Backend: Next.js API Routes with Prisma ORM RESTful API endpoints for all core functionality PostgreSQL database with Prisma for type-safe database operations Automatic database migrations and seeding Authentication: Privy Web3 Authentication Email-based authentication with embedded wallet creation Automatic wallet address synchronization Seamless user onboarding without crypto complexity Fitness Integration: Strava API OAuth 2.0 flow for secure account connection Webhook handling for real-time activity updates Automatic token refresh and activity syncing Key Technical Challenges & Solutions

  1. Blockchain Escrow Simulation Built a simulated escrow system using Ethers.js for demo purposes Generates realistic transaction hashes and block numbers Maintains all database relationships and business logic Easy to switch to real blockchain networks for production
  2. Real-time Activity Processing Webhook endpoints that process Strava activities instantly Automatic payout calculations based on distance and pledge rates Database transactions ensure data consistency across multiple tables
  3. Complex Database Relationships Designed schema to handle users, wallets, fundraises, pledges, activities, and payouts Used Prisma's powerful include/select for efficient data fetching Implemented proper foreign key relationships and cascading deletes Notable Technical Decisions Hackathon-Friendly Architecture Simulated blockchain operations to avoid RPC connection issues during development Comprehensive error handling and logging for debugging Environment variable fallbacks for missing configurations Database Design Separate Wallet model to support multiple wallet providers (Privy, manual) EscrowTransaction model for tracking blockchain operations Payout model for detailed transaction history API Design RESTful endpoints with consistent error handling Zod validation schemas for all incoming data Proper HTTP status codes and response formats Partner Technologies & Benefits Privy: Eliminated the complexity of Web3 authentication while providing embedded wallets Strava: Provided verified fitness data and real-time activity updates Prisma: Type-safe database operations with automatic migrations Tailwind CSS: Rapid UI development with consistent design system Development Process Built iteratively starting with core database schema, then adding authentication, fitness integration, and finally the escrow system. Used simulated blockchain operations to focus on user experience and business logic rather than blockchain infrastructure during the hackathon timeframe. The entire system is containerized and ready for deployment with proper environment variable configuration and database migrations.
background image mobile

Join the mailing list

Get the latest news and updates