Golden State Signal
The problem
Any vendor or reseller selling infrastructure into a state agency wants to know three things: what does this department already own, when does it come up for renewal, and who currently sells to them. California publishes the data that answers all three, and none of it is usable as shipped. Two incompatible export formats arrive under the same file extension. There is no product taxonomy. Contract terms are buried in free-text line descriptions. The same supplier is spelled three different ways in one file.
What I built
A pipeline and web application that ingests the raw state exports, reconciles them into one schema with full provenance, classifies every purchase into a product taxonomy, overlays contract-renewal timing and statewide reseller authorizations, and generates client-ready account briefs. Currently 202,232 purchase orders, 761,000+ line items, and $40.8B in spend across 160 California departments — scaled from a nine-department, $17.2B pilot to statewide coverage without a schema rewrite, and now shipped as an independent business at goldenstatesignal.com.
It is not built for one territory or one manufacturer. The taxonomy, the lifecycle overlay, and the brief generation all generalize — every state, county, and large municipality publishes procurement data with exactly the same characteristics.
The decision that mattered
I ran an LLM pass to improve product descriptions, then measured it instead of assuming it helped. 7,575 enriched rows carried only 681 distinct texts, and 74% of rows had dropped a model number or SKU that was in the original. I killed the approach, salvaged the one component that worked, and documented the negative result so it would not be tried again.
That set the architectural rule the whole system runs on: the pipeline works with zero AI calls. Ingest, normalization, joins, ranking, and aggregation are ordinary deterministic code. The model is confined to turning already-correct structured output into prose. The brief generator makes two model calls and neither one produces a number.
What scaling actually tested
Going from nine departments to 160 was the real audit of the design. It ran without a schema rewrite, but it surfaced two data-quality defects that a smaller dataset had been hiding. A mislabeled duplicate export would have double-counted $439.5M. A fuzzy-matching rule misattributed $517M of dark-fiber spend to the wrong manufacturer. Both were caught before anything reached a client, and both were fixed at the methodology level rather than patched case by case.
Scale also forced an entity-classification layer. A supplier name on a California purchase order is usually a reseller, but not always — sometimes it is a manufacturer selling direct, a consultancy, or one state agency billing another. Separating those cut the unattributable bucket from 39% to 18.5% of enterprise-relevant spend, which is the difference between a competitive map you can act on and one you have to caveat.
Where it came from, and where it goes
Version one was a 450-record HTML dashboard I built for my own territory. This is what it became once the question changed from what do I need to what would a vendor pay for. It now runs as its own business under the name Golden State Signal, with a public site, a live read-only demo, and a sample strategy document, each carrying a chat assistant scoped to what it is allowed to answer from. Next is multi-tenancy, once paying clients need it. The architecture has been built toward that migration without paying for it early.
Read the full engineering breakdown →
The four-source demand chain, where the model is and deliberately isn't, cost engineering, and the honest limits.