CompanyIntel AI - Devpost Submission

Inspiration

In today's fast-paced business world, investors, researchers, and analysts spend hours manually gathering company intelligence from scattered sources—reading news articles, analyzing competitors, extracting API documentation, and piecing together market sentiment. We envisioned an autonomous AI system that could orchestrate multiple specialized agents to do this work in minutes, not hours. The rise of powerful AI APIs like Yutori, Tavily, and OpenAI made this vision possible, and the Autonomous Agents Hackathon 2026 was the perfect catalyst to bring it to life.

What it does

CompanyIntel AI is an autonomous multi-agent orchestration platform that delivers comprehensive company intelligence through six specialized AI services working in concert:

🔍 Research Agent (Yutori) - Conducts deep research to extract company overviews, founding information, headquarters, employee counts, mission statements, and industry classifications.

🌐 Browsing Agent (Yutori) - Autonomously navigates company websites to extract API documentation, product catalogs, SDK information, and pricing structures.

🏆 Competitor Agent (Tavily) - Searches the web to identify direct and indirect competitors, analyzes market positioning, and calculates market overlap percentages.

📰 Sentiment Agent (Tavily + OpenAI) - Aggregates recent news articles and uses GPT-3.5-turbo to perform sentiment analysis, generating sentiment scores, timelines, and topic extraction.

💰 Financial Agent (Alpha Vantage) - Gathers financial data for public companies including stock prices, market cap, funding rounds, and valuation estimates.

🕸️ Graph Agent (Neo4j) - Builds a knowledge graph connecting companies, products, competitors, technologies, and leadership for visual relationship mapping.

The system features real-time WebSocket progress updates, intelligent async caching that transforms 5-10 minute research tasks into instant responses, and a beautiful Material-UI dashboard that visualizes all insights across multiple tabs.

How we built it

Backend Architecture (FastAPI + Python)

  • Built a central orchestrator that coordinates 6 autonomous services in parallel
  • Implemented smart async caching with Redis that checks cache first, polls existing tasks, and runs background polling for new tasks
  • Integrated Yutori Research API with 5-minute polling timeout and automatic result caching
  • Connected Tavily Search API for real-time news and competitor intelligence
  • Integrated OpenAI GPT-3.5-turbo for sentiment analysis with JSON parsing and fallback handling
  • Used Neo4j graph database for relationship mapping and knowledge graph storage
  • Implemented WebSocket connections for real-time progress streaming to frontend
  • Added comprehensive error handling with auto-reconnect logic for Redis connection resets

Frontend (React + TypeScript + Material-UI)

  • Built a responsive dashboard with tabbed interface for Overview, Market Intelligence, and API Documentation
  • Implemented real-time progress tracking with WebSocket connections
  • Created interactive data visualizations for sentiment timelines, competitor analysis, and product catalogs
  • Designed clean, professional UI with Material-UI components and custom styling

Infrastructure

  • Deployed Redis on Render (100MB Key Value instance) for distributed caching
  • Connected to cloud Neo4j for graph database storage
  • Configured IP allowlisting and secure connections for all external services
  • Set up automated background polling with fire-and-forget async tasks

Development Process

  • Started with comprehensive design document outlining all services and data models
  • Built MVP with mock data to validate architecture
  • Systematically replaced all mock data with real API integrations
  • Implemented smart caching to handle Yutori's 5-10 minute research latency
  • Added robust error handling for API failures and connection issues
  • Tested end-to-end with real companies (Tesla, Stripe, OpenAI)

Challenges we ran into

1. Yutori Research Latency (5-10 minutes) The biggest challenge was Yutori's research API taking 5-10 minutes to complete tasks. Initially, this blocked the entire analysis pipeline. We solved this by implementing smart async caching: create the task, start background polling (fire-and-forget), return immediately to the user, and cache results when complete. Subsequent requests return instantly from cache.

2. Yutori Browsing API Validation Errors (422) The Yutori Browsing API consistently returned 422 validation errors, indicating incorrect request format. Rather than blocking the entire pipeline, we implemented graceful degradation—the service returns an empty structure with a note, allowing the analysis to continue without API documentation.

3. Redis Connection Resets Render's Redis would occasionally reset connections with "Connection reset by peer" errors. We added auto-reconnect logic that catches connection errors, reconnects to Redis, and retries the operation, ensuring cache operations never crash the application.

4. Git Security - Exposed API Keys During initial commit, GitHub's push protection blocked our push because we accidentally included real API keys in deployment documentation. We had to clean git history, squash commits, and replace all keys with placeholders before successfully pushing.

5. Async Background Polling Implementing fire-and-forget background polling in FastAPI required careful handling of asyncio tasks. We used asyncio.create_task() to spawn background workers that poll Yutori tasks independently, cache results when complete, and clean up task IDs—all without blocking the main request.

6. OpenAI JSON Parsing OpenAI sometimes returns JSON wrapped in markdown code blocks (json...), breaking our parser. We added preprocessing to strip markdown formatting and implemented fallback logic to return basic sentiment data if JSON parsing fails.

Accomplishments that we're proud of

Zero Mock Data - Removed all 400+ lines of mock data and implemented 100% real API integrations across all services

Smart Async Caching - Built an intelligent caching system that transforms 5-10 minute research tasks into instant responses on subsequent requests

Multi-Agent Orchestration - Successfully coordinated 6 autonomous AI agents (Yutori, Tavily, OpenAI, Neo4j, Redis, Alpha Vantage) working in parallel

Real-Time Progress Tracking - Implemented WebSocket streaming for live progress updates during analysis

Production-Ready Error Handling - Added comprehensive error handling with auto-reconnect, graceful degradation, and fallback mechanisms

Beautiful UI/UX - Created a professional, responsive dashboard with Material-UI that makes complex data easy to understand

Complete Documentation - Wrote extensive deployment guides, API integration docs, and troubleshooting resources

Successful Real-World Testing - Cached and analyzed real companies (Tesla, Stripe) with actual Yutori research results

What we learned

1. Async Architecture is Essential for AI Orchestration Coordinating multiple AI agents with varying latencies (2 seconds to 10 minutes) requires sophisticated async patterns. We learned to use background tasks, fire-and-forget polling, and smart caching to keep the system responsive.

2. Caching Strategy Makes or Breaks User Experience With Yutori taking 5-10 minutes, caching isn't optional—it's critical. We learned to implement multi-layer caching: check cache first, check pending tasks, create new tasks with background polling, and auto-cache results.

3. Error Handling is More Important Than Happy Path Real-world APIs fail in unexpected ways (422 errors, connection resets, JSON parsing issues). We learned to handle errors gracefully, implement retries, and provide fallbacks rather than crashing the entire pipeline.

4. Real APIs Behave Differently Than Mocks Mock data always works perfectly. Real APIs have latency, rate limits, validation errors, and connection issues. Testing with real APIs early revealed problems we never anticipated with mocks.

5. Git Security Matters GitHub's push protection saved us from exposing API keys publicly. We learned to use placeholders in documentation, properly configure .gitignore, and clean git history when mistakes happen.

6. Documentation is as Important as Code With 6 different APIs and complex deployment requirements, comprehensive documentation was essential. We created deployment guides, API integration docs, and troubleshooting resources that made the system usable.

What's next for CompanyIntel AI

🚀 Enhanced Data Parsing Implement NLP-based parsing for Yutori research results to extract structured data (founding year, employee count, headquarters) from HTML content instead of returning raw text.

🔔 Webhook Integration Replace polling with Yutori webhooks for instant notifications when research tasks complete, reducing latency and API calls.

📊 Advanced Analytics Add trend analysis, competitive positioning matrices, and predictive insights using historical data and machine learning.

🌍 Multi-Company Comparison Enable side-by-side comparison of multiple companies with visual diff highlighting and competitive benchmarking.

🔐 User Authentication & Saved Searches Implement user accounts, saved searches, and personalized dashboards for tracking favorite companies.

💼 Enterprise Features Add team collaboration, API access for programmatic queries, and custom report generation for enterprise customers.

🎯 Industry-Specific Intelligence Create specialized analysis modules for different industries (fintech, healthcare, SaaS) with industry-specific metrics and insights.

🤖 Autonomous Monitoring Implement continuous monitoring that automatically re-analyzes companies when significant news breaks or market conditions change.

📱 Mobile App Build native iOS/Android apps for on-the-go company intelligence with push notifications for updates.

🌐 Global Expansion Add multi-language support and region-specific data sources for international company analysis.


Built with: FastAPI, React, TypeScript, Material-UI, Redis, Neo4j, Yutori API, Tavily API, OpenAI GPT-3.5, Alpha Vantage, WebSockets

GitHub: https://github.com/maxxie114/companyintel-ai

Demo:https://companyintel-frontend.onrender.com/

Built With

Share this project:

Updates