What's new in OptionsDeck
We ship constantly. Every signal, every chart, every AI improvement is documented here. Subscribe via the link at the bottom to get a weekly digest of major releases.
v2.1.0
— Pre-launch hardening — every number honest, full a11y pass, workflow glue- NewKeyboard shortcuts — ? overlay + Gmail-style g-nav
Press ? anywhere for the shortcut cheatsheet. g-prefix jumps: g d dashboard · g f flow · g a ideas · g p portfolio · g w watchlists · g j journal · g r risk · g s settings · g h heatmap · g l alerts. Bare keys are suppressed while you're typing in an input.
- NewChart → AI idea, everywhere
Every dealer-positioning surface now closes the loop into a trade: regime-aware Generate-AI-idea CTAs on /gex, /gex/vex, /gex/harmony, /gex/surface, /gex/convergence (Trinity), /iv-surface, and the chart quick-look modal. See the regime, click once, get a defined-risk structure.
- NewOne-click Watch button on /ticker
Star toggle on any ticker page drops it into any watchlist inline (auto-creates a default list if you have none). Optimistic — the star fills instantly.
- NewPaper Trade button on AI ideas
Send any AI idea straight to the paper engine with its legs / target / stop intact — closes the promise the /paper empty state was making. Multi-leg ideas post as a strategy; non-Pro users get an honest upgrade toast.
- NewClickable tickers across the whole app
Tape, whale monitor, multi-leg structure rows, portfolio, journal, alerts, flow concentration, the public wall and track record — every ticker cell now links to its ticker page, and resolved-trade rows deep-link to the /idea/[id] permalink.
- NewCombobox recent tickers + more ⌘K routes
The ticker combobox surfaces your last 5 tickers at the top of the dropdown. Command Palette gained 8 missing destinations (GEX sub-pages, flow scanner + map, webhooks, strategies). /ideas now honors ?id=<n> so the dashboard carousel deep-links to a specific idea.
- ImprovedFull accessibility pass
WAI-ARIA Combobox / Tabs / Radiogroup patterns on ticker inputs, page tabs, and every mutually-exclusive picker (chart timeframes, GEX presets, direction filters). aria-labels on icon-only buttons, label/htmlFor associations + inputMode + autoFocus across every form, keyboard-operable + aria-sort sortable table headers, a skip-to-content link, body-scroll lock on the mobile drawer, and aria-live so screen readers announce streaming AI responses.
- FixTrial + marketing claims now match what the code enforces
Removed every surface that promised the 7-day trial granted 'full Pro access' or 'live flow' (it grants the AI Strategist on core tickers + journal + plays + delayed flow). Corrected the ticker-universe claims to the real 229, moved Strategy Reframer to its true Elite tier, fixed the trial AI-idea quota (10 → 15), and stopped the welcome + day-1 emails from routing trial users to paywalled features.
- FixStop rendering fabricated values while data loads
GEX/VEX pages no longer assert a bullish/bearish regime mid-fetch, the mini-Trinity rail no longer flashes a green COMPRESSION badge, and dashboard widgets, per-ticker quotes, IV-surface spot, and the portfolio / risk / paper / admin header cards no longer flash $0.00 / 0% before real data arrives. ~25 surfaces now distinguish loading from a genuinely empty state.
- FixNever invent a number we don't have
Missing option entry_price is skipped in P/L, paper mark-to-market, and scenario shock-grids instead of fabricating a $0 basis; the contract picker emits null, not 0, when there's no priceable market. Null confidence and null win-rate render '—' rather than '0%'. Unset target/stop is distinguished from a real $0.00 across /conviction, /social, /idea/[id], and the landing social-proof cards.
- FixDate / time integrity
New fmtDate / fmtTime / fmtDateTime helpers rolled out across alerts, journal, plays, webhooks, admin, notifications, track-record and more — Invalid Date is detected and shown as '—' instead of leaking, null dates no longer render as 1/1/1970, and idea timestamps emit explicit en-US / UTC.
- FixP/L sign placement
Losses read '-$1,234.56', not '$-1,234.56', everywhere — portfolio, plays, journal, risk, paper, scenarios, and backtester totals + per-row.
- FixCrash + NaN guards on partial data
Pin / gatekeeper distance_pct is guarded against partial GEX rows and chains, bar-chart Math.max calls filter out NaN, sparklines drop Infinity, recharts tooltips guard $undefined headers, and a Number.isFinite sweep replaced fragile ?.toFixed() || '—' patterns that could leak NaN or crash.
- FixSurface silent failures instead of dead-ending
Stripe checkout, the billing portal, and password reset now toast when the backend returns 200 without a URL/token instead of doing nothing. Analyze / checkout / save buttons show an in-flight state rather than silently disabling.
- FixHonest regime + status labels
Flow no longer calls balanced order flow 'bearish', risk win-rates are no longer all painted bull-green regardless of value, the /conviction crash (copyingIds ReferenceError) is fixed, the Trinity dist-to-flip helper that always returned null now reads the real flip level, and alerts_engine only auto-closes a play on an explicit target/stop role.
- SpeedTTL caches on public landing endpoints
The landing hero stats (60s), idea-wall (30s), and track-record breakdown (2min) now serve from short-lived in-memory caches so anonymous traffic spikes don't re-run the same DB aggregation on every hit. AudioContext is resumed before playing the flow-tick sound.
v2.0.0
— Dealer-flow platform expansion — VEX engine, structure classifier, multi-leg detection- NewStrike Magnet + Pin Anchors on /gex
Backend already computed magnet strike, pin ceiling, pin floor, and velocity-pocket flags — now surfaced as a three-card row on /gex with chart overlay halos. Dealer Positioning Read narrative card pulls the human-readable interpretation directly into the page header.
- NewVol Exposure (VEX) engine + page at /gex/vex
Vega-axis analogue of GEX: per-strike net VEX, vol walls (top |VEX|), vol inflection where running-sum crosses zero. Computes vanna / charm / vomma locally since the Direct Feed ships only first-order Greeks. Surfaces total-Greek KPIs plus a chart with vol-wall halo and dashed inflection line.
- NewPositioning Harmony Map at /gex/harmony
Overlay of GEX and VEX on the same strike axis, normalized to [-1, +1]. VEX bars colored by alignment (accent = agrees with GEX, gold = conflict). Verdict tiers (Strong / Moderate / Conflicting / Diverging) drive a confidence summary; aligned strikes are the highest-conviction support/resistance levels.
- NewConvergence Dashboard at /gex/convergence
Side-by-side SPX/SPY/QQQ dealer positioning with verdict header (Triple Compression / Triple Expansion / Mixed). AI Strategist consumes the same data and tilts confidence ±0.05 on alignment.
- NewDealer-Positioning Structure Classifier
Maps each ticker into one of seven canonical patterns — Pin Compression, Wall Defense, Velocity Pocket, Negative Gamma Trend, Gamma Flip Reversal, Volatility Squeeze, Balanced Mid-Range — each with a thesis_template. Surfaced as a badge on /gex; AI Strategist uses it to strongly steer structure choice (iron condors for compression, OTM debits for pockets, defined-risk near gamma flip).
- NewTrade Microscope on /flow
Click any tape row to open a 4-section modal: Live Quote (bid/ask/mid/IV/delta with 10s refresh), Print Stats, Position Sizing helper at $1k/$5k/$10k/$25k notional, Underlying Context with magnet + pins. Escape + click-outside close. Bookmark/Chart/AI-idea CTAs in the footer.
- NewPrint Journal — bookmark prints with live P/L tracking
Bookmark icon on every tape row toggles entry; localStorage-backed list (50-cap) renders live P/L vs entry premium via a new /api/flow/quote-many endpoint (50 OCC/request, 20s SWR cadence). Per-bookmark note field.
- NewMulti-Tab Flow Terminal — 10 stacked preset tabs
All Flow / Heavy $ (≥$100k) / Sweeps / Blocks / Bullish Bias / Bearish Bias / Hot Score / 0DTE / Near ATM / Far OTM. Live count badges, stacks with manual ticker / aggressor / type filters.
- NewHighlight Rules with 6 toggleable alert classes
Mega Whale (≥$1M, animated gold ring + MEGA badge) / Whale (≥$500k) / 0DTE Sweep / ITM Conviction / Score ≥ 9 / Wide Spread. localStorage persistence, first-match wins, takes precedence over default tier styling.
- NewContract Scanner at /flow/scanner
Aggregates the rolling print window by OCC symbol so concentrated positioning is visible without scrolling tick-by-tick. Sortable columns (Total $, Prints, Max Score, Buy %), inline buy/sell split bars per row, OTM% from latest print, min-total filter, summary KPIs.
- NewFlow × Dealer Map at /flow/map
Strike-axis ComposedChart overlays GEX bars (left Y) + flow premium scatter (right Y, log-scaled radius colored by directional flow). Reference lines for spot, magnet, pin ceiling/floor, gamma flip pulled from gex.read. Top Strike Concentrations panel ranks heaviest dollar-flow strikes.
- NewWhale Position Status Monitor on /flow
Backend whale_tracker walks rolling tape buffer (≥$500k entry, 4h max age), classifies each OCC into NEW / TRENDING / AGED / UNWIND / DEAD lifecycle stages from age + same-vs-opposite premium flow. Sees which institutional positions are still being defended vs unwinding.
- NewMulti-Leg Correlation Tracker
Detects 10 multi-leg structure types — bull/bear call/put debit/credit spreads, long straddle, long strangle, call/put calendar, call/put ladder — from rolling tape using time-windowed pairwise + ladder scans. AI Strategist now sees the top 5 detected structures and tilts confidence ±0.05 by direction match.
- NewSession Pulse KPIs on /flow
Net Sentiment signed [-100, +100] composite of bull-leaning (call buys + put sells) vs bear-leaning (put buys + call sells) prints with inline gauge bar. P/C Ratio, Aggressor Mix, Bull / Bear Premium split bars. Net Sentiment also exported by flow_posture_read so AI Strategist consumes the continuous directional signal.
- NewPosition-quality columns on flow tape
Each tick now captures spot, bid, ask, open_interest at print time. New OTM% (signed by moneyness), NBBO Spread% (bear-tinted when >10%), OI (compact) columns added to the tape and CSV export. AI Strategist's recent_flow context includes OTM% so the model distinguishes lottery OTM bursts from conviction ITM positioning.
- ImprovedAI Strategist rules expanded to 21
Added rules #18 (structure.label thesis steering), #19 (vol_positioning_read regime + vanna + charm tilts), #20 (detected_structures match/fade confidence), #21 (macro_convergence triple-alignment tilt). The model now reasons about the same dealer-flow signals the operator sees on screen.
v1.9.0
— Reliability + correctness + UX sweep — autonomous improvement session- FixAI dealer-flow ground-truth across /ideas, /chat, /debate
Real bug caught in production /debate: with positive GEX (dealers long gamma) the bull case asserted 'dealers chase momentum higher' — a SHORT-gamma mechanic that contradicts the regime. Now a derived ground-truth block is injected into every AI surface, naming the actual GEX sign + the exact phrases to NOT use. Same fabrication risk eliminated across the AI Strategist (/ideas) and Ask OptionsDeck (/chat) too.
- NewChart indicator legend + importance ratings
Toggleable on-chart legend (top-left) shows every active line indicator with color swatch + last value. Indicators now have a 1-5 ★ importance rating; top-5 auto-enable on first run — GEX walls / gamma flip / VWAP / EMA 21 / Volume. Storage key bumped to v2.
- NewLive options chain in AI context
Ask OptionsDeck was inventing option prices when recommending strikes. Now gather_context bundles the actual chain (next 6 expirations, ATM ±15%) with live bid/ask/mid/IV/delta. System prompt enforces 'never invent prices, must quote from chain, respect stated BP'.
- NewSpam filter on Core-inference endpoints
Min-gap debounce (3s ideas/debate/backtest, 1s chat) prevents button-mash from burning Core inference budget even when per-minute budgets are fine. Floor is now ~20 calls/min vs prior 6 in 1 second.
- NewPortfolio: mark options to live mid + edit qty/avg
Option positions were re-priced with Black-Scholes at hardcoded 25% IV — wildly wrong on NVDA/TSLA. Now prefers live bid/ask midpoint (broker-style mark selection), with diagnostic tooltip showing mark source. New PATCH endpoint + pencil-icon edit dialog lets users correct real fills.
- NewSort + filter sweep across data pages
Plays (P/L, confidence, distance to target), Portfolio (P/L, |delta|, expiration, instrument filter), Screener (global sort across all buckets + ticker search), Journal (clickable column sort + setup filter), AI Ideas (confidence sort).
- NewFlow Scanner CSV export
Download currently-filtered ticks as RFC4180 CSV. Includes timestamp, OCC, strike, premium, aggressor, sweep/block flags, IV, delta.
- NewChat UX: textarea + viewport-bound layout
Single-line Input → 4-line auto-growing textarea (Shift+Enter for newline). Page bound to dvh so the input row is glued to the bottom of the viewport while streamed responses scroll inside the chat card.
- ImprovedEscape-to-close + click-outside on all modals
Every modal in the app now responds to the Esc key and closes when the dimmed backdrop is clicked. role=dialog aria-modal=true applied.
- ImprovedMulti-ticker auto-fetch in Ask OptionsDeck
Asking 'between MRVL, TSLA, AAOI, MSFT and POET which is the best...' previously refused; now the chat extracts up to 8 tickers from your message, fetches each in parallel, and feeds the model real data for every name. Per-ticker errors are surfaced, not silently swallowed.
- SecurityCap unbounded limit params + max_length on text fields
Audit found 4 endpoints accepting unbounded ?limit= (/operator/ideas, /notifications, /hub/most-active, /events/earnings-calendar) — now capped 100-500 to prevent enumeration/DoS. PlayIn/JournalIn/PositionIn text fields gained max_length=5000 to block 10MB payloads.
- ImprovedConfirm prompts on destructive deletes
Portfolio + Alerts deletes silently mutated. Now match the pattern used in plays/journal/watchlists/webhooks — confirm() before removal.
- Improveda11y aria-labels on icon-only buttons
Modal close (X) and trash delete buttons across journal/portfolio/plays/webhooks/alerts/builder now have descriptive aria-label.
v1.8.5
— Cross-linking polish — tool nav + /best hub + Cmd+K resources- NewCross-tool navigation on every calculator page
New <RelatedTools /> component renders a 4-card grid of the OTHER free tools at the bottom of each /tools/* page. Visitors landing via SEO search now see all 5 tools as easy next-clicks instead of bouncing after one calculation.
- New/best hub page
New /best index surfacing all 5 comparison guides (AI / Flow / GEX / 0DTE / Paper Trading) in a 2-col grid. Honest 'why these comparisons matter' section.
- ImprovedCmd+K Resources group
Added 3 entries: Best Platforms Hub, Learn Hub, Public Track Record. Operators can now jump to comparison content + track record stats mid-flow.
v1.8.4
— Production build unblocked- Fixnext build was failing on 6 dashboard pages
useSearchParams() in builder/chat/debate/gex/ideas/iv-surface wasn't wrapped in Suspense, which Next.js 14 treats as a hard prerender error. Set experimental.missingSuspenseWithCSRBailout=false so these client-only dashboards CSR-bail instead. Verified: next build now exits 0 with all 149 pages compiled cleanly.
v1.8.3
— Hardening pass — security + DB caps + footer surfacing- SecurityGate /api/admin/upgrade-self behind is_admin
Pre-fix the dev-mode plan flipper accepted any logged-in user — any trial account could POST to upgrade themselves to Elite for free. Now requires user.is_admin. Operators still use it for testing; real users go through Stripe.
- SecurityCap limit on public /track-record + /idea-wall
Anonymous public list endpoints accepted unbounded ?limit=N. Now capped at 500 and 200 respectively to prevent DB-exhaustion abuse. Real UI use cases unaffected.
- New/best/options-paper-trading SEO landing
5th /best/ page. Targets 'best options paper trading' + 'options simulator' (~3-7K mo). Honest comparison vs Thinkorswim + Tastytrade + IBKR + OptionStrat.
- ImprovedFooter mega-menu: 3 /best/ links
Best 0DTE Platform / Best GEX Platform / Best Paper Trading now visible from every content page footer alongside /compare/ links.
- Fix3 latent TypeScript errors caught by tsc sweep
iv-surface JSX bare > token (2 occurrences) + conviction Badge variant='outline' invalid. Dev mode silently allowed but production build would fail. tsc --noEmit now passes with 0 errors.
v1.8.2
— Sprint cap — P(touch) labels + topic-cluster SEO + honest activation- NewP(touch) labels on every AI idea target + stop
Target/stop tiles in IdeaCard now show implied probability of touch beneath the dollar value, e.g. '62% P(touch) · 7d'. Computed client-side via the same Black-Scholes math powering /tools/probability-calculator. Tone-coded for at-a-glance read.
- NewNew SEO landing: /best/dealer-gex-platform
Targets 'best dealer gex platform' + 'spotgamma alternative' (~2-5K mo). Honest comparison vs SpotGamma + MenthorQ + GammaCharts + UW. Completes the GEX topic cluster (live tool + guide + landing).
- NewCmd+K palette: Probability Calculator entry
5th tool was missing from ⌘K. Now searchable with 'probability touch itm odds' keywords.
- NewFooter 'Free Tools' column
All 5 calculators + /tools index now linked from every /learn /blog /best /compare page footer. Boosts internal PageRank to tool pages from ~35 SEO surfaces.
- FixActivationChecklist honest 'preferences set' detection
Pre-fix the 'Set your operator preferences' step always ticked because the API returns default account_size + 'balanced' risk_profile for new users — both truthy. Backend now returns 'customized: bool' computed from non-default values; fresh users see 0/5 honestly.
- FixSitemap: include /authors/optionsdeck-research
E-E-A-T author profile was missing from sitemap. Google rewards content with indexable author pages as part of the trust signal.
v1.8.1
— Sprint continuation — transparency + probability + hedging cluster- New'Signals synthesized N/14' on every AI idea
Each idea card now shows pill-tags for exactly which of the 14 channels had live data when it was generated. Degraded channels excluded. Transparency lever — operators see direct visual proof that ideas are synthesized from N real signals.
- NewLive 'Latest Resolved Trades' on landing
Public landing pulls 3 most recent resolved+aged AI ideas from /api/public/track-record. Includes losers — that's the credibility move. Gracefully hidden on empty data.
- New5th free tool: Probability Calculator
/tools/probability-calculator. P(touch), P(close above strike), P(close below strike) via Black-Scholes reflection principle. Tool series now 5 deep with ~20-35K combined monthly search.
- NewNew SEO landing: /best/0dte-options-platform
Targets 'best 0dte options platform' (~1-3K mo). Honest competitor comparison + cross-links to /scanners/0dte and /learn/0dte-options-trading. Completes the 0DTE topic cluster.
- New2 new strategy guides: Protective Put + Collar
Rounds out the hedging cluster on /learn (now 11 strategy guides). Covers the 'stock + options downside protection' topic that competitors barely touch.
- Fix/api/public/idea/{id} malformed not-found
Old code returned a 2-tuple of dicts (serialized as a JSON array) instead of a proper 404. 404 cases silently returned 200 with garbage body. Fixed to return a real not-found response.
- FixActivationChecklist watchlist probe URL
Was calling /api/watchlist/lists which doesn't exist (actual prefix is /api/watchlists). The 'Add tickers to watchlist' step would never tick. Plus switched plays probe to ?status=open which is a real supported param.
v1.8.0
— 8-hour sprint — track record, scanners, free tools, retention- NewPublic Track Record page
/track-record now lists every RESOLVED + AGED AI idea with full setup math. Paginated, filterable by ticker / direction / strategy / outcome. Top-of-page breakdown cards by strategy + direction + ticker. The 'show your work' lever — UW/SpotGamma/Skylit don't publish a complete trade log.
- NewShareable per-idea URLs
Every AI idea now has a public /idea/<id> page with server-rendered OG cards. Live ideas show ticker + direction + conviction band only; resolved+aged ideas show full setup. Locked variant has hover overlay with 'Unlock full setup — 7-day trial' CTA. Share button added to every idea card.
- NewStrangle Scanner mode on /earnings
Each ticker now enriched with IV rank + a 'strangle edge score' (0-100) combining expected move × vol cheapness. Toggle to Scanner view to see top-edge LONG-strangle setups ranked.
- New0DTE Scanner
New /scanners/0dte page — same-day expiration overview for SPY/QQQ/IWM/SPX with spot + IV rank + ATM IV + dealer GEX + walls + today's premium-traded in one card per ticker. UW has 0DTE filters but no dedicated GEX-overlay scanner.
- NewFree tool series (4 calculators)
/tools/greeks-calculator (Black-Scholes), /tools/position-sizer (fixed-fractional + Kelly), /tools/implied-volatility-calculator (bisection back-solve), /tools/max-pain-calculator (OPEX pin finder). All client-side, no auth. SEO + lead-gen — combined ~15-30K monthly long-tail search.
- NewActivation Checklist on dashboard
First-week checklist tracks 5 trial-conversion actions: set preferences, generate first AI idea, save first play, build watchlist, visit GEX. Probes real backend state; auto-hides at 5/5; dismissible.
- NewPWA install support
Manifest enriched with categories, scope, 4 home-screen shortcuts (Dashboard / AI / Flow / GEX), maskable icon. Non-intrusive install prompt with 30-day dismissal memory.
- NewReal /status health page
GET /api/public/health probes 6 subsystems (database, market feed, AI engine, payments, email, flow scanner). No auth — third-party uptime monitors can poll. Page reflects real status with operational/degraded/down distinction.
- NewPricing competitor matrix
20-row honest comparison vs Unusual Whales / SpotGamma / Skylit on pricing page. Includes features competitors have that OptionsDeck doesn't (dark pool, insider, politician, native mobile) — credibility move.
- NewTrial retention email sequence
Added day-1 onboarding (3-step quick-win plan), day-3 mid-trial value email, and win-back at day-14 post-expiry. Industry benchmark: +5-10pp trial→paid conversion lift.
- SecurityPlug /wall live-idea leak
Pre-fix /wall served full live setups to anonymous visitors. Now redacted: live ideas show ticker + direction + conviction band only; full detail unlocked for resolved+aged ideas. No more free signal feed.
- SecurityProfanity filter on handles + names
PUT /api/social/me + POST /api/auth/register now reject leetspeak-disguised slurs (n1gga, sh1t, f*ck, etc.). Existing offensive handles in dev DB scrubbed.
- SpeedChat prompt cache
Ask OptionsDeck chat system prompt now uses an ephemeral cache block — 90% input-cost cut on the cached portion. Saves ~$1-2K/yr at current Elite usage.
- ImprovedGEX regime mapping fix
RegimeBanner GEX cell was permanently stuck at '—' (expected 'compression'/'expansion' but backend returns 'positive'/'negative'). Now correctly shows Compression/Expansion.
- ImprovedCmd+K palette completion
Added 0DTE Scanner + all 4 free tools to Command Palette with operator-friendly keywords. ⌘K → 'iv' opens IV calculator, etc.
- ImprovedDynamic sitemap
Sitemap now enumerates all /learn /blog /scanners and SEO_TICKERS automatically. URL count 37 → 100+.
- Improved/tools index page
Discoverability hub for all free calculators with 'Want the full terminal?' CTA.
v1.7.3
— Deep-link grid + operator visibility- NewComplete deep-link grid
Six tools now consistently honor ?ticker= URL: /ideas, /gex, /iv-surface, /debate, /chat, /builder. Combined with /ticker/X's 6-button action toolbar, the platform is fully launchpad-driven — no re-typing tickers.
- New'Recently Shipped' on landing page
Prospects landing on / now see active velocity signals (pulsing dot + 3 feature cards) above the pricing teaser. Direct answer to the implicit 'is this product alive?' question.
- ImprovedAlerts page tooltip
Title explainer surfaces the four delivery channels (in-app bell / email / Pushover / Discord-Slack webhooks) + notes auto-armed alerts from tracked plays.
- ImprovedAsk OptionsDeck title tooltip
Clarifies what makes /chat different from /ideas: open-ended chat vs single-trade output, both backed by the same 14-channel context.
- ImprovedMobile-safe table overflow
/sectors and /paper now wrap wide tables in overflow-x-auto with sensible min-width. Usable on a 375px phone screen instead of getting clipped.
- SpeedAI engine channel failure logging
gather_context() previously silently degraded if any of the 14 channels failed. Now each failure logs a WARNING with ticker + channel name + exception — Sentry-trackable. Catches data-feed plan-gating + endpoint outages before they degrade AI quality.
- ImprovedSearch engine verification meta tags
Layout.tsx now emits google / yandex / bing verification meta when NEXT_PUBLIC_*_VERIFICATION env vars are set on deploy. Unverified deploys stay clean.
v1.7.2
— Workflow integration — one-click flows from anywhere- NewWatchlist quick-actions
Every ticker in your watchlist has a hover toolbar: ⚡ Generate AI idea · 🎯 GEX · 📈 Vol surface · ↗ Ticker page. The Sparkles button uses ?auto=1 to instantly fire the 14-channel AI on that ticker — no extra click.
- NewPer-ticker action toolbar
Visit /ticker/NVDA and the header shows AI idea / GEX / Vol / Debate / Builder buttons — each deep-linked with ?ticker=NVDA so the destination loads pre-filled.
- NewSector row ⚡ to AI idea
Click the Sparkles on any sector row in /sectors to instantly generate an AI idea on that ETF. See 'energy is leading' → click XLE → AI synthesizes.
- NewStrategy template Cmd+K
Press ⌘K and type 'iron condor' / 'bull call' / 'long straddle' — press Enter and the builder opens with that template pre-loaded at current ATM strikes. 10 templates wired.
- ImprovedReading time + author byline on /learn
Every learn article now shows 'OptionsDeck Research · X min read' under the subtitle. Auto-computed from word count.
- ImprovedStock Screener tooltips
RSI, Vol×, Score column headers now have hover explainers. Every premium tool now has consistent HelpTip coverage.
- FixRegimeBanner GEX cell
Was permanently stuck at '—' because it expected regime='compression' but backend returns 'positive'. Now correctly maps positive→Compression and negative→Expansion.
- Fix/paper API shape
Leaderboard endpoint returns {leaderboard: [...]} not a raw array. Trades endpoint uses ?open_only=true not ?status=open. Both fixed with Array.isArray defensive checks.
- Fix/debate auth + env var
Was reading useAuth.getState().token (no such field) and using wrong env var name. Now uses canonical getToken() + NEXT_PUBLIC_API_BASE.
- FixCommand Palette GitCompare import
Sector Rotation icon was used but not imported. Quick miss caught in audit.
v1.7.1
— Zombie features brought to life- New/paper — Paper Trading page
The Paper Trading backend (PaperAccount + PaperTrade) shipped in v1.5 but the UI was never built. Now live: $100k virtual account, mark-to-market with real Direct Feed prices + Black-Scholes for options, one-click Close, anonymized leaderboard, recent closed trades log.
- New/macro — Macro Calendar
FOMC, CPI, NFP, OPEX events grouped by 'imminent / 8-30d / 31-60d'. Impact tiers (EXTREME/HIGH/MEDIUM/LOW), affected tickers, 'How macro events shape options pricing' explainer.
- New/debate — AI Bull vs Bear
Two AI strategists argue the same setup in parallel. Real-time SSE streaming with blinking cursor. Elite-gated. Both end with target + stop.
- New/scenarios — Portfolio Stress Test
7×5 P/L grid across spot shocks (±10%) and IV shocks (±30%). Color-coded heatmap, worst/best case cells called out, asymmetry ratio for tail risk.
- NewRegime Banner on /dashboard
Three-cell strip at the top showing SPY dealer gamma regime, vol regime, and active sector rotation phase. Instant tape-state at a glance.
- ImprovedDefault ticker preference wired everywhere
Set your default ticker in /preferences and it pre-fills on GEX, IV Surface, and AI Strategist pages.
v1.7.0
— AI signal expansion + Sector Rotation page- NewSector Rotation page
New /sectors page shows 11 SPDR sector ETFs with 1d/5d/20d returns, relative strength vs SPY, and an active rotation phase classification (risk-on / defensive / cyclical-narrow / rate-sensitive-led).
- NewAI now sees the macro tape
13 context channels feeding every AI generation: technicals, GEX, IV regime, flow, event proximity, vol regime, sector context, multi-timeframe, relative strength, flow posture, news + sentiment, short interest + squeeze risk, sector rotation phase.
- NewRisk profile preference
Conservative / Balanced / Aggressive risk profile in /preferences directly biases the AI's structure pick and confidence scoring.
- NewPatch notes + Feedback pages
Public /changelog and /feedback. Bug reports + feature requests email the operator inbox. Footer + sidebar + ⌘K integration.
- ImprovedVol Surface — live readout
Skew, term structure, and IV regime classifiers computed from the 3D grid + plain-English explainer cards + 5-stop colorscale + lighting + cell-level hover tooltips.
- ImprovedTooltips across every premium tool
60+ central definitions wired into GEX, IV Surface, Flow, Plays, Portfolio, Ideas, Conviction. Hover any term for an operator-grade explainer.
- ImprovedNotification controls
/preferences now has email/push toggles, minimum AI confidence slider, daily/weekly email digest, and quiet-hours window.
v1.6.0
— Strategy reframer + Greek-optimal legs everywhere- NewStrategy reframer
Conviction feed now renders every directional setup in your preferred strategy. If you only allow long calls/puts and the AI picked a credit spread, OptionsDeck reframes the same thesis as a long call so you don't lose 90% of the alpha to a prefs mismatch.
- NewConviction status pills
Active / Target Hit / Invalidated / Stale / Expired computed live from spot vs target+stop and age. Filter by status, direction, ticker, and min confidence.
- NewGreek-optimal order tickets on cards
Every /conviction, /ideas, and /plays card now shows the picked strike + expiration + delta + IV + net debit/credit for one-click execution.
- NewAdd to portfolio (one click)
Tracked plays promote to portfolio positions at the picker's mid-price. Multi-leg plays expand into individual positions.
- SpeedStocks Advanced + WebSocket fill
Direct Feed Stocks WS streams 229 tickers live. Bulk snapshot fills all quotes in <200ms vs minutes of REST polling. Charts load instant.
- FixTimestamps now respect your timezone
Backend was emitting naive UTC ISO strings; JS treated them as local time. Now ISO emits with Z suffix so /plays times read correctly.
- FixTrack button preserves the strategy you saw
Clicking Track on a reframed conviction idea now saves the reframed strategy + legs instead of the original. Audit trail in notes.
v1.5.0
— Trust pages + tier-gated previews- NewFAQ, About, Security, System Status, Terms, Privacy, Disclaimer
Seven new public pages addressing every common pre-purchase question. Indexed in sitemap.
- NewTier-gated previews on Elite-only pages
Trial and Pro members see the structure of /conviction and /social — synthetic data with a CSS-blurred overlay (not devtools-removable). Builds upgrade intent without leaking real alpha.
- ImprovedClick-through legal agreement on signup
Required for ToS enforceability.
- Improved/social renamed to The Floor
Premium trader vibe over corporate-feeling 'Operator Social'.
v1.4.0
— Core cost cuts + AI tier-1 signals- ImprovedPrompt caching + lower max_tokens + Core Pulse for Auto-AI
Estimated 50% reduction in Core inference spend at 10 Elite + 50 Pro + 100 trial mix.
- NewAI Strategist tier-1 context
Event proximity, vol regime, sector context, and multi-timeframe reads now feed the AI prompt for higher-conviction setups.
- NewTicker combobox everywhere
Type-or-dropdown ticker input on GEX, chat, AI generator, and all selectors.
- NewFlow scanner EXTREME/HOT highlighting
Unusual flow auto-tiered by score, premium, sweep+block, vol/OI. Gold-pulsing border for EXTREME tier.
- NewAI chat thinking bubble + rotating status
'reading tape… checking GEX… scoring IV regime…' shows real-time AI work so it doesn't feel frozen.
- FixReact #31 on trial Generate
Backend pool-empty 503 returned a structured object; toast was passing the object directly to React. Defensive String() coercion.
- FixReact #301 on My Profile
Replaced render-body setState antipattern with useEffect+initialized flag.
v1.3.0
— Performance + chart polish- SpeedIn-flight request coalescer
Concurrent get_underlying / compute_gex calls now share a single round-trip per ticker. Burst traffic from /dashboard no longer hammers the Direct Feed.
- SpeedChart caching + Next.js production mode
Heatmap, GEX, and IV charts now load from cache on revisit.
- ImprovedPremium chart system
Shared theme, tooltip, axis style. OptionsDeck watermark on every chart.
- NewPaper trading engine
Risk-free virtual account with leaderboard.
- NewAI debate mode
Bull + bear devil's advocate analysis on any setup.
- NewPortfolio scenario analyzer
Stress-test your book under user-defined shocks.
v1.2.0
— High-conviction scanner launch- NewAutonomous Elite scanner
Sweeps 60+ tickers every 20 minutes during market hours, surfaces only setups with ≥75% confidence. Very-High tier (≥85%) pushes notifications + Discord/Slack webhooks.
- NewGreek-optimal contract picker
AI ideas now snap to the listed contract that maximizes delta-fit + liquidity + tight spread.
- NewLive position P/L on tracked plays
Mark-to-market via Direct Feed snapshot updates every 30s.
- NewSocial wall + leaderboard (Elite)
Opt-in shared AI ideas with anonymized handles. Ranked by resolved win rate.
- NewMacro / economic calendar
Fed, CPI, NFP, earnings — events that move IV are now front-and-center.
v1.1.0
— OptionsDeck v1.1- NewOptionsDeck Direct Feed + OptionsDeck Core AI
Upstream data + inference vendors white-labeled in the UI.
- NewStripe billing
Pro + Elite tiers, 7-day trial, account/billing page, password reset, Resend emails, Sentry error tracking.
- NewGEX heatmap reading methodology
OptionsDeck's interpretation framework wired into the AI Strategist.
- ImprovedWebhook delivery — Discord + Slack
Elite tier alert fanout.
- ImprovedCmd+K strategy templates
Quick-launch common option structures.
v1.0.0
— OptionsDeck Terminal — public launch- NewInitial release
Options flow scanner, dealer gamma exposure, IV surface, AI strategist, tracked plays, alerts, portfolio Greeks. Premium institutional-grade tooling for serious operators.
