Inspiration

We were inspired by fintech models like Grifin ("invest while you spend") and Rakuten (cashback as a habit). Charitable giving is often emotional, sporadic, and manual. We wanted to embed generosity directly into consumer behavior without users needing to change a thing. Our goal: make giving as easy as spending.

What it does

Buy4Good allows users to:

  • Link their debit/credit card securely via Plaid
  • Set a donation rule (e.g., 5% of every purchase)
  • Choose which cause they want to support
  • View real-time dashboards showing donation history, impact metrics, and cause breakdowns

All while continuing to shop normally at partner merchants. The app tracks purchases, calculates donations, and routes them to selected causes.

How we built it

Frontend: Built using React Native with Expo for a mobile-first experience, with Google OAuth and Supabase auth integration. Backend: FastAPI-powered API handling purchase flow simulation, donation routing, and merchant transactions. Database: Supabase was used to structure user, transaction, and donation data with full RLS security. Third-party Integrations:

  • Plaid for secure card linking
  • Pledge.to for donation disbursements

We used a combination of push notifications and dynamic dashboard components to close the user feedback loop.

Challenges I ran into

Navigating vague user behavior

Everyone says they want to donate more but what would actually make them follow through? We had to make tough product decisions based on limited time and anecdotal insights. It wasn’t always clear whether users would prefer cashback options, merchant-matched donations, or personal contribution rules.

Translating emotion into UX

One of our biggest goals was to make giving feel rewarding, not transactional. We spent significant time figuring out how to visualize impact in ways that felt genuine without becoming gamified or superficial.

Clarifying the “who pays” model

There was internal debate about whether donations should come from the user’s pocket (e.g., 5% of their own purchase) or from affiliate commissions (merchant partnerships). Each model had different implications for user expectations, business viability, and trust.

Aligning the team across disciplines

Our team had designers, engineers, and strategists working across different tools and timelines. It took effort to stay aligned on the product narrative while juggling backend integration, UI design, and pitching.

Accomplishments that I'm proud of

  • Built a fully functional end-to-end donation loop in under 48 hours
  • Integrated real charities and donation flows through the Pledge.to API
  • Designed and implemented a delightful dashboard experience with impact feedback
  • Created a modular architecture ready for merchant partnerships and scalability

What we learned

  • How to operationalize social good using financial APIs and product thinking
  • The complexity of building trust and transparency into giving platforms
  • The power of real-time visual feedback in forming habits and retaining users

What's next for Buy4Good

  • Expand merchant partnerships for affiliate-based donations
  • Launch a pilot beta with real user banking data via Plaid and Stripe
  • Explore corporate giving programs, shared donation pools, and “impact challenges” for social sharing
  • Develop web extension and in-app purchase redirection similar to Rakuten
  • Continue iterating with nonprofits to ensure real-world impact and trust

Built With

Share this project:

Updates