Proof » Go Grants
Go Grants – Grant-management platform
2012–2016 · Dynamic forms, reporting, performance
The situation
Go Grants was a grant-management platform used across more than 25 US arts and grant-making organizations, including large institutions such as the National Endowment for the Arts.
When I joined the project, the system was already in production. It supported applicant forms, admin workflows, reporting, scoring, data imports, and recurring grant cycles.
It was useful software with real users, but it also carried years of earlier decisions, bugs, slow queries, performance problems, and support requests.
Where the complexity lived
Much of the platform’s value came from its flexible grant forms. Admins could create custom fields and adapt each grant cycle to their organization’s needs.
That flexibility also made reporting and performance difficult. The system had to query and combine large numbers of custom fields across many applications, sometimes with relationships that were difficult to reconstruct from the stored data alone.
Around major application deadlines, the platform could receive submissions from roughly 10,000 applicants within one or two days.
That made performance work more than technical cleanup. It directly affected whether the system could remain usable under real deadline pressure.
What I worked on
Over several years, I worked on the parts that made the platform easier to operate: reporting, admin workflows, and performance.
This included tracing slow SQL queries, profiling PHP code, reducing memory usage, and testing demanding workflows under load.
I also improved everyday admin work, including recurring grant-cycle setup and form management.
One larger refactor moved frontend logic into a more reusable structure, so business rules were no longer scattered as widely across the interface layer.
Why this matters
The work was about making an inherited production platform faster, safer, and easier to maintain without pretending that the existing data model, users, and workflows could simply be replaced.
Technical context
PHP, Zend Framework, MySQL, SQL/EAV, jQuery, dynamic forms, reporting, scoring, data import, performance optimization.