HoloFund - BlockHack Spring 2024
HoloFund is a DeFi charity donation app, priding itself in transparency through real-time donation tracking and fund distribution flexibility through smart contract integration.
Inspiration
This project grew from a group sentiment of maintaining ethics and diminishing fraud. English accounting firm Scrutton Bland stated, "the threshold for charities to be legally required to prepare and file audited financial statements is much lower than those of private and public companies." Infrequent audits and accountability results in philanthropists and common folk wondering how they can take action to remedy the issue. Utilizing a DLT such as the EVM blockchain allows transparency in transactions and removes the need for centralized groups to enforce integrity amongst charitable organizations.
Key Features
| Feature | Description |
|---|---|
| User-Friendly Interface | A clean and intuitive design that makes navigation simple for all users. |
| Donation Tracking | Real-time updates on the status of donations, from the moment they are made until they are received by the beneficiary. |
| Smart Contract Integration | Integration of smart contracts for automated and conditional fund distribution. |
| Transparency | Ensures all transactions are recorded on the blockchain, providing an immutable ledger for public viewing. |
| Charity Credibility Checks | Verifies and displays the credibility of charities, ensuring users donate to reputable and trustworthy organizations. |
| Smart Contract Integration | Integration of smart contracts for automated and conditional fund distribution. |
Tools Used
This project utilized the following programming languages, frameworks, and tools:
| Name | Type | Notes |
|---|---|---|
| Astrakode | IDE | Used to create blockchain supporting MVP |
| Python | Language | Used to build backend for blockchain |
| Flutter | SDK | Used for UX/UI design of MVP |
| Dart | Language | Used to build frontend of MVP |
| Firebase | NoSQL Database | Used to build backend of MVP |
| Solidity | Language | Used to generate smart contract supporting MVP |
Challenges the HoloFund Team Faced
Initially, our team was extremely ambitious and had great ideas. Unfortunately, our knowledge is limited and we struggled (or were unable to complete) the following:
Smart Contract Automations and Deployment
We planned to incorporate an in-house automated smart contract creator. This would ask the user for the organization name, amount of Ether, payment term, and an optional additional message. Initial efforts were made using the Brownie framework for EVM, incorporating Python and Solidity. After we were unable to successfully pass test cases, we switched to the Waffle EVM framework, which proved to be far more complicated, utilizing Node.js, which our team was unfamiliar with.
Firebase-Flutter-Python Integration
Integrating Firebase, Flutter, and Python requires setting up multiple components, including authentication, database connections, and possibly cloud functions. As we were also considering real-time data management and cross-platform compatibility, this revealed itself to be a complicated and lengthy process for a weekend-long hackathon.
Flutter Collaboration
An aspect of our team that served as a double-edged sword was everyone's engagement with the UI/UX aspect of the project. Everyone on our team deeply cared about creating a user-centric interface, and because we were unable to collaborate at the same time, we faced some time loss because everyone was trying to collaborate using Flutter at the same time.
Accomplishments to be Proud of
Smart Contract Development
Our team was able to successfully build a smart contract, from scratch, to fulfill the goal of transferring Ether directly to charities through a digitized, transparent ledger. According to the Ethereum IDE Remix, "this Solidity smart contract facilitates charity donations on the Ethereum blockchain. It includes state variables to store the charity's address, total donations, and individual donor contributions. Key functions allow users to donate Ether (ETH) and the charity to withdraw funds..."
MVP
Despite the challenges, we managed to create an MVP that demonstrates the core functionalities of HoloFund. This includes the user-friendly interface, functional donation UI, and a basic version of the dashboard.
Smart Contract Basics
Even though we could not fully automate smart contract creation and deployment, we gained a foundational understanding of Solidity and the Brownie framework. We successfully wrote and tested simple smart contracts that could be the foundation for future development.
Team Collaboration
Our team successfully collaborated across different time zones and skill levels, leveraging our diverse expertise to tackle various aspects of the project. The experience has made us more cohesive and prepared for future endeavors.
Enhancing Transaction Verification with AI
We created an AI bot that encompasses all the following features. Check it out at this link.
Vendor Validation:
- Verify the authenticity of the vendor by cross-referencing with a trusted database.
- Check for historical transactions with the same vendor to identify any anomalies or patterns of suspicious activity.
Itemized Receipt Analysis:
- Analyze the details of the items listed in the bill to ensure they match typical expenses for the charity.
- Use pattern recognition to flag unusual or out-of-scope items.
Geolocation Consistency:
- Verify if the location of the transaction matches the charity's operational area.
- Use geolocation data to detect any inconsistencies or irregularities in the transaction's origin.
Temporal Analysis:
- Ensure the date and time of the transaction align with the charity's operational hours and project timelines.
- Cross-check the date of the bill with the date of the transaction request to identify any delays.
Spending Patterns and Limits:
- Compare the transaction amount with historical spending patterns and pre-defined spending limits.
- Flag transactions that exceed typical expenditure or fall outside predefined budget categories.
Digital Signature and Encryption:
- Implement digital signatures on invoices to ensure their authenticity and integrity.
- Use encryption to protect sensitive data and verify the source of the bill.
Stakeholder Approval Chain:
- Check if the transaction has been approved by the necessary stakeholders within the charity organization.
- Ensure that the approval chain is consistent with internal protocols and authorization levels.
Duplicate Transaction Detection:
- Identify and flag any duplicate or repeated transactions that may indicate fraud or error.
- Cross-reference with previous transactions to ensure no double-billing occurs.
What we Learned
- Blockchain Technology: Working with the EVM blockchain and smart contracts was a steep learning curve, but it provided invaluable insights into decentralized technologies and their potential applications in charitable giving.
- Cross-Platform Development: Integrating Flutter with Firebase and understanding the intricacies of cross-platform development enhanced our skills in creating cohesive and efficient applications that work on multiple devices.
- Time Management and Prioritization: The hackathon setting forced us to prioritize features and manage our time effectively. We learned to focus on delivering core functionalities first and iterating on additional features later.
Next Steps for HoloFund
- Complete Smart Contract Integration: We plan to continue working on automating smart contract creation and deployment. This will involve further learning and collaborating with blockchain professionals to ensure the system is secure and efficient.
- Enhanced Firebase Integration: Improving the integration between Flutter, Firebase, and Python will be a priority. This includes setting up real-time databases, authentication flows, and possibly cloud functions to handle more complex operations.
- User Feedback and Iteration: Collecting user feedback will be crucial in refining the UI/UX of the application. We aim to conduct user testing sessions and incorporate the feedback into future iterations of the app.
- Scalability and Performance Optimization: As we prepare for a larger user base, we will focus on optimizing the app's performance and ensuring it can scale effectively. This includes improving the backend infrastructure and ensuring the app runs smoothly on various devices.
- Partnerships with Charities: Establishing partnerships with more charitable organizations will be essential in providing users with a wider range of options. We plan to onboard reputable charities and ensure their integration into our platform is seamless.
- Marketing and Outreach: To grow our user base, we will develop a comprehensive marketing strategy that includes social media campaigns, partnerships with influencers, and participation in relevant events and conferences.
- Security Enhancements: Ensuring the security of user data and transactions is essential. We will invest in advanced security measures to maintain the integrity and trustworthiness of the platform.
Built With
- astrakode
- blockchain
- dart
- firebase
- flutter
- python
- solidity




Log in or sign up for Devpost to join the conversation.