Free the people from dictators and warlords. Give them direct transparent access to humanitarian aid.
Problem: A lot of humanitarian aid is stolen by oppressive regimes, warlords, dictators and terror groups. They use the stolen aid to maintain control over the population (eg: support us or starve). Donor governments and organizations are left with a hard choice.
Solution: Free the Aid
We started with the Worldcoin Cloud ID template, which was very useful for starting the Worldcoin integration. Worldcoin's anti-sybil framework is core to our project in ensuring aid gets delivered to end users and helping free the people!
We modified the initial template to take in signal (metadata to be included with the app and action data, verified later via proof). The proof check (via cloud) checks the signal as well to ensure the whole payload is verified.
A challenge we ran into was the Cloud testnet server had an IP based rate limiter. Since many people at the hackathon were developing on Worldcoin, this limit was reached and prevented additional testing. This increased the importance of thinking through code manually since we couldn't trial and error test it.
For nouns integration, the font integration presented some challenges. We used mui for material react components, so to integrate font changes meant changing head level fonts at top of our manual text and also looking into overriding different package fonts. We eventually figured this out with ThemeProvider for mui package but the documentation wasn't clear so we had to do some guesswork.
If we were doing straight voting, a SQL database would've made more sense since we could easily sum across categories to tally up votes. However, we wanted to leave open the possibility of quadratic voting and other metadata so we decided to go with document storage via mongodb. Thus the points used for voting can be tallied either straight or quadratically via code (instead of via SQL) leaving flexibility (at the cost of performance).
Unlimit integration was fairly straightforward. We could have opted for the more technically challenging integrations but we wanted to prioritize user experience and low maintenance, so we opted for the hosted solution.