Home

Budget Changes - Procore

The legacy Budget tool allowed customers to shift money between codes, but lacked flexibility: changes couldn’t connect to other Procore tools, workflows, or accounting integrations. Customers also couldn’t move money in more complex ways (many-to-one, one-to-many). To solve this, we built a new object within the Budget tool called Budget Changes, a modern framework for tracking and managing financial modifications.

Creating a Budget Change general information

Tech Stack: Ruby React TypeScript Rails Postgres
My Role 
  • Acted as technical lead for the project, owning design and delivery.
  • Designed and implemented database schemas for Budget Changes, Budget Change Adjustments, and Adjustment Line Items.
  • Built the self-serve migration experience, allowing admins to schedule their transition to Budget Changes safely.
  • Integrated Budget Changes into Configurable Budget Views as a new data source.
  • Coordinated with the Change Events team to create two-way connections between Budget Changes and Change Events.
  • Reviewed frontend React implementation for the client-facing Budget Changes app.

Impact
 
  • Drove 2x increase in Budget tool adoption within six months of release.
  • Boosted engagement with the Change Events tool by unlocking cross-tool workflows.
  • Helped Procore reframe the Budget as a true object in the data model, paving the way for future financial features.
  • Demonstrated the power of Workflows 2.0, establishing a modern developer experience for workflow integration.

Technical Highlights
 
  • Built a scalable migration framework, supporting both UI-driven and API-driven migrations.
  • Designed a flexible schema to support integrations across Budget, Change Events, and external accounting systems.
  • Balanced long-term maintainability with immediate customer needs under a tight delivery timeline.

A Story
The project’s planning phase felt like a skunkworks initiative. For a month, I worked daily alongside leaders from product, engineering, sales, support, and QA, virtually whiteboarding and prototyping in Figma. We iterated with internal experts, validated designs with customers, and hammered out a solution that had eluded us for years. Taking on technical leadership for the delivery was both intimidating and validating — but the team shipped on time with minimal scope cuts, and the adoption results spoke for themselves.
 
Docs