Case study · Industrial construction

Specialized Construction Services

Bid Tracking App for an Industrial Contractor

SCS tracked bids in a spreadsheet tab per year. We built one bid log with a status workflow, dashboards and reports, and moved three years of history into it.

Overview

Specialized Construction Services (SCS) is an industrial contractor in San Antonio, Texas. Winning work means bidding on a steady stream of jobs, each with its own client, estimator, deadline and odds of being awarded.

SCS tracked all of it in spreadsheets, one tab per year. In 2025 it asked us to replace them with software built around how its team actually bids. The Bid Manager went live in February 2026 and is still being extended today.

The Challenge

A spreadsheet can hold a list of bids, but it cannot tell anyone that a bid needs attention. Status lived in a cell, conversations about a bid happened in email, and each year started a new tab. Answering simple questions, such as how much work is in the backlog, what has been awarded this year, or what the win rate is, meant building the numbers by hand.

The new app had to do everything the spreadsheets did, carry over three years of history without losing a single bid number, and give the whole team one place to work.

One bid log instead of a spreadsheet per year. Three years of bids moved in with their original numbers, and everything else reads from the same list. Sample rows, not real bids.

What We Built

Designed and tested with the people who use it

Figma mockups and a style guide first, then development on a staging environment, then user acceptance testing with SCS's own team on a separate test environment before anything reached production. Changes requested during testing were estimated and approved separately, so the scope stayed clear.

The bid log

One searchable list of every bid, with filters, sorting and quick changes to status and assignee right in the list. Each bid gets a six-digit ID automatically, can carry attachments, and shows the fields that matter for its status, such as the job number once a bid is awarded.

A status workflow that matches how SCS bids

Colored statuses from the first lead through budgetary pricing to award, with an award potential rating on each bid. Statuses were added as the team used the app, including Lead with follow-up reminders and Cancelled by Client.

Conversations attached to the bid

Comments on each bid with @mentions, and a discussion icon on every list, so the history of a bid stays with the bid instead of in someone's inbox.

Clients and contacts

A shared directory of clients and their contacts, viewable by company or by person, with flags for incomplete records.

Dashboard, reports and notifications

A dashboard with bid status, assignments, total backlog, total awards and overall win rate. Reports with filters, date ranges, export and columns each person can choose. Notifications in the app and by email, with settings for how often each person hears about changes.

Three years of history, kept intact

We imported the 2023, 2024 and 2025 bid archives and the client list from the spreadsheets, keeping the original bid numbers and updating duplicates rather than creating them twice.

Built to keep improving

A modern web application built with Next.js and a Postgres database on Supabase, with separate production, staging and testing environments, so new features can be tried safely before the team sees them.

Results

  • One bid log for the whole team in place of a spreadsheet per year, live since February 2026.
  • Three years of bid history carried over with every original bid number.
  • Backlog, awards and win rate on a dashboard instead of built by hand.
  • SCS keeps asking for more: new statuses, dashboard figures and reports have been added since launch, and we maintain it.