Skip to content
F

FundFusion

Fully Decentralized Crowdfunding app

Created on 16th June 2025

‱

F

FundFusion

Fully Decentralized Crowdfunding app

The problem FundFusion 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.

Challenges I 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.

Discussion

Builders also viewed

See more projects on Devfolio