Open-source prediction market monitoring
Real-time detection of significant market movements across prediction markets. Community-maintained, transparent, and self-hostable.
TREMOR monitors ~500 active prediction markets on Polymarket, detecting significant price movements in real-time. Each movement is scored on a 0-10 intensity scale:
- ๐ด EXTREME (7.5+): Major market movements
- ๐ HIGH (5.0-7.5): Significant activity
- ๐ก MODERATE (2.5-5.0): Notable changes
- โช LOW (0-2.5): Minor fluctuations
- Real-time monitoring of prediction markets
- Intensity scoring based on price movement and volume
- Multi-timeframe analysis (5min/1hr/24hr)
- Open-source and self-hostable
- Community-driven development
# Clone the repository
git clone https://github.com/solyasa/tremor.git
cd tremor
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Add your Convex deployment URL
# Run development server
pnpm dev
# Open http://localhost:3000graph LR
A[Polymarket API] -->|Raw Data| B[Convex Backend]
B -->|Process| C[Price Snapshots]
C -->|Analyze| D[Intensity Scoring]
D -->|Stream| E[Real-time UI]
B -->|AI Analysis| F[Market Context]
F --> E
TREMOR doesn't treat all markets equally:
| Market Type | Volume | Sync Frequency | Why |
|---|---|---|---|
| ๐ฅ HOT | >$50k daily | Every 15 seconds | Where the action is |
| ๐ก๏ธ WARM | $5k-50k | Every minute | Active but stable |
| โ๏ธ COLD | <$5k | Every 5 minutes | Low activity markets |
Our intensity scoring maps price changes to seismic-like measurements:
Price Change โ Intensity Score
1pp โ 1.0 (barely felt)
5pp โ 5.0 (moderate shake)
10pp โ 7.5 (significant event)
20pp โ 10.0 (maximum intensity)
With smart volume filtering:
- <$1,000 volume: No score (too small to matter)
- $1,000-10,000: Gradual amplification
-
$10,000: Full intensity scoring
- Frontend: Next.js 15 + React 19 + TypeScript
- Backend: Convex (reactive database + serverless)
- Styling: Tailwind CSS
- Data Source: Polymarket Gamma API
- Deployment: Vercel
- โก Real-time updates via reactive queries
- ๐ Multi-timeframe analysis (5min/1hr/24hr)
- ๐ค AI-powered market explanations
- ๐ฑ Responsive design for all devices
- ๐ Automatic data retention management
- ๐ ~50k daily price snapshots processed
tremor/
โโโ app/ # Next.js app router
โ โโโ components/ # React components
โ โ โโโ Header.tsx # Navigation
โ โ โโโ Sidebar.tsx # Filters & controls
โ โ โโโ TremorCard.tsx # Market cards
โ โ โโโ ...
โ โโโ page.tsx # Main dashboard
โโโ convex/ # Backend logic
โ โโโ events.ts # Event management
โ โโโ markets.ts # Market operations
โ โโโ scores.ts # Intensity calculations
โ โโโ crons.ts # Scheduled tasks
โโโ docs/ # Documentation
โโโ lib/ # Utilities
This is an early alpha release. We're live and processing real data, but expect:
- Occasional quirks in scoring edge cases
- UI polish opportunities
- Feature gaps we're actively filling
- Kalshi Integration - Monitor both Polymarket and Kalshi
- Notifications - Get alerts for major movements
- API Access - Developer endpoints for market data
We're building in public! Contributions welcome:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - TEST YOUR CODE LOCALLY (mandatory - see below)
- Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
We do not accept untested code. AI-assisted coding is fine, but:
- โ Test everything locally first
- โ
Ensure
pnpm buildpasses - โ Verify the app works
- โ Don't submit AI-generated code without testing
- โ Don't assume it works because "it looks right"
PRs with untested code will be closed immediately. See CONTRIBUTING.md for full guidelines.
- Deployment Guide - Get it running in production
- Architecture - Technical deep dive
- Scoring Algorithm - How intensity is calculated
- API Reference - Convex function documentation
- Roadmap - Where we're heading
Currently monitoring:
- ~500 active prediction markets
- Processing ~50k price snapshots daily
- Computing ~1.4k intensity scores daily
- Serving real-time updates to all users
Built with:
- Polymarket for market data
- Convex for the reactive backend
- Vercel for deployment
- Coffee โ and late nights ๐
MIT - see LICENSE file for details
tremor-swart.vercel.app | Built with ๐ by the Solyasa
Detecting market earthquakes before they make headlines.