Data infrastructure
Operational data was disappearing, and nothing was collecting it
Situation
There was no data warehouse. Operational and historical data lived in siloed systems, and as it aged out of each system’s retention period it was gone for good. Management metrics and long-term analysis were out of reach.
The harder problem was that the sources never held still. Input locations, processes, and table shapes changed constantly, and the definition of something as basic as when a warranty starts could shift from the install date to the ship date. A warehouse that captured data permanently but couldn’t bend with that churn would have been abandoned within months.
What I built
I built the first warehouse, solo, using Claude Code as a throughput multiplier. Every operational source was consolidated into a single source of truth, stored as parquet, queryable with SQL through AWS Athena, and visualized in Grafana.
Around it I put a working discipline of cleaning, verifying, monitoring, and maintaining: stakeholder interviews to confirm the right data came from the right source, nightly jobs that flag missing data and decide whether to filter, interpolate, or investigate it, and schema-drift detection that raises an alert whenever a column is added, removed, renamed, or retyped.
Then I closed the loop. Each morning an AI agent analyzes the detected table changes and opens a pull request containing the needed migrations, the Terraform updates, and a written rationale. I review it and deploy. I chose to keep a person in that last step on purpose, because an agent can’t know that a table called Locations actually holds customer names. That judgment is the part a human has to keep.
What changed
History stopped disappearing, and long-term questions became answerable. The warehouse keeps up with constant schema churn on a short daily review from one person, which is what makes it sustainable for a small team. The pull-request loop also leaves a documented trail of every change and why it was made.