VibeBullish is an agentic quant trading platform
Generative AI works the data floor as labeler, narrator and risk flagger. A LightGBM ensemble
ranks the universe, and a deterministic verdict mapper turns each prediction into typed decision
rows in action_decisions — the one currency every surface consumes. Paper books
trade those rows under pre-registered rules. Nothing trades live.
Five repositories
One shared PostgreSQL database, five separately deployed repositories.
| Repository | Stack | Role | Deploy |
|---|---|---|---|
| vibebullish-backend | Go / Gin | Action Generation Engine, Auto-Pilot V2 paper books, catalyst scanner, server-driven UI feeds, WebSocket hub | Railway, auto on push to main |
| vibebullish-data-pipeline | Python | LightGBM training, on-demand predict_one and gated batch scoring, news and SEC forward loops, the dq-daily data-quality gate |
Railway, auto on push to main |
| vibebullish-web | Next.js 16 | Stock feed, ticker details, search, Auto-Pilot, Scoreboard, Lab, SDUI renderer | Vercel, manual CLI deploy |
| vibebullish-ios | SwiftUI / XcodeGen | Native client that renders the same server-driven feeds | App Store |
| vibebullish-data-pipeline-dashboard | Static HTML | Ops console: LLM usage and system health | Vercel, auto on merge to main |
This docs site also ships by manual Vercel CLI deploy. Details: Deployment.
How services connect
ticker_features_dailypredict_onescore_batchdq-daily gate is readyMapVerdict. Display-only risk and quality scores are stamped afterwards. No LLM in this path.scheduled_batch, scanner_signal, on_demand, catalyst_event, price_gap_refreshaction_decisionsfeed_update WebSocket eventsStep by step: How It Works. Sources in depth: Data Sources.
Key tables
| Table | Writer | Purpose |
|---|---|---|
action_decisions | backend | Typed decision rows per ticker and horizon |
ticker_features_daily | both | Per-(ticker, date) ML feature cache |
daily_bars | both | Daily OHLCV bars |
ticker_fundamentals | both | Latest fundamentals per ticker |
books / book_positions / book_daily_equity | backend | Paper book ledger, positions and daily equity snapshots |
llm_catalyst_emissions | backend | LLM-labelled catalysts; input to the risk and quality scores and the catalysts section |
news_articles | pipeline | Polygon and Finnhub articles, labelled in the pipeline |
lgbm_test_predictions | pipeline | Out-of-sample test predictions from training runs |
action_resolutions | backend | Graded outcomes of past decisions |
Server-driven UI and the feed plugin system
Server-driven UI
SDUI- The backend returns a
ServerDrivenFeedResponse: a list of typedServerDrivenComponentspecs. - Web and iOS map each component type to a native view.
- The web renderer’s
COMPONENT_MAPholds 42 component types; unknown types show a diagnostic placeholder in development and render nothing in production.
Feed plugins
Go backend- Each feed implements
FeedTypePlugin:GetSupportedTypes,GenerateFeed,GetPriority. - The aggregator routes a request by feed type; a new feed is one plugin plus
RegisterPlugin. - Public feed plugins: action, autopilot, crypto, search.
- Auth is Firebase middleware.
State as of 2026-09-29
What runs today
dated observation- Verdicts are pure quant. The per-decision LLM reviewer was removed on 2026-06-14. No production path calls Opus since 2026-09-14.
- LLM roles: labeler, narrator, risk flagger. Model names are vendor aliases.
- The V1 signal loop was removed on 2026-09-15.
- Two production cohorts:
tradeable_v2andtradeable_mid_large. - Crypto is parked: a data-only market refresh, no verdicts, no LLM calls.
- No live orders. A live book needs §19 graduation, a second non-overlapping window of ≥90 trading days, execution-readiness and shadow-live qualification, and signed owner approval.
- Engineering shadow books run beside the measured books and are excluded from §19.
Public paper roster
GET /api/autopilot/standings| Book | Label | Status |
|---|---|---|
| 57 | Pure Quant | active |
| 58 | Insider | active |
| 59 | Analyst Consensus | active |
| 60 | Pure Quant · Trailing | active |
| 42 | BTC Trend | active |
| 53–56 | Previous epoch of the same four strategies | retired 2026-09-16 |
Next: How It Works · Action Engine · Auto-Pilot (books, §19 criteria) · Data Sources · Deployment
Verified against vibebullish-docs@0a4edb1, vibebullish-backend@07c641de,
vibebullish-data-pipeline@ee230ea, vibebullish-web@ce8ec92 on 2026-09-29.
Runtime observations are dated inline; a source sha does not vouch for deployed configuration or database contents.