Inspiration

Nonprofits create meaningful impact but often lack technical resources. Building a website usually means choosing a template, installing plugins, and maintaining tools that weren’t designed around their mission.

We asked: what if a nonprofit could upload its annual report and receive a fully functional, custom web application built automatically?

AgileGPT is our answer. It acts as an AI-powered SCRUM team that reads a nonprofit’s annual report and autonomously builds a full-stack React + Flask application tailored to that organization.


What it does

Given an annual report PDF, AgileGPT:

  • Extracts a structured nonprofit profile using RAG
  • Plans a 5-sprint SCRUM roadmap
  • Generates backend APIs with CSV persistence
  • Generates a React frontend
  • Writes and runs integration tests
  • Tracks sprint execution through JIRA
  • Produces a working app at http://localhost:5000

It doesn’t just generate code — it runs a full development lifecycle.


How we built it

We modeled the system after a real SCRUM team:

Annual Report PDF
       ↓
RAG Extraction
       ↓
Manager Agent (profile confirmation)
       ↓
PM Agent (roadmap + API contract)
       ↓
For each sprint:
  Backend Agent
  Frontend Agent
  QA Agent
  PM Review
  JIRA Updates

The PM agent defines every endpoint up front (path, method, schema, response).
All agents reference this contract.

This prevents frontend/backend drift during autonomous generation.

Each sprint receives:

  • The actual workspace files from disk
  • Logs from previous agents

This allows cumulative development instead of stateless generation.

After each sprint, the PM reviews test results and can:

  • Modify future tasks
  • Adjust API contracts
  • Insert up to 2 additional sprints (max 7 total)

The system is self-correcting rather than fixed.


Challenges we ran into

Agent Drift
Backend and frontend initially generated mismatched routes.
We solved this with a strict contract-first design.

State Management
Managing evolving workspaces required structured state models and isolated environments.

Testing Autonomous Code
We had to programmatically start the Flask server, run pytest, capture failures, and feed results back into the planning loop.

Model Routing
Different roles required different models. Separating reasoning-heavy planning from deterministic code generation improved both stability and cost.


Accomplishments that we're proud of

  • Built a fully autonomous, multi-agent SCRUM system that plans, builds, tests, and adapts without human coding.
  • Implemented a contract-first architecture that keeps backend, frontend, and QA agents synchronized.
  • Closed the loop with live integration testing against a running server.
  • Enabled adaptive sprint planning, where the PM agent can modify future work based on real pass/fail results.
  • Successfully turned static nonprofit documents into working full-stack applications.

What we learned

  • Multi-agent coordination is harder than single-agent generation.
  • Strong planning dramatically improves downstream code quality.
  • Autonomous systems require real testing against live servers.
  • Passing actual filesystem state between iterations improves reliability.
  • Governance (PM review loops) is critical to prevent compounding errors.

What's next for AgenticAgile

  • Replace CSV persistence with production-ready databases (PostgreSQL).
  • Add one-click cloud deployment (e.g., containerized deploy to AWS/Azure).
  • Expand beyond nonprofits to support startups and internal tools.
  • Improve long-horizon planning with deeper architectural reasoning.
  • Introduce human-in-the-loop controls for governance and customization.
  • Benchmark reliability and cost efficiency across larger project scopes.

Built With

Share this project:

Updates