Case study · B2B Web

Increase revenue by $3M by designing a new financial tracking system

Timeline: 2025 Q2 Lead Designer B2B Web 1 PM · 8 Engineers · 2 cross functional teams
Budget Code settings page

Settings page for Budget Code setup

TL;DR
Background
ServiceTitan was losing construction customers because the product had no way to track and reconcile project spend against a budget.
Problem
Construction businesses run on structured budget codes to track spend across multi-phase projects — without native support, customers had no reliable way to manage project financials.
Approach
Designed Budget Code, a flexible, reusable system letting customers define and apply their own budget structures — shared across 3 product surfaces.
Outcome
36% adoption in the first release cycle, a 15% increase in revenue per customer, and 35% reduced churn.
35%
Reduced customer churn
15%
Increased revenue per customer
36%
Adoption within the first release cycle

The Problem

ServiceTitan was losing out on significant market share of construction customers because the product was missing a core capability they couldn't work without: a way to track and reconcile project spend against a budget.

Construction businesses run on budget codes — structured cost classifications (phase, cost type, cost code) used to track spend across large, multi-phase projects. Without native support for this, customers had no reliable way to manage project financials in the product at all.

Discovery: Research & Insights

Two critical patterns emerged from talking to customers, and they shaped our entire approach to the problem.

  • 01 No universal budget code structure. For a single customer, different projects can call for different budget code structures depending on the project type.
  • 02 Consistent taxonomy & readability. Another challenge was making terminology coherent across both industry and customer standards — different customers use the term “cost code” to mean what others call a “phase.”

“How might we create a shared budget-code system that lets customers consistently categorize and track costs across the construction project lifecycle?”

Scoping to MVP

With limited time, we scoped the MVP down to the most important pieces project plan tasks and financials, with Purchase Orders and Pricebook planned for a later phase.

Jobs to Be Done

  • 01 Establish the structure — define budget categories that reflect how we manage project costs.
  • 02 Assign costs accurately — connect planned costs, and actuals to the right budget code.
  • 03 Maintain consistency — keep budget-code meaning consistent across every workflow.

Explorations

If the different squads that needed to utilize this budget code selector couldn’t come to an agreement on how this dropdown was going to function, we would be faced delay of the project or worst yet, a non functional tool for our users. With the help of Claude I worked to figure out alternatives of best displaying the right segments together.

Component exploration alternatives

Ideating on how to best display the different segments; displaying the entire code together, separating each segment and showing keyboard shortcut keys.

Solution

I worked directly with engineering and our finance/accounting stakeholders to align on an approach that served both groups: a searchable dropdown supporting direct code entry and full-text search, without fragmenting the experience into two separate tools.

Single budget code selector component

The budget code dropdown is a single selector where each segment auto-populates the next once the previous one is selected. If a user makes an error, they simply click back into that segment in the text field, and its options repopulate.

Final Design

Creating a cost tracking system throughout ServiceTitan to accurately track budgeted vs. actual costs against a project.

Budget Code end-to-end workflow

End-to-end workflow from setup to applying

Creating the Foundation

We spoke with customers to understand how they structure and use budget codes to prevent an inconsistent experience from existing industry standards. Users configuring the system have different needs from someone simply assigning a budget code.

Creating a new cost code

Setting up Budget Code foundation and structure in Settings

Key insights: There wasn't one universal budget structure. Customers needed flexibility at the project level, but the product still needed a consistent foundation to start.

Project-level Budget Code configuration

A project manager can configure the budget code structure on a per project basis depending on how the type of project it is. ie. large complex has a lot more variables vs a single family home buids.

Making budget codes usable across the product

The challenge was designing a budget code experience that was easy to use, reusable, and consistent across multiple workflows.

Because different users interacted with budget codes in different contexts, their needs varied significantly: project managers prioritized speed and efficiency, often relying on memorized shortcuts, while accountants and occasional users needed a more discoverable experience.

Because budget codes connect costs across the product, a code entered in one workflow needed to remain consistent and recognizable wherever those costs were managed.

Budget code interaction across workflows
Budget code usage in another workflow Budget code usage in a workflow
Budget code usage across the product

Beta Feedback

I measured success not just by shipping the feature, but by tracking it through the customer journey: setup completion, time-to-first-budget-code-created, and adoption across teams in the weeks after release.

  • 36% adoption within the first release cycle
  • Enabled ServiceTitan to support commercial construction workflows through 2 Construction customer acquisitions
  • Improved customer satisfaction through accurate financial visibility across projects

Next Steps

This project enabled ServiceTitan to move beyond a residential-based product and opened the door for customers to manage heavy commercial construction projects. To make it even easier for customers, we want to build industry-specific cost structure templates.