This is a Guest Article written by Caíque Cober, a global macro, energy, and financial market researcher, and author of Macro Dispatch, a newsletter that provides readers with interactive research notes and tools delivering a unique perspective of global macro and financial markets.
TLDR:
What if macro research weren’t trapped in Excel/notebooks? I rebuilt my workflow using OpenBB and FastAPI to push the limits of what research tools can do—with modular dashboards, cleaner architecture, and integrated AI assistance.
You don’t have to imagine it— you can experience the macro API yourself while it’s live over the next 48 hours, stick with us until the end of the article and test it now!
Hey, welcome!
My name is Cober, a Brazilian-Canadian who has been building advanced macro and finance analytics for over half a decade—working with commodity brokers, boutique macro research firms, and institutional clients.
Along the way, I’ve been obsessed with one question:
What’s the most efficient way to build and manage data-driven macro research—with visuals that actually look good?
So let’s talk about why Excel still rules, why that’s a problem, and how a new stack—and a new mindset—can unlock a smarter way forward.
If you’re in the industry, you already know: Finance still runs on Excel. Pivot tables. PowerPoint exports. Macros. Manually updated sheets. We’re creatures of habit. And Excel is one of the most fundamental habits in finance.
When the UX isn't quite right on BG, the user calls Excel off the bench. And let’s be honest the bench player is playing 40 minutes a game.
Meanwhile, Python notebooks are starting to get some playtime—and we’ve even figured out ways to run Python inside Excel using tools like Xlswings, just to keep things within that familiar frame. As the saying goes, if it isn’t broken, don’t fix it.
But let’s be honest: it’s kind of broken. It’s like forcing a real-time macro dashboard into a floppy disk. You can do it. But should you?
When you finally break free, the payoff is real. There is some organizational alpha that can be harvested!
Let me walk you through a practical example.
The Macro Analyst’s New Toolkit (How Builders Think Differently)
The rise of notebooks, scriptable dashboards, and AI agents
A new generation of analysts has new skills—and new expectations.
Eventually, they hit a wall: constantly updating Excel sheets or running notebooks cell-by-cell becomes tedious and limiting.
So they look for something more powerful. And it turns out, coding it up has some big upsides:
- More capacity—scripts scale better than spreadsheets
- More inspiring work—your marginal hours go to exploration, not debugging macros or loading heavy sheets
I remember reading that the average finance analyst spent 70% of their time cleaning data in Excel. I instantly 10x’d my exposure to Python.
Coding tools like Cursor, ChatGPT, Claude, and Gemini let analysts move faster without having to be full-stack engineers (not going down the nuances of vibe coding issues here....).
And the dashboard options stack is growing:
- OpenBB, Streamlit, Quarto, Shiny, Dash, Panel, Vizro and Others
Now, here’s where things get personal.
I’ve been experimenting with Streamlit for a long time before Snowflake acquired it. My very first Streamlit app helped colleagues download COVID data—pre-filtered by country, already pivoted, and chart-ready for Excel.
Simple? Sure. But it saved dozens of hours in the weeks that followed.
Since then, I’ve built over 50 Streamlit monitors covering:
- Cross-asset moves
- Energy flows
- Short-term money markets
- Repo spreads
- And more...
(P.S. I share a lot of this kind of work on LinkedIn and X/Twitter, and on my newsletter if you want to follow along.)
Case Study — Why OpenBB is the best UI alternative for your Streamlit Apps
Today, let’s examine the battle at the margin—drawing on my experience rebuilding a macro research dashboard using OpenBB, after years of working with Streamlit.
After a quick tour of Excel’s limits and the evolving toolset, here’s where we get into the meat of it.
My Streamlit experience: What Needed Fixing
My starting point was a Streamlit app built to support economic scenario analysis. It displayed the core charts a macro researcher uses to track the Fed’s dual mandate:
- Maximum employment
- Price stability
It worked well—but after many iterations as a power user, I started noticing friction points that added up over time.
Here’s what I wanted to improve:
Layout flexibility: Every user—and every research use case—has a different ideal layout. Streamlit forces a bit too much uniformity.
Loading behavior: Streamlit runs top to bottom on every interaction. Caching helps, but performance tuning often requires workarounds beyond its intended simplicity.
Modular reuse: Each app runs in its own container. That’s great for isolation, but not for scaling across slight variations—like tracking multiple sectors or themes.
AI integration: Streamlit is a good place to test AI and LLM features, but not to scale them. UI/UX becomes limiting fast.
I’ve always believed that AI should be seamlessly integrated into research workflows. It’s only going to grow more central—especially as macro researchers, PMs, and data engineers all start experimenting with copilots and automation.
Why OpenBB + FastAPI?
Given those pain points, I wanted to try a more modular approach:
My goal was to recreate the Streamlit experience using OpenBB as the frontend and FastAPI as the backend—separating the UI from the logic while laying the groundwork for more AI-native interaction.
The Experience of Building
Let’s be honest—there’s a learning curve.
Streamlit is easier to get started with. But with OpenBB and FastAPI, you get deeper control, and you’re building with real backend architecture in mind.
It took me 1–2 days to get a working version of the OpenBB setup. Here’s what that looked like:
api.py
: the core logic of the appwidgets.json
: defines the callable API functionstemplates.json
: defines the widget layout structureprompts.json
: LLM prompts and context mappingrequirements.txt
: project dependencies
The OpenBB docs and open-source examples were key in helping me piece everything together—and their team was incredibly responsive. Once I understood the structure, building became fast and intuitive.
After the first attempt, things went smoothly.
Not having to deal with alignments of Streamlit parameters was a strong point.
As a product, as shown below, I can replicate everything I did in the Streamlit app, and you have a better separation of backend and frontend, along with an overall sleeker UI.
Here we can observe an example template:
We can re-arrange in seconds for a specific focus:
One of the first things I noticed? No more fighting with Streamlit’s layout logic. Not having to deal with parameter alignment was a quiet but meaningful win. From a product standpoint, I was able to replicate everything I’d built before—only now, with a sleeker UI and a cleaner separation between backend and frontend.
Here’s the kicker: I could change the layout in seconds to match the day's focus—whether it was inflation trends, labor market charts, or term premium decompositions. Everything felt more modular, and that modularity mattered.
Beyond brushing up my FastAPI skills, what stood out most was the ability to adjust the dashboard based on what matters right now in macro.
That’s the magic. It’s not about having a fixed layout or a “perfect” structure. It’s about giving the analyst the ability to shape the dashboard around their current narrative—to tell the story they’re seeing unfold. You don’t need to open a spreadsheet. You don’t need to recreate visualizations. You can pull a chart from another dashboard via a quick widget search and move on.
It’s the closest I’ve come to a workflow that feels truly: customizable, shareable, auditable, and reproducible.
The frontend just works. And because the backend is modular, it becomes the perfect testing ground for merging legacy workflows with AI-native ones.
OpenBB isn’t just a dashboard tool—it’s a foundation for experimenting with how AI can augment the research process with grounded data.
It gives you structure and flexibility, a clean starting point from which you can test how AI can improve your workflows.
In practice, AI helps you see and say what matters. It can describe changes in plain language. And more importantly, it can help you explain those changes to a stakeholder—whether that’s an investor, a CIO, or a curious colleague.
You have two natural modes to share insights:
You can talk through your charts, walking your audience through the logic—like Jordi Visser does weekly on youtube.
Or you can write it out—turning your perspective into a narrative, with AI helping to describe, compare, and structure your argument.
Here’s how I use it as an example:
Need a cross-sectional view of the latest job market shifts? Ask the copilot.
Want a clean summary of marginal changes across multiple charts? Prompt it, get an output draft, and then refine it.
Here is a generic prompt that works to extract the latest data:
But let’s be clear: AI doesn’t replace the analyst.
Unless you’ve built a full causal graph ontology tied to your research framework (and if you have, I would be very keen on hearing from you), the conclusions still come from you.
AI helps you observe, structure, and iterate faster and more dynamically.
As with most things in AI, the potential is there, but execution is where the value lives.
And I keep coming back to this:
Research flows should be seamless, contextual, and human-centered—augmented by AI, not driven by it.
This isn’t just about dashboards or templates. It’s about how we structure the interaction between:
- LLMs
- Us
- Data
- Texts
The goal?
To extract the intuition of seasoned spreadsheet and dashboard users—and repackage it into a more intelligent, shareable, AI-augmented interface.
It’s the kind of evolution that doesn’t just save time.
It builds leverage—enough of that, and we might see the decline of Excel in finance...
And if that sounds like something you want to explore—well, let’s make it happen.
Your Research, Upgraded
If you made it this far, you already think like a builder.
Now imagine this:
An AI copilot that understands your charts can describe the latest changes and adapt to your research flow as the macro story evolves.
It does not replace the human touch. It is making your output faster, more flexible, and built to scale.
As promised, you can try a working version right now.
Head to OpenBB and plug in the following backend link: https://apiobb-production.up.railway.app/.
Steps: Click Data Connects -> Add Data -> Custom Backend -> Add
Go to templates and click on the one that shows up for you!
(valid for 24–48 hours or until my server quota runs dry)
Curious about building one of your own?
Whether you're in macro, commodities, rates, strategy, or analytics—let’s talk.
📬 Find me on LinkedIn or Twitter/X as @macrodispatch.
Or just send a screenshot of your favorite chart from the dashboard—I’d love to see what resonates.
Let’s build something together.
Obrigado,
— Cober