Search projects, hackathons, sponsors and tech

    ← All projects

    About

    The problem it solves **FundFusion** is a decentralized crowdfunding platform that empowers users to create, manage, and contribute to campaigns transparently. Campaign owners can withdraw funds from the smart contract, and contributors can claim refunds under specific conditions. Admin can manage categories for better campaign organization. It solves the common problems of centralized trust, lack of transparency, and fund mismanagement in traditional crowdfunding platforms by leveraging blockchain technology. Built with a robust tech stack, FundFusion ensures a secure and seamless user experience with features like user-friendly forms, managing and storing images on IPFS, real-time updates, and blockchain transparency.

    How it's made

    Challenges we ran into ## 🧱 Challenges I Ran Into While Building FundFusion Building FundFusion came with several technical and architectural challenges. Below are some key hurdles I faced and how I overcame them: ### 1. ⚙️ Designing the Smart Contract for Campaign Lifecycle and Refund Logic Handling the lifecycle of a campaign—Active, Completed, Cancelled and Expired—while supporting contributor refunds required careful planning. - **Challenge:** Preventing race conditions and ensuring that contributors could only get refunds under the right conditions (e.g., campaign not reaching its goal or being cancelled), while also ensuring campaign owners could withdraw funds only under valid circumstances. - **Solution:** I used Solidity enums to model campaign states, implemented strict state checks using modifiers, and added reentrancy guards to protect against misuse. I also introduced a contributions mapping to track user deposits and implemented conditional checks based on state and time to allow or deny refund and withdrawal actions. --- ### 2. 🔐 Wallet Authentication with Reown Integrating Reown WalletKit brought abstraction over traditional EVM wallets and required careful signer management. - **Challenge:** Getting the correct signer and connected account was tricky due to Reown’s abstraction, especially when performing contract interactions. - **Solution:** I wrote reusable wrapper hooks that extracted signer and address data in a type-safe way. I also improved the UX by adding wallet connection states and user prompts, ensuring a smoother flow through the app. --- ### 3. 🔄 Real-Time Campaign State Rendering Campaign states can change rapidly as users contribute, cancel, or complete campaigns, so ensuring the frontend stayed in sync with on-chain data was essential. - **Challenge:** Keeping the UI up to date without polling the blockchain excessively. - **Solution:** I used **The Graph** to index campaign data and subscribed to updates using GraphQL subscriptions. This enabled real-time UI updates with minimal overhead and great performance. --- ### 4. 🧪 Thorough Smart Contract Testing As the platform deals with real value, ensuring contract correctness was critical. - **Challenge:** Covering all edge cases such as refunds after expiry, preventing double refunds, improper withdrawals, etc. - **Solution:** I wrote detailed test cases using Hardhat, simulating real scenarios. I also tested contributions from multiple addresses to simulate real usage conditions.