🎯 The Prophecy System

How Prophecies Work

  1. Market Ingestion: LUMI fetches 100+ active prediction markets

  2. Normalization: Raw data is processed into a consistent format

  3. AI Analysis: Each market is sent to GPT-4o-mini for probability assessment

  4. Divergence Calculation: LUMI compares its prediction against crowd odds

  5. Display: Results shown with visual divergence indicators

Divergence Calculation

// src/services/oracle.js
export function calculateDivergence(crowdProbability, oracleProbability) {
  const crowd = parseFloat(crowdProbability);
  const oracle = parseFloat(oracleProbability);
  
  const diff = oracle - crowd;
  const absDiff = Math.abs(diff);
  
  return {
    value: diff,
    absolute: absDiff,
    percentage: (absDiff * 100).toFixed(1),
    direction: diff > 0 ? 'bullish' : diff < 0 ? 'bearish' : 'aligned',
    significance: absDiff > 0.15 ? 'high' : absDiff > 0.08 ? 'medium' : 'low',
    label: diff > 0 ? `+${(absDiff * 100).toFixed(1)}%` : `-${(absDiff * 100).toFixed(1)}%`
  };
}

Prophecy Card Display


💬 Oracle Chat (Consult)

Users can directly consult LUMI about any topic:


🔄 Caching Strategy

LUMI implements multi-layer caching for performance:

Cache Layer
TTL
Purpose

Browser

no-cache

Always fresh requests

Vercel Edge

60s

Reduce API calls

Client Memory

30s

Market data

Prediction Cache

10 min

LUMI predictions


🎨 Visual Effects

Fluid Cursor Trail

WebGL-based fluid simulation follows cursor movement:

Floating Particles

Canvas-based ambient particles:

Last updated