
My First Real Encounter with APIs, Databases, and Full-Stack Flow
Building B3 Tracker: lessons from my first serious personal portfolio project
As a first-year Computer Science student at FECAP in São Paulo, I spent most of my first months learning concepts in isolation, a bit of Python here, a database lecture there. It wasn't until I started building B3 Tracker, a dashboard for tracking Brazilian stock market (B3) data, that those pieces actually came together into something that felt like real software development.
Consuming a real API
The first milestone was connecting to the brapi.dev API to pull live stock data. This was my first time handling an external API outside of a tutorial, dealing with request/response cycles, parsing JSON, and figuring out how to structure that data before it ever reaches a user. It sounds simple on paper, but debugging a malformed response or an unexpected null field taught me more about defensive coding than any lecture did.
Databases, beyond the theory
Next came PostgreSQL. I had studied relational databases in class, but designing my own schema, writing CRUD operations, and deciding how to persist ticker data in a way that made sense for the application was a different kind of learning, the kind where mistakes are immediate and instructive.
Backend to frontend, with Flask and Jinja2
The part that tied everything together was learning how Flask routes serve data to templates through Jinja2, rendering dynamic content pulled from the API and the database directly into HTML pages. Understanding that flow, from a Python function to a rendered page in the browser, was the moment the "backend" and "frontend" stopped being abstract terms and became a single, connected system I had built myself.
Learning with AI as a study partner, not a shortcut
Throughout this project, I've been using AI tools deliberately, not to generate finished code I don't understand, but as a way to accelerate learning, asking why something failed, exploring alternative approaches, and getting explanations that fill gaps a textbook or a quick tutorial wouldn't cover. It's changed how I debug and how I evaluate my own code, even when I end up writing the solution myself.
What's next
I'm still early in this journey, there's a lot I don't know yet, and B3 Tracker is far from production-ready. The next step would be actually deploying my project. Either way this project marked the first time I felt like I was actually building software, not just following along.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article