Inspiration

Most people want to donate — they just don’t know where, or whom to trust. I was inspired to make that process simple, collective, and transparent. With so many charities, NGOs and causes, I realized people need a platform that removes decision fatigue, pools efforts, and ensures money goes to properly vetted organizations. That’s how Give Well Together was born — a focused, no-nonsense platform for recurring donations done ethically.

What It Does

  • Visitors choose a monthly or yearly subscription plan
  • Once subscribed, they automatically contribute to a donation pool
  • The admin reviews and approves organizations, and sends funds across monthly.
  • Users can view their subscription details and track donations from the dashboard.
  • Organizations can apply to be added via a dedicated form
  • Users can see each and every form filled by organisations which have applied for absolute transparency
  • You can also generate donation invoice documents for tax benefits.

I have taken the liberty to use some fake organisations and figures to showcase functionality and make judging smoother

How I Built It

I used bolt.new to build the entire project from scratch using the following technologies and modern full-stack setup:

  • Frontend: React 18.3.1 + TypeScript, Vite 5.4.2, React Router DOM 6.28.0, Tailwind CSS 3.4.1, Lucide React 0.344.0
  • Auth & Backend: Supabase Auth (email/password with JWT), PostgreSQL with full Row Level Security, Supabase Edge Functions (Deno)
  • Payments: Stripe (Subscriptions, Customer Portal, Webhooks) integrated via custom edge functions:
    • stripe-checkout, stripe-portal, stripe-webhook, sync-stripe-payments
  • State Management: React Hooks (useState, useEffect) and custom hooks (useAuth, useSubscription, useStripe, useStripePortal)
  • Deployment & Tools: Netlify (hosting), IONOS (domain via Entri), jsPDF 2.5.1 (PDFs), ESLint 9.9.1, TypeScript 5.5.3

Running in Stripe sandbox mode with email verification disabled for judging purposes. All secrets and environment variables are securely managed.

Accomplishments

  • Built a fully working full-stack application with bolt.new in a short hackathon window
  • Integrated Stripe payments and customer portal
  • Set up Supabase Edge Functions and real-time webhooks
  • Built a clean, responsive UI with Tailwind and React
  • Implemented working auth, dashboards, org applications
  • Successfully deployed live at givewelltogether.site
  • Got rid of the overhead of choosing where to put your money and who to help out, choose a recurring subscription and money will get equally distributed

What’s Next

  • Move out of Stripe sandbox into live production
  • Enable email confirmation for secure signup
  • Better bug handling and more robust security measures
  • Automate monthly disbursement to organizations via Stripe Connect
  • Build moderation + analytics for admins

What I Learned

  • How to rapidly build secure full-stack apps using bolt.new
  • How Edge Functions simplify backend logic with frontend integration
  • Importance of RLS for safe data access
  • The power of AI tools (bolt.new + ChatGPT) to speed up dev, ideation, and bug fixing
  • How to build for MVP speed, but with a roadmap to production

Special Notes

  • Built entirely with bolt.new
  • Idea completely original, refined via ChatGPT
  • Site uses fake orgs and sandbox setup for judging purposes
  • Admin manually approves and allocates funds for now — planned to automate post-judging

Built With

Share this project:

Updates