Every commercial flight in Argentina, tracked in high-frequency, on a $0 budget.
This wasn’t a client request. It was a personal mission. When I joined Blueprintdata as a Data Engineer, I realized that understanding this world meant more than just reading documentation: it meant building something that shouldn't be possible with the technical overhead and manual barriers I saw everywhere.
Transitioning from Software Engineering to Data Engineering felt a bit like landing on another planet. Vining from the software world, I thought I knew what to expect: Python, APIs, and the assumption that SQL was just for "getting data."
I was wrong. The complexity of the SQL models we handle at Blueprintdata is fascinating. It’s not just about queries; it’s about how you model, measure, and define information in ways I hadn’t imagined. But reaching that "interesting part" felt impossible at first. The Modern Data Stack was fragmented, and I spent my first days fighting the "Dark Side" of data: infrastructure boilerplate, manual service wiring, and the repetitive manual tasks of starting from a blank page.
The Mentor's Tool: Blueprintdata CLI
During my onboarding, I expressed this frustration to Manuel Ponsa and Marco Porracin. They didn't just give me a manual; they pointed me toward a solution we were building to eliminate these bottlenecks: the Blueprintdata CLI.
The CLI was designed to be the "lightsaber" for a data hero. It standardizes our architectures, automating the 90% of plumbing that usually eats up the first week of any project. Instead of wiring together Meltano, dbt, and Cloud storage manually, you could now bootstrap a production-ready stack in seconds.
Helping build this tool while I was still learning the ecosystem was a game-changer. It taught me that in the data world, the best engineers don't just move data; they build the machines that move it.
Testing the Mission: The Flight Tracker
Once we had a version of the CLI we believed in, Manu gave me a challenge: "Build something with real value that we can visualize." Combining my software background with my new data skills, I decided to track every commercial flight in Argentina.
Using the CLI, I started the project with a single command:
npx blueprintdata-cli template
In 30 seconds, I had my foundation:
- Orchestration: Meltano for automated data syncs.
- Transformation: A dbt project structured for the complex modeling I mentioned earlier.
- Automation: GitHub Actions to deploy changes safely.
Solving the Ingestion Puzzle: tap-airlines-arg
The data source was the real obstacle. Aeropuertos Argentina 2000 manages the traffic, but there was no API or "official" pipe.
I used the Meltano Singer SDK to build tap-airlines-arg, creating a robust contract between a "closed" source and our warehouse. I published it on PyPI so the next engineer could skip the struggle. This was the moment ingestion stopped being about "scripts" and started being about software principles.
The Result: A $0 High-Frequency Dashboard
By combining the CLI’s foundation with the custom tap, I built an architecture with zero fixed costs:
- Ingestion:
tap-airlines-argpulls data in high-frequency syncs. - Warehousing: Raw data lands in BigQuery’s free tier.
- Modeling: dbt deduplicates and structures the logic of flights.
- The Static Trick: Final models export as JSON files to Google Cloud Storage.
- UI: A Next.js frontend renders the movements at infoaeropuertos.ar.

The Realization: Data is Just Software
What surprised me most is that data is just software.
The same principles (version control, testing, automation) are what make a data stack "modern." Being a builder of the tools (the CLI) while being a user of them (the flight project) is the only way to master this field.
If you’re a software engineer feeling overwhelmed, my advice is: find a dataset you care about and build the tool you wish you had. That’s how I ended up tracking every plane in Argentina.
What's Next
We’re continuing to iterate on the Blueprintdata CLI to make the transition into data as smooth as possible for everyone else.
Resources
- 📦 tap-airlines-arg on PyPI
- ✈️ infoaeropuertos.ar: Live Dashboard
- 💻 Full Repository & CLI Feedback