Build a fully decentralized crowdfunding platform where anyone can create fundraising campaigns, accept donations, and track progress entirely on-chain, with no middleman controlling the funds.
The Problem
Traditional crowdfunding platforms take significant fees, control when creators receive funds, and lack transparency about how donations are used. A blockchain-based alternative removes those friction points by making every transaction publicly verifiable and putting campaign creators in direct control.
The Process
I started with the smart contract layer. I wrote a custom Solidity contract that handles campaign creation, donation logic, and fund withdrawal. Each campaign stores its goal amount, deadline, description, and a full history of every contributor and donation amount on-chain. The contract was built with Hardhat and configured for zkSync compatibility.
For the frontend, I chose React with Vite for fast development cycles and near-instant hot reloads. Tailwind CSS handled the styling, keeping the UI clean and responsive across devices. The critical piece was thirdweb, which I used to connect the frontend to the smart contract: wallet authentication, contract reads/writes, and transaction handling all flow through thirdweb's SDK.
One key architectural decision was fully separating the smart contract layer from the frontend. The contract is the source of truth for all campaign and donation data. The React app reads directly from the chain, so there's no backend database to maintain or sync.
Campaign dashboard showing active fundraising campaigns with progress bars and donation counts
The Result
A working decentralized crowdfunding application with:
Campaign creation with on-chain storage of goals, deadlines, and descriptions
Real-time donation tracking with full contributor history per campaign
Wallet-based authentication via thirdweb (no email/password needed)
Responsive, fast UI built with React, Vite, and Tailwind
A clean separation between the contract layer (Solidity + Hardhat) and the frontend (React + Vite), with thirdweb bridging the two
Campaign detail view with donation interface and contributor tracking
A fully decentralized crowdfunding platform built with React, Solidity, and thirdweb. Users create blockchain-based campaigns, accept on-chain donations, and track contributor history with no backend database.