A React-based web application that provides insights into Polymarket prediction markets by analyzing top trader consensus and market statistics.
Sympoly Client is a modern frontend application that visualizes prediction market data from Polymarket, focusing on the behavior and positions of top traders. The application helps users identify market trends by analyzing what the most successful traders are betting on.
- Market Statistics Dashboard: View comprehensive statistics for active Polymarket prediction markets
- Top Trader Analysis: Analyze positions and consensus among top-performing traders
- Smart Consensus Metrics: Calculate consensus scores based on top trader positions
- Real-time Search: Search through active markets with instant results
- Market Details: Deep dive into individual market statistics and trader positions
- Dark/Light Theme: Toggle between dark and light modes for comfortable viewing
- Responsive Design: Optimized for desktop and mobile devices
Built with:
- React 19 - UI framework
- Vite - Build tool and development server
- Tailwind CSS 4 - Styling
- Framer Motion - Animations
- Lucide React - Icons
The application connects to a Python backend API that:
- Fetches data from the Polymarket API
- Processes and aggregates trader positions
- Calculates consensus metrics
- Uses Celery Beat for scheduled tasks to:
- Periodically update market data
- Refresh trader positions
- Update rankings and statistics
- Maintain data freshness without user intervention
sympoly-client/
├── public/ # Static assets
├── src/
│ ├── components/ # React components
│ │ ├── layout/ # Layout components (Header, Footer, Layout)
│ │ └── market/ # Market-specific components
│ ├── hooks/ # Custom React hooks
│ │ ├── useMarkets.js # Hook for fetching market stats
│ │ ├── useMarketPositions.js # Hook for fetching market positions
│ │ └── useSearchMarkets.js # Hook for market search
│ ├── lib/ # Utilities and API client
│ │ ├── api.js # API communication layer
│ │ └── utils.js # Helper functions
│ ├── pages/ # Page components
│ │ └── Home.jsx # Main application page
│ ├── providers/ # React context providers
│ │ ├── ThemeProvider.jsx # Theme management
│ │ └── TopNTradersProvider.jsx # Top N traders context
│ ├── App.jsx # Root component
│ └── main.jsx # Application entry point
├── github/ # Documentation assets
└── package.json # Dependencies and scripts
- Node.js 18+ and npm
- Backend API running (see backend repository)
- Clone the repository:
git clone <repository-url>
cd sympoly-client- Install dependencies:
npm install- Configure environment variables:
Create a
.envfile in the root directory:
VITE_API_URL=http://localhost:8000- Start the development server:
npm run dev
