Inspiration

We had the opportunity to use the Bloomberg terminals with Associate Dean Dr. Clark, where despite his decades of financial knowledge was just as bad as we were at using the terminals. For these machines to be effective learning tools, they need a massive UI redesign. The complex keyboard shortcuts, overwhelming interface, and steep learning curve made accessing critical financial data unnecessarily difficult. We realized that the power of Bloomberg's data shouldn't be locked behind such a cumbersome interface. Our inspiration came from watching brilliant financial minds struggle with basic navigation - if experts can't use it efficiently, how can students and newcomers ever hope to leverage this incredible resource?

What it does

Our tool simplifies the Bloomberg experience into 3 core features:

  1. Natural Language Stat Lookup: Instead of memorizing obscure commands like "DES AAPL", users can simply ask "What's Apple's current P/E ratio?" or "Show me Microsoft's revenue growth"
  2. Intelligent Chart Generation: Transform complex charting commands into simple requests like "Compare NVDA and AMD stock performance over the last year" or "Show me Tesla's trading volume patterns"
  3. Real-time Sentiment Analysis: Combine market data with AI to provide sentiment scores and confidence intervals for any stock or asset We combine custom-trained NLU models, LLMs for query understanding, and the Bloomberg API to deliver institutional-grade financial data through an intuitive, conversational interface accessible via Discord and iMessage.

How we built it

Architecture Overview: Frontend: Discord bot with iMessage integration using Node.js and Discord.js Natural Language Processing: Custom fine-tuned transformer model trained on financial terminology and Bloomberg commands Backend Services: Flask API serving our ML models and handling Bloomberg API integration Data Pipeline: Real-time market data from Yahoo Finance API with fallback to MarketAux and custom sentiment analysis Communication Layer: iMessage integration for mobile access using iMessageKit Caching System: Redis for frequent queries with 15-minute TTL to manage API rate limits

Technical Stack: ML Training: PyTorch with Hugging Face transformers, fine-tuned on financial corpus APIs: Bloomberg Terminal Emulator, Yahoo Finance, MarketAux, Hugging Face Infrastructure: Docker containerization, Redis caching, WebSocket real-time updates Mobile: iMessage SDK for seamless phone integration

Challenges we ran into

  1. Rasa was a terrible choice for NLU - The predefined intent structure couldn't handle the complexity of financial queries, leading us to train our own foundation model from scratch
  2. Bloomberg Terminal access limitations - Limited physical access to terminals required building robust fallback systems using Yahoo Finance and MarketAux APIs
  3. Real-time data synchronization - Ensuring consistent data flow between Discord, iMessage, and our backend services while maintaining low latency
  4. Model training data scarcity - Limited labeled financial query data required creative data augmentation and transfer learning techniques
  5. iMessage API limitations - Working around Apple's restrictive iMessage ecosystem to enable reliable message forwarding

Accomplishments that we're proud of

  1. End-to-end ML pipeline - Built a complete system from data collection to model deployment in production
  2. First successful model fine-tuning - Custom-trained transformer model that outperformed off-the-shelf solutions for financial queries
  3. Multi-platform integration - Seamlessly connected Discord, iMessage, and web interfaces with consistent user experience
  4. Real-time sentiment engine - Developed proprietary sentiment analysis combining multiple data sources with confidence scoring
  5. Production-ready deployment - Containerized application with proper logging, monitoring, and error handling

What we learned

  1. ML in production requires robust infrastructure - Model serving, version control, and monitoring are as important as the models themselves
  2. Flask for scalable backend development - Building RESTful APIs that can handle concurrent real-time financial data requests
  3. Financial data normalization - Different APIs return data in varied formats requiring sophisticated data cleaning pipelines
  4. User experience design for financial tools - Balancing simplicity with the depth required by financial professionals
  5. Real-time system architecture - WebSocket management, connection pooling, and graceful degradation under load
  6. Cross-platform messaging protocols - Understanding the nuances of Discord's API vs iMessage's restrictions

What's next for Bloomy

  1. Expanded Data Sources - Integrate with SEC EDGAR, FRED, and additional financial data providers
  2. Advanced Charting Features - Technical indicators, comparative analysis, and custom visualization tools
  3. Portfolio Integration - Connect with brokerage APIs for real portfolio management and alerts
  4. Educational Mode - Tutorial system that teaches Bloomberg commands through natural language interaction
  5. Predictive Analytics - Machine learning models for price prediction and trend analysis
  6. Mobile App Development - Native iOS and Android applications beyond iMessage integration
  7. API Marketplace - Allow third-party developers to build extensions and custom integrations

Our vision is to democratize access to professional financial tools while maintaining the depth and accuracy that institutions rely on, making advanced financial analysis accessible to students, individual investors, and professionals alike.

Built With

Share this project:

Updates