The free, open-source alternative to Sports Insights (€£149/mo) and Action Network Pro (€£99/mo).
VIC is a sharp betting intelligence engine that scrapes public betting percentages, tracks line movement, detects steam and reverse line movement (RLM), monitors injuries and weather, and generates high-confidence picks — all in a slick dark-green terminal aesthetic.
| Feature | Status |
|---|---|
| Public Betting % | Live consensus from Covers + Action Network |
| Line Movement Tracker | SAO scraper with open/close/current spread |
| Signal Engine v2 | Steam, RLM, Contrarian, Heavy Public, Sharp Money, Drift |
| Signal History & Backtest | Track, grade, and backtest every signal |
| Telegram Alerts | Auto-push contrarian signals to your group |
| Signal of the Day | Best high-confidence pick per sport |
| CSV Export | Download signals for Excel analysis |
| Public API | Rate-limited, CORS-enabled developer API with API keys |
| Syndicate Mode | Anonymous crowd-sourced signal aggregation |
| Webhooks | HMAC-signed subscriptions with retry logic |
| CLV Tracker | Real-time closing line value monitoring |
| Parlay Builder | Correlation-aware parlay generator |
| Injury Monitor | ESPN + Rotowire live injury scraper |
| Weather Overlay | Game-time conditions for outdoor sports |
| News Feed | ESPN headlines with AI sentiment summary |
| Unit Tracking | Full bet log with win/loss, units, and bankroll |
VIC is Railway-ready. You can deploy manually or publish it as a reusable template.
You must bring your own API keys. VIC does not include any paid keys.
- The Odds API — free tier available
- Anthropic Claude — you supply your own key
Once the template is published, anyone can deploy their own VIC instance in seconds.
To publish the template:
- Push this repo to GitHub (
oddsifylabs/vic)- Go to Railway Dashboard → New Project → Deploy from GitHub repo
- Select the
vicrepo → Railway will auto-detectrailway.jsonandProcfile- After the first deploy succeeds, open the project → Create Template
- Copy the template URL (e.g.
https://railway.app/template/XXXXXX)- Paste that URL into the README button below and commit
[](https://railway.app/template/YOUR_TEMPLATE_ID)- Railway Dashboard → New → GitHub Repo
- Select
oddsifylabs/vic - Add the environment variables below
- (Optional) Add a Volume mounted at
/dataand setDATA_DIR=/data - Deploy — done!
Set these in your Railway dashboard after deploying:
| Variable | Required | Description |
|---|---|---|
ODDS_API_KEY |
Yes | Your own The Odds API key (free tier available) |
CLAUDE_API_KEY |
Yes | Your own Claude/Anthropic key |
TELEGRAM_BOT_TOKEN |
No | Telegram bot token for alerts |
TELEGRAM_CHAT_ID |
No | Telegram chat/group ID for alerts |
DEFAULT_BOOK |
No | Default sportsbook (hardrockbet, betmgm, caesars, etc.) |
ODDS_REGION |
No | Region (us, us2, uk, au, eu) |
UNIT_SIZE |
No | Default unit size (default: 100) |
DATA_DIR |
No | Path to persistent data directory (see Volumes below) |
Railway's filesystem is ephemeral — every redeploy wipes local files. To keep your bets, logs, and signal history:
- Railway Dashboard → Volumes → New Volume
- Mount path:
/data - Add the env var:
DATA_DIR=/data - Redeploy
Without a volume, the app works fine but data resets on every git push.
git clone https://github.com/oddsifylabs/vic.git
cd vic
npm install
node proxy.js
# Open http://localhost:3747Copy the example config and fill in your own API keys:
cp .env.example .env
# Edit .env with your ODDS_API_KEY and CLAUDE_API_KEY- API keys are never exposed in frontend endpoints — returned as
•••••••• .envanddata/config.jsonare.gitignored- Public API responses strip all internal scraper metadata
- Webhook payloads are HMAC-SHA256 signed
MIT — See LICENSE
Built by Oddsify Labs