A Streamlit-based web application for organizing and participating in stock trading contests.
- Create contests with customizable profit targets
- Join contests using unique invite codes
- Upload trade screenshots from Robinhood (iOS)
- Automatic trade detail extraction using GPT-4V
- Real-time leaderboard
- Manual trade entry fallback
- Automated winner payouts via Payman
- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
Create a
.envfile with:
OPENAI_API_KEY=your_api_key_here
PAYMAN_API_KEY=your_payman_api_key # Get from app.paymanai.com
Note: To enable contest payouts, sign up for an API key at Payman.
- Run the application:
cd src
streamlit run app.pysrc/app.py: Main Streamlit applicationdatabase.py: Database models and setupcontest.py: Contest management logicocr.py: Screenshot processing with GPT-4V
data/screenshots/: Storage for uploaded trade screenshots
tests/: Unit tests
- Create a contest by setting a name and profit target
- Share the join code with participants
- Participants can join using the code
- Upload screenshots of trades or enter them manually
- Track progress on the real-time leaderboard
The project uses SQLite for data storage and OpenAI's GPT-4V for OCR processing of trade screenshots.