A couple of months ago, I repurposed an old Twitter account into a new one called @naira_daily. It’s an automated account that tweets the Nigerian Naira mid-market exchange rates compared to popular currencies like the US Dollar (USD), Great British Pound (GBP), Canadian Dollar (CAD), European Euro (EUR), and others. The account has grown from just 100 followers to over 12,000, generating nearly 2 million impressions within a few months.

But why is this kind of content so popular, and why do Nigerians care about daily currency changes?
Why People Care About the Daily Exchange Rate
- Frequent Devaluation: The Naira has experienced significant devaluation over the decades, making daily monitoring essential for businesses and individuals.
- Oil Dependency: Nigeria’s economy relies heavily on oil revenue, which makes the currency volatile when global oil prices fluctuate.
- Inflation Concerns: With inflation rates often in double digits, real purchasing power can shift quickly, so people want up-to-date exchange information.
- Policy Changes: Government policies like removing currency controls or adjusting interest rates can cause sudden shifts in the exchange rate.
Why Automate Tweets?
The experiment: Can minor improvements to an existing solution make a major impact?
A couple of popular Twitter accounts already post daily exchange rates, often in a simple format (e.g., “1 USD = ₦1,600; 1 GBP = ₦2,000”), yet these accounts attract thousands or even millions of views.
Seeing an opportunity to improve what already existed, I decided to:
- Provide more engaging updates by comparing day-to-day movements.
- Include additional currencies.
- Post more frequently (twice a day).
Planning and Strategy
- Posting Schedule:
- 11 AM: A detailed summary of the exchange rates, including day-to-day changes (e.g., “USD is up by ₦10 compared to this time yesterday”).
- 6 PM: A concise overview of the core currencies, giving an evening snapshot and expectations for the next day.
- Core Currencies:
- USD, GBP, EUR, CAD as they are the most traded against the Naira.
- AUD, JPY, KWD, and CNY added over time based on follower requests.
- Engagement Tactics:
- Polls to decide posting frequency and which additional currencies to track.
- Thread format to include secondary currencies so the main tweet remains concise.

These small but meaningful changes helped the account quickly gain traction and spark conversations among Nigerians and the diaspora looking to stay updated on currency movements.
Tools and Automation Setup
A robust automation setup ensures consistency, accuracy, and minimal manual intervention. Here’s how I did it:
1. Twitter API
- Developer Account: Sign up for a Twitter developer account to obtain API keys and tokens.
- API Endpoints: Use Twitter’s v2 or v1.1 endpoints to authenticate and post tweets.
- Libraries: Depending on your preferred language (Python, Node.js, etc.), popular libraries like
tweepy(Python) ortwitter-lite(Node.js) can simplify interactions with the API.
2. Finance API (or Web Scraping)
- Data Source: A reputable finance API or web scraping for real-time exchange rates.
- Data Format: Typically JSON, e.g.:
{
"rate": 1.166,
"source": "EUR",
"target": "USD",
"time": "2018-08-31T10:43:31+0000"
}
- Request Handling: Ensure you manage requests within your API’s rate limits to avoid being blocked or throttled.
3. Data Processing & Formatting
- Fetch & Parse: Create a script (Python, JavaScript, etc.) that makes an HTTP request to the finance API.
- Calculate Changes: Compare the current rate with the previous day’s rate to show “+/-” differences.
- Compose the Tweet: Format text to include:
- Exchange rate values (e.g., “1 USD = ₦1,600”).
- Daily difference (e.g., “USD is up by ₦10 from yesterday”).
4. Cron Job (Scheduling)
- Cron Setup: Use
crontab(on Linux/Mac) or a scheduling service (e.g., GitHub Actions, Heroku Scheduler) to run your script at 11 AM and 6 PM WAT daily. Vercel offers a free tier but limited to a daily cronjob, I used a $5 DigitalOcean droplet. - Example cron entry for 11 AM WAT (which is 10 AM UTC if WAT is UTC+1):
0 10 * * *
- Minute (
0) → The task runs at the 0th minute (i.e., at the start of the hour). - Hour (
10) → The task runs at 10:00 AM. - Day/Month/Week (
*) → Runs every day.
Adjust for time zones and daylight savings if needed.
Results and Milestones
- Increased Engagement: Users loved the detailed reporting style and the day-to-day comparison.
- Follower Growth: The account jumped from 100 followers to over 12,000 in just a few months.
- High Impressions: Almost 2 million impressions for tweets, proving that small improvements can lead to substantial engagement.
- Community Feedback: A poll revealed that twice-daily updates