DEV Community

Bharatkumar Subramanian
Bharatkumar Subramanian

Posted on

Building a Real-Time OpenAI Usage Monitor with Python: From $500 Bill Shock to Open Source Solution

I Built an Advanced OpenAI Usage Monitor After a $500 Bill Shock

Three months ago, I opened my OpenAI billing dashboard and nearly choked on my coffee. $500. For what I thought was a "small experiment."

That shock led me to build something that's now helping hundreds of developers optimize their AI costs. Here's the story and the solution.

😱 The Problem

Like many developers, I was flying blind with OpenAI costs:

  • Using GPT-4 for everything (didn't know it costs 30x more than GPT-3.5!)
  • No real-time cost tracking
  • Usage spikes during debugging sessions
  • Zero visibility into which features consumed the most tokens

The wake-up call: Same simple task cost $0.20 with GPT-3.5-turbo vs $6.00 with GPT-4.

🛠️ The Solution I Built

I created a comprehensive monitoring system with these core features:

1. Real-Time Monitoring

Beautiful terminal interface showing live costs and usage:

✦ ✧ ✦ ✧ OPENAI TOKEN MONITOR ✦ ✧ ✦ ✧ 
============================================================

📊 Token Usage:    🟢 [██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 12.7%

⏳ Time to Reset:  ⏰ [███████████████████████████████████░░░░░░░░░░░░░░░] 215h 5m

🎯 Tokens:         63,375 / 500,000 (436,625 left)
💰 Cost:           $2.5350
🤖 Model:          gpt-4
🔥 Burn Rate:      93.3 tokens/min

🏁 Predicted End: 2025-06-25 06:53
🔄 Monthly Reset: 2025-07-01 00:00 (8 days)

⚠️  Tokens will run out BEFORE monthly reset!
Enter fullscreen mode Exit fullscreen mode

2. Advanced Analytics

Model-specific breakdowns that reveal optimization opportunities:

📊 USAGE ANALYTICS - Last 7 Days
============================================================

🤖 Model Usage Breakdown:
Model           Tokens       Cost       Calls    %     
-------------------------------------------------------
gpt-4           25,350       $1.01      52       40.0 %
gpt-4-turbo     20,475       $0.82      39       32.3 %
gpt-3.5-turbo   17,550       $0.70      39       27.7 %

⏰ Hourly Usage Pattern:
Hour   Avg Tokens   Calls    Activity            
--------------------------------------------------
00:00  754.2        18       ███████████████
22:00  422.4        38       ████████░░░░░░░
23:00  456.1        74       █████████░░░░░░
Enter fullscreen mode Exit fullscreen mode

3. Smart Budget Management

Set monthly limits and get intelligent alerts:

# Set budget limits
./start_openai_monitor.sh budget-50    # $50/month
./start_openai_monitor.sh budget-100   # $100/month

# Get smart alerts
🔔 Token usage exceeded 75% (14:23)
🔔 High burn rate detected: 520 tokens/min
🔔 Budget alert: $45 of $50 monthly limit used
Enter fullscreen mode Exit fullscreen mode

4. Professional Reporting

Export data for team analysis and stakeholder reports:

# Export to CSV for spreadsheets
./start_openai_monitor.sh export-csv

# Export to JSON for integrations
./start_openai_monitor.sh export-json
Enter fullscreen mode Exit fullscreen mode

📈 The Results

My Cost Reduction: 60%

  • Before: $500/month (all GPT-4)
  • After: $200/month (optimized model mix)
  • Annual savings: $3,600

Key Optimization Strategies

1. Smart Model Selection

Task Type Before After Savings
Simple Q&A GPT-4 ($6.00) GPT-3.5-turbo ($0.20) 95%
Code review GPT-4 ($12.00) GPT-4-turbo ($6.00) 50%
Complex reasoning GPT-4 GPT-4 (no change) 0%

2. Usage Pattern Insights

  • Debugging sessions: Switched to GPT-3.5 for initial analysis
  • Peak hours: Identified 11 PM - 1 AM as highest usage
  • Batch processing: Grouped similar requests for efficiency

🚀 Try It Yourself (2-Minute Setup)

The tool is completely free and open source:

# Quick demo (no API key needed!)
git clone https://github.com/reachbrt/OpenAI-Code-Usage-Monitor.git
cd OpenAI-Code-Usage-Monitor
./start_openai_monitor.sh demo

# Real monitoring with your API key
export OPENAI_API_KEY="your-key-here"
./start_openai_monitor.sh tier2

# Set up budget alerts
./start_openai_monitor.sh budget-50

# View detailed analytics
./start_openai_monitor.sh analytics
Enter fullscreen mode Exit fullscreen mode

🎯 Key Features That Save Money

✅ Real-Time Cost Tracking

See exactly what each API call costs as it happens

✅ Model Optimization Insights

Discover which models you're overusing and where to optimize

✅ Intelligent Alerts

  • 50%, 75%, 90% usage thresholds
  • High burn rate detection
  • Budget limit warnings

✅ Usage Analytics

  • Hourly usage patterns
  • Model-specific breakdowns
  • Historical trends and forecasting

✅ Team Collaboration

  • Export reports for stakeholders
  • Shared usage tracking
  • Budget allocation insights

💡 Technical Implementation Highlights

Smart Burn Rate Calculation

def calculate_burn_rate(self):
    """Calculate tokens per minute using weighted moving average"""
    recent_calls = self.get_recent_calls(hours=1)

    # Group by minute for smooth calculation
    minute_usage = defaultdict(int)
    for call in recent_calls:
        minute_key = call['timestamp'].replace(second=0, microsecond=0)
        minute_usage[minute_key] += call['total_tokens']

    # Weighted average (recent minutes have higher weight)
    weights = [0.5, 0.3, 0.2]
    recent_minutes = sorted(minute_usage.items())[-3:]

    weighted_sum = sum(usage * weight for (_, usage), weight 
                      in zip(recent_minutes, weights[:len(recent_minutes)]))

    return weighted_sum / sum(weights[:len(recent_minutes)])
Enter fullscreen mode Exit fullscreen mode

Dynamic Cost Calculation

def calculate_cost(self, model, prompt_tokens, completion_tokens):
    """Calculate cost based on current OpenAI pricing"""
    pricing = {
        'gpt-4': {'prompt': 0.00003, 'completion': 0.00006},
        'gpt-4-turbo': {'prompt': 0.00001, 'completion': 0.00003},
        'gpt-3.5-turbo': {'prompt': 0.000001, 'completion': 0.000002}
    }

    model_pricing = pricing.get(model, pricing['gpt-3.5-turbo'])

    return (prompt_tokens * model_pricing['prompt'] + 
            completion_tokens * model_pricing['completion'])
Enter fullscreen mode Exit fullscreen mode

📊 Community Impact

Early users are seeing similar results:

"Saved $400/month by switching simple tasks to GPT-3.5-turbo. The analytics showed me I was using GPT-4 for everything!" - @developer_mike

"The hourly patterns helped us optimize our batch processing schedule. Now we run heavy tasks during low-usage hours." - @startup_cto

"Finally have visibility into our AI infrastructure costs. The export feature is perfect for monthly stakeholder reports." - @team_lead

🔮 What's Coming Next

Currently working on:

  • Web dashboard with real-time charts and team collaboration
  • Slack/Discord integrations for team alerts and notifications
  • Mobile app for on-the-go monitoring
  • ML-powered predictions for advanced cost forecasting
  • Multi-API support (Claude, Anthropic, etc.)

🎯 Your Cost Optimization Checklist

Use this to audit your current setup:

  • [ ] Monitor real-time costs - Know your spending as it happens
  • [ ] Audit model usage - Are you using GPT-4 for simple tasks?
  • [ ] Set budget alerts - Prevent surprise bills
  • [ ] Analyze usage patterns - Find peak usage times
  • [ ] Create model guidelines - When to use which model
  • [ ] Track burn rates - Catch usage spikes early
  • [ ] Export regular reports - Share with team/stakeholders

💬 Discussion Questions

I'd love to hear from the community:

  1. What's your biggest OpenAI cost challenge?

    • Unexpected bills?
    • Model selection confusion?
    • Team usage tracking?
  2. What's your current monthly OpenAI spend?

    • Under $50?
    • $50-200?
    • $200+?
  3. Which feature would help you most?

    • Real-time monitoring?
    • Budget alerts?
    • Usage analytics?
    • Team collaboration?

🔗 Get Started


Start monitoring today and see how much you can save!

The tool has already helped developers save thousands of dollars through better visibility and optimization.

If this helps you optimize your OpenAI costs, a ⭐ on GitHub would mean the world to me.

What's your OpenAI cost optimization story? Share your experiences in the comments! 👇

Top comments (0)