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.
- 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
- 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
- NIFTY 50
- SENSEX
- India VIX
- Live price changes and compact market charts
- Story detail panel
- Watchlist support
- Search interface
- Category filtering
- Original-source navigation
- Live status indicators
- Dense information layout designed for rapid scanning
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.
app/
├── api/
│ └── news/
├── components/
│ └── StoryDetail.tsx
├── types/
│ └── news.ts
└── utils/
└── api.ts
public/
services/
docs/
└── india-squawk-terminal.png
Each article follows a lightweight pipeline:
- Fetch recent articles from configured sources.
- Filter invalid, duplicate, or navigation-style results.
- Clean extracted article text.
- Generate immediate keyword-based categories.
- Return the article to the terminal without waiting for AI.
- Run AI analysis in the background.
- Cache the generated summary and key numbers.
- Use the enriched result on subsequent requests.
This keeps the terminal responsive while retaining richer AI-generated analysis.
| 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 |
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
Install dependencies:
npm installRun the development server:
npm run devThen open:
http://localhost:3000
Build for production:
npm run buildRun the production server:
npm start- Next.js
- TypeScript
- React
- Tailwind CSS
- Exa for web/news retrieval
- AI-powered article analysis
- Yahoo Finance market data
- Lucide icons
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.
