Inspiration
We are apart of ALM which is a muslim fraternity. We do a lot of work with nonprofits to help the muslim community. We came up with the idea when we were brainstorming for the hackathon because we were thinking how tedious it must be for some of these smaller nonprofits to organize and develop fundraisers and acquire funding.
What it does
GrantMatch solves the funding discovery problem for small and local nonprofits. Organizations enter their mission, cause area, location, and budget — and GrantMatch's AI engine instantly surfaces the top matching foundations and grants, explains exactly why each one is a strong fit, and generates a personalized outreach email in one click. Nonprofits can also create a fully personalized fundraising campaign page tailored to their mission and goals. What used to take weeks of research and writing happens in seconds.
How we built it
We built GrantMatch using Next.js and Tailwind CSS for the frontend, with a Node.js backend powered by the Claude API. The matching engine sends the nonprofit's profile alongside our curated foundation dataset — sourced from IRS 990 filings, Grants.gov, and USASpending.gov — to Claude, which performs semantic reasoning to rank and explain the best fits. The outreach email and personalized fundraiser features are also AI-generated, using the nonprofit's profile to produce content that feels specific and human rather than templated.
Challenges we ran into
As beginner programmers building our first full-stack app in 24 hours, almost everything was a challenge. GitHub blocked our first push for containing an exposed API key, environment variables didn't load correctly at first in production, and we had a build failure caused by conflicting dependencies between our frontend tool and the Next.js build system. Coordinating two people across frontend, backend, data, and AI features on the same codebase simultaneously was harder than we expected but we figured it out. We were supposed to have 4 but our other teammates didn't rsvp in time which made things harder because it was more amongst 2 people.
Accomplishments that we're proud of
We shipped a working full-stack AI application in 24 hours as a team of beginner programmers who had never built anything like this before. The matching engine produces specific, well-reasoned recommendations rather than generic results. The one-click outreach email and personalized fundraiser features solve real pain points for small nonprofits that don't have dedicated grant writers or marketing staff. We're proud that this could genuinely help real organizations in our community raise money faster.
What we learned
We learned how to build and deploy a full-stack Next.js application, integrate the Claude API for real-world AI reasoning, and manage a shared GitHub repository as a team under time pressure. We also learned how to scope ruthlessly — we cut features that weren't working and doubled down on the ones that made the demo compelling. We had never touched a backend or deployed a live app before this weekend.
What's next for GrantMatch
We want to expand the foundation database using live IRS 990 data, add user accounts so nonprofits can save matches and track their outreach history, build a full grant application workspace with AI-assisted writing for each section, and add deadline tracking so organizations never miss a grant cycle. Long term we see an opportunity to partner directly with community foundations who want to proactively discover and support well-matched grantees in their region.
Built With
- anthropicapi
- claudecode
- github
- grant.govapi
- irs990data
- javascript
- json
- next.js
- node.js
- python
- react
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.