hackquest logo

SwipeGig

SwipeGig is a decentralized freelance marketplace for Web3. It connects freelancers and clients using blockchain, smart contracts, and AI matching.

ビデオ

テックスタック

React
typescript (Vite)
Web3
Tailwind CSS + shadcn/ui
Hardhat
Mantle Sepolia Testnet
metamask
Groq Sdk

説明

SwipeGig is a decentralized freelance marketplace built for the Web3 ecosystem. It connects freelancers and clients using blockchain technology, smart contracts, and AI-powered matching. The platform removes intermediaries, enabling direct, trustless transactions with on-chain identity verification and instant cryptocurrency payments.


Project Overview

SwipeGig functions as a decentralized alternative to traditional freelance platforms (Upwork, Fiverr) by leveraging blockchain infrastructure. Users authenticate via crypto wallets, build verifiable on-chain profiles, and engage in job matching and payments through smart contracts deployed on the Mantle Sepolia testnet.


Core Features

For Freelancers

  1. Wallet-based authentication — Connect MetaMask or WalletConnect

  1. On-chain profile management — Store profile data on IPFS with verifiable CIDs on-chain

  1. AI-powered job matching — Swipe-based interface with intelligent job recommendations

  1. Instant payments — Receive cryptocurrency payments directly to wallet via smart contracts

  1. Reputation system — On-chain credentials and portfolio tracking

  1. Public profile pages — Shareable profiles accessible via IPFS CID

For Clients

  1. Organization profiles — Create company/client profiles with logos and branding

  1. AI-assisted job posting — Generate job descriptions using Groq AI (Llama model)

  1. Smart contract job creation — Post jobs as immutable on-chain records

  1. Talent discovery — Browse and match with verified freelancers

  1. Milestone-based payments — Secure escrow through smart contracts

  1. Token selection — Choose payment tokens (USDC, native tokens, etc.)


Technical Architecture

Frontend Stack

  • Framework: React 18 with TypeScript

  • Build Tool: Vite

  • Styling: Tailwind CSS + shadcn/ui component library

  • Routing: React Router v6

  • State Management:

  • React Context API (WalletContext, ProfileContext)

  • React Query for server state

  • Wallet Integration: Custom wallet connector with MetaMask support

  • UI Components: Radix UI primitives, Framer Motion animations

  • Form Handling: React Hook Form with Zod validation

Blockchain Infrastructure

  • Network: Mantle Sepolia Testnet (Chain ID: 5003)

  • Smart Contracts: Solidity 0.8.23

  • Development: Hardhat

  • Contract Interaction: Ethers.js v6

  • Contract Compiler: Solidity with optimizer enabled (200 runs)

Decentralized Storage

  • IPFS via Pinata SDK

  • Profile data stored as JSON on IPFS

  • Job postings stored as JSON on IPFS

  • Images (profile pictures, company logos) uploaded to IPFS

  • CIDs referenced on-chain for immutable data storage

AI Integration

  • Provider: Groq SDK

  • Model: Meta Llama 4 Scout 17B (16e instruct)

  • Use Cases:

  • Job description generation from natural language prompts

  • Skill extraction and categorization

  • Budget and duration suggestions


Smart Contract Architecture

1. Web3WorkProfiles (DualRole.sol)

Address: 0xc8e17B92E580efBdb0f52772D00aC9DbcB2d0ae6

Manages user profiles with dual-role support:

  • Separate mappings for freelancer and client profiles

  • Profile CID storage per address

  • Profile ownership tracking

  • Events for profile updates

Key Functions:

  • updateFreelancerProfileCID(string cid) — Update freelancer profile

  • updateClientProfileCID(string cid) — Update client profile

  • getFreelancerCID(address user) — Retrieve freelancer profile

  • getClientCID(address user) — Retrieve client profile

2. Web3WorkJobs (Jobs.sol)

Address: Configured via VITE_JOBS_CONTRACT_ADDRESS

Manages job postings:

  • Job storage with poster address, IPFS CID, timestamp, and active status

  • Job count tracking

  • Active job retrieval

Key Functions:

  • postJob(string calldata cid) — Create new job posting

  • closeJob(uint256 jobId) — Deactivate a job

  • getActiveJobs() — Returns array of active job CIDs

3. IPCM Contract (Ipcm.sol)

Address: 0xbC51f02232164396a7a9167878c8463EbC7de0D4

Alternative profile management contract:

  • Single profile CID per address

  • Profile ownership transfer capability

  • IPCM-style access patterns


Application Structure

Pages & Routes

  • / — Landing page with hero section and feature overview

  • /jobs — Swipeable job browsing interface for freelancers

  • /post-job — AI-assisted job posting form for clients

  • /talent — Browse and discover freelancers

  • /dashboard — User dashboard with activity overview

  • /profile — Personal profile management

  • /public-profile/:cid — Public profile view via IPFS CID

  • /register — User registration and onboarding

  • /messages — Messaging interface

  • /pay — Payment processing and milestone management

  • /settings — Application settings

Key Components

  • WalletConnectButton — Wallet connection and network switching

  • SwipeCard — Interactive job/talent cards with swipe gestures

  • TokenSelector — Cryptocurrency token selection for payments

  • Header — Navigation and wallet status indicator

Context Providers

  • WalletProvider — Manages wallet connection, account state, network switching, and user role (freelancer/client)

  • ProfileProvider — Manages user profile data, IPFS CIDs, and profile updates


User Flows

Freelancer Flow

  1. Connect wallet → Automatic network switch to Mantle Sepolia

  1. Select "Find Work" role

  1. Create profile → Upload to IPFS → Store CID on-chain

  1. Browse jobs → Swipe through AI-matched opportunities

  1. Accept job → Negotiate terms

  1. Complete work → Receive payment via smart contract

Client Flow

  1. Connect wallet → Automatic network switch to Mantle Sepolia

  1. Select "Hire Talent" role

  1. Create company profile → Upload logo and details to IPFS

  1. Post job → Use AI assistant or manual form

  1. Job data uploaded to IPFS → CID stored on-chain via postJob()

  1. Review matched talent → Browse freelancer profiles

  1. Hire freelancer → Create payment smart contract

  1. Approve milestones → Release funds


    Network Configuration

    • Network Name: Mantle Sepolia

    • Chain ID: 5003 (0x138b in hex)

    • Currency: MNT (Mantle)

Key Differentiators

  1. Fully decentralized — No central servers; data on IPFS, logic on-chain

  1. Wallet-native — No traditional accounts; wallet-based authentication

  1. AI-enhanced — Intelligent job matching and content generation

  1. Trustless payments — Smart contract escrow eliminates payment disputes

  1. On-chain identity — Verifiable credentials and reputation

  1. Zero platform fees — Direct peer-to-peer transactions

  1. Immutable records — All job postings and profiles permanently stored


Technology Highlights

  • Modern React architecture with TypeScript for type safety

  • Component-based UI with shadcn/ui design system

  • Responsive design with Tailwind CSS

  • Real-time wallet state management

  • Automatic network detection and switching

  • IPFS integration for decentralized storage

  • AI-powered content generation

  • Smart contract integration with error handling

  • Toast notifications for user feedback

  • Loading states and error boundaries

ハッカソンの進行状況

Completed the whole product mvp ready
チームリーダー
TT Manas Chakravarty
プロジェクトリンク
業界
SocialFiDeFiOther