Skip to content

Repository files navigation

Squawk

A real-time financial news terminal focused on Indian and global markets.

Squawk is a market-news terminal designed to turn high-volume financial news into a fast, structured workflow for traders and market participants.

It combines multi-source news ingestion, deterministic keyword classification, background AI summarization, market snapshots, article-level key numbers, watchlists, and a terminal-style reader interface.

Terminal

IndiaSquawk Terminal

Features

News terminal

  • Multi-source financial news aggregation
  • Chronological top-stories feed
  • Source attribution and direct links to original articles
  • Fast initial rendering without waiting for AI enrichment
  • Background AI analysis that progressively improves each article

Intelligent article analysis

  • AI-generated market-focused summaries
  • Key numerical facts extracted from source material
  • Deterministic keyword-based categorization for fast classification
  • Categories including:
    • Commodities
    • Corporate Actions
    • Earnings
    • Global
    • IPO
    • Macro
    • Rates
    • Real Estate
    • Tech
  • Cached analysis to avoid repeatedly processing the same article

Market snapshot

  • NIFTY 50
  • SENSEX
  • India VIX
  • Live price changes and compact market charts

Terminal workflow

  • Story detail panel
  • Watchlist support
  • Search interface
  • Category filtering
  • Original-source navigation
  • Live status indicators
  • Dense information layout designed for rapid scanning

Architecture

News Sources
     │
     ▼
   Exa Search
     │
     ▼
Article Validation & Cleaning
     │
     ├──────────────► Keyword Classification
     │                       │
     │                       ▼
     │                Immediate Feed
     │
     └──────────────► Background AI Analysis
                             │
                             ▼
                    Summary + Key Numbers
                             │
                             ▼
                           Cache

The important design principle is that AI analysis is not on the critical path of the initial news response.

Articles can therefore appear quickly with a deterministic classification and interim article excerpt while the AI analysis runs in the background. Once analysis is available, the cached result can be used by subsequent requests.

Project Structure

app/
├── api/
│   └── news/
├── components/
│   └── StoryDetail.tsx
├── types/
│   └── news.ts
└── utils/
    └── api.ts

public/
services/
docs/
└── india-squawk-terminal.png

Article Processing

Each article follows a lightweight pipeline:

  1. Fetch recent articles from configured sources.
  2. Filter invalid, duplicate, or navigation-style results.
  3. Clean extracted article text.
  4. Generate immediate keyword-based categories.
  5. Return the article to the terminal without waiting for AI.
  6. Run AI analysis in the background.
  7. Cache the generated summary and key numbers.
  8. Use the enriched result on subsequent requests.

This keeps the terminal responsive while retaining richer AI-generated analysis.

Categories

Category Coverage
Commodities Oil, gold, metals and agricultural commodities
Corporate Actions M&A, buybacks, restructuring, leadership and business strategy
Earnings Company quarterly and annual results
Global International markets and economic developments
IPO IPOs, listings, subscriptions and allotments
Macro GDP, inflation, PMI, employment, trade and broad policy
Rates Central-bank policy, repo rates, interest rates and bond yields
Real Estate Property markets, developers, REITs and housing
Tech Technology, AI, software, semiconductors and internet platforms

Performance Philosophy

Squawk is designed around a simple principle:

The terminal should never make the trader wait for analysis that can happen after the information is already useful.

News retrieval, classification, and rendering are therefore separated from slower AI enrichment.

This allows the system to:

  • Render useful information quickly
  • Avoid blocking the entire feed on individual AI calls
  • Reuse cached analysis
  • Continue enriching articles after initial retrieval
  • Degrade gracefully when an AI request fails

Local Development

Install dependencies:

npm install

Run the development server:

npm run dev

Then open:

http://localhost:3000

Build for production:

npm run build

Run the production server:

npm start

Tech Stack

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • Exa for web/news retrieval
  • AI-powered article analysis
  • Yahoo Finance market data
  • Lucide icons

Credits

Squawk uses:

  • OpenAI / GPT for AI-powered article summarization and analysis.
  • Exa Labs / Exa for financial news and web-content retrieval.

The project is built on top of these services for its news intelligence and enrichment pipeline.

About

Real-time financial news terminal for Indian and global markets, powered by Exa and GPT.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages