Inspiration

Philanthropic funders spend tens of billions of dollars and countless hours annually sourcing and vetting nonprofits. Most nonprofits still win funding based on who they know rather than their actual impact, because there is no standardized, high-quality way to view their data. We wanted to solve this by creating true visibility across the global social enterprise landscape.

What it does

Our app is an AI-powered profile creation tool. It takes messy, unstructured text (like a grant application, website text, or impact report) and uses DigitalOcean Gradient AI to extract the key data funders care about.

It does this in two steps:

  1. Extraction: It reads the text and pulls out mission, budget, impact metrics, and target demographics into a clean JSON structure.
  2. Conversational Gap-Filling: The AI identifies what information is missing and asks the user targeted follow-up questions to complete the profile.

How we built it

We built the backend and AI agent logic in Python using the DigitalOcean Gradient AI Python SDK. We used the serverless inference endpoint to communicate with the llama3.3-70b-instruct model. We handled the user interface using Streamlit and deployed the application live on Hugging Face Spaces.

Challenges we ran into

Configuring the environment variables and securely managing the Gradient AI model access keys during deployment took some troubleshooting, but we successfully resolved it to create a seamless pipeline. We also had to refine our system prompts extensively to ensure the AI returned strictly formatted JSON without markdown wrappers so our app wouldn't crash.

Accomplishments that we're proud of

We are proud of building a fully functional, production-ready AI workflow that solves a real-world social impact problem. The transition from a Colab notebook prototype to a live, interactive web application within a tight deadline was a huge win.

What we learned

We learned how powerful and fast it is to implement serverless LLM inference using DigitalOcean Gradient AI. We also learned prompt engineering techniques to force LLMs to adhere strictly to JSON schemas.

What's next for the Nonprofit Profile Builder

In the future, we want to add a database backend (like DigitalOcean Managed Databases) to permanently store the generated profiles. We also want to implement a RAG (Retrieval-Augmented Generation) knowledge base using DigitalOcean Gradient's Agent features to cross-reference nonprofit data with historical funding trends.

Built With

  • digitalocean-gradient
  • llama-3.3-70b
  • python
  • streamlit
Share this project:

Updates