Inspiration
A year ago I had a Python script that just printed crypto prices to my terminal. No interface, no purpose beyond proving I could pull an API. It sat abandoned for months.
What pulled me back wasn’t crypto — it was a pattern I couldn’t stop noticing. Bitcoin’s dollar price never lined up with what Nigerians actually paid for it in naira. Exchange rate math should account for the whole gap, but it never did. There was always something extra, an invisible tax nobody had a name for. I wanted to see that gap, not just suspect it was there.
What it does
Naira Crypto Pulse is a live dashboard tracking the top 50 cryptocurrencies, built around one number I call the NGN Premium — the spread between a coin’s global USD price and its effective price in naira: {NGN Premium} = \frac{P_{NGN} / R_{implied} - P_{USD}}{P_{USD}} \times 100%
where R_{implied} is the naira/USD rate implied by comparing BTC’s price in both currencies. When that premium spikes, it’s usually flagging FX stress before it shows up anywhere official.
How we built it
• Data: CoinGecko’s free API, no key needed — three calls per run (top 50 in USD, top 50 in NGN, BTC in both) to derive the implied exchange rate • Pipeline: Python and pandas, appending each run to a Parquet file for history • Dashboard: Streamlit and Plotly, running a hybrid model — live fetch on every page load with a 2-minute cache, falling back to the last saved snapshot if CoinGecko rate-limits, while historical charts pull from the accumulated Parquet data • Scheduling: GitHub Actions cron, every 15 minutes • Hosting: Streamlit Community Cloud
I wanted the design to feel like mine instead of a generic finance template — raspberry pink for the frame against warm white, but the charts stay neutral teal and slate. Enough personality to be memorable, not so much it undercuts the “this person builds real tools” read.
Challenges we ran into
I’d never used Git before this project. Installing it, learning init/commit/push, actually getting comfortable pushing to GitHub — all of that happened mid-build, not before it.
The GitHub Actions cron was also slower to start firing than expected on a fresh repo, so my historical data was thin for the first stretch. Instead of waiting it out, I reworked the dashboard to fetch live on every load. The site is never stale — history just fills in underneath once the schedule catches up.
Accomplishments that we're proud of
Going from an abandoned terminal script to a deployed, live site with real users able to check it right now. Building a genuine analytical hook — the NGN Premium — instead of just another price tracker that mirrors CoinGecko. And learning an entire Git workflow from zero, under time pressure, without it derailing the project.
What we learned
The interesting part of a data project usually isn’t the API call or the chart. It’s the one metric that makes someone stop and go “wait, that’s real?” The NGN Premium did that before I’d even finished building. I also learned that shipping something imperfect and live beats sitting on a polished thing that never leaves your laptop.
What's next for Naira Crypto pulse
More history behind the charts as the cron keeps accumulating snapshots. I’m also thinking about premium alerts — a notification when the NGN gap crosses a threshold, so the tool goes from something you check to something that checks on you.
Log in or sign up for Devpost to join the conversation.