Skip to content
/ tremor Public

Real-time detection of significant market movements across prediction markets. Community-maintained, transparent, and self-hostable.

License

Notifications You must be signed in to change notification settings

solyasa/tremor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŒŠ TREMOR.LIVE

Open-source prediction market monitoring

Real-time detection of significant market movements across prediction markets. Community-maintained, transparent, and self-hostable.

Live Demo Status License

๐ŸŽฏ What is TREMOR?

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

Features

  • 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

๐Ÿš€ Quick Start

# 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:3000

๐Ÿ“Š How It Works

The Data Pipeline

graph 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
Loading

Intelligent Monitoring

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

The Scoring Algorithm (v2)

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

๐Ÿ—๏ธ Architecture Highlights

Tech Stack

  • Frontend: Next.js 15 + React 19 + TypeScript
  • Backend: Convex (reactive database + serverless)
  • Styling: Tailwind CSS
  • Data Source: Polymarket Gamma API
  • Deployment: Vercel

Key Features

  • โšก 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

๐Ÿ“ Project Structure

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

๐ŸŽฎ v0 Status & Roadmap

Current Status (v0.1-alpha)

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

Next Steps (v0.2)

  • Kalshi Integration - Monitor both Polymarket and Kalshi
  • Notifications - Get alerts for major movements
  • API Access - Developer endpoints for market data

๐Ÿค Contributing

We're building in public! Contributions welcome:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. TEST YOUR CODE LOCALLY (mandatory - see below)
  4. Commit changes (git commit -m 'Add AmazingFeature')
  5. Push to branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

โš ๏ธ Important: Test Before You Submit

We do not accept untested code. AI-assisted coding is fine, but:

  • โœ… Test everything locally first
  • โœ… Ensure pnpm build passes
  • โœ… 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.

๐Ÿ“– Documentation

๐Ÿ“Š Live Stats

Currently monitoring:

  • ~500 active prediction markets
  • Processing ~50k price snapshots daily
  • Computing ~1.4k intensity scores daily
  • Serving real-time updates to all users

๐Ÿ™ Acknowledgments

Built with:

  • Polymarket for market data
  • Convex for the reactive backend
  • Vercel for deployment
  • Coffee โ˜• and late nights ๐ŸŒ™

๐Ÿ“ License

MIT - see LICENSE file for details


tremor-swart.vercel.app | Built with ๐ŸŒŠ by the Solyasa

Detecting market earthquakes before they make headlines.

About

Real-time detection of significant market movements across prediction markets. Community-maintained, transparent, and self-hostable.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published