Changelog · Nova Dev
Nova Dev
Build notes from the trading copilot powering our research.
- nova-dev 2026-05-10
Three hotfixes for one barrel import: Web Lookup goes to prod
Pillar B 1.1 shipped: members can now research tickers on their phones. The squash-merge to main built clean, deployed clean, and 500'd on first request with ERR_MODULE_NOT_FOUND: playwright. Two hotfixes failed before the real one landed.
#nova#war-story#architecture8 min - nova-dev 2026-05-09
What Nova's looking at: a chat overlay and a screen-context bus
The chat is no longer a tab you navigate to. It's an overlay that opens over whatever panel you're on, and Nova reads the panel's state before she answers. The validating moment came when she criticized her own fund picks.
#nova#architecture#ux7 min - nova-dev 2026-05-09
Edit and add are the same modal: notes from a Portfolio polish pass
A polish-only pass on the Portfolio panel: a wheel retheme, a nested-scroll trap fixed, four stacked Add forms collapsed into one modal that also handles edit, and a default-tab fix on Nova Fund. The strategic depth got deferred on purpose.
#nova#ux#architecture7 min - nova-dev 2026-05-09
Three popover gotchas in one polish pass
A chat-sidebar polish pass shipped two new popovers and surfaced three different ways to make a popover not work: an ancestor backdrop-filter clipping it, a native browser tooltip occluding it, and a custom CSS class quietly beating Tailwind's .fixed utility.
#nova#ux#war-story7 min - nova-dev 2026-05-08
Auditing Nova before her first dollar: five fixes and a 13th layer
Three days before the Nova Fund portfolio simulator goes live with a real ledger, a pre-inception audit found one real bug, four hardenings worth shipping, and one architectural shift that touched every score on every surface.
#nova#finance#architecture8 min - nova-dev 2026-05-08
Three custom series, one revert: a Lookup chart polish run
A long Lookup chart polish run: EMA cloud as a custom lightweight-charts series, 200W SMA with an indicator-warmup fix, a TradingView-style earnings badge row with a click-to-popover, and one premium marker overlay that earned itself a revert.
#nova#lookup#ux8 min - nova-dev 2026-05-06
Nine paying members, zero Pro tier
Sandbox testing surfaced nine active Stripe subscriptions and zero Pro-tier rows in Neon. The bug was one wrong word in a webhook URL. The fix that mattered was the tier gate that should have been there from the start.
#nova#war-story#architecture7 min - nova-dev 2026-05-06
Twelve Amplify failures, then five minutes on Vercel
The members portal at nova.leavingthematrix.io is live, in sandbox mode. Two hours of deploy debugging, twelve consecutive Amplify failures, then a host swap that worked first try.
#nova#war-story#architecture7 min - nova-dev 2026-05-04
DRIP for Nova Fund
Dividend reinvestment shipped for the Nova Fund portfolio simulator, plus a SPY benchmark that walks the same DRIP path. The smoke test caught a timestamp bug worth keeping a note about.
#nova#finance#war-story7 min - nova-dev 2026-05-04
Role-playing tool calls
Nova Fund confirmed a $1,000 deposit and a SPY buy in chat. State on disk said the fund had zero cash and no positions. The LLM was narrating tool calls without invoking them.
#nova#ai#war-story6 min - nova-dev 2026-05-04
Same ticker, two scores
Spot-checking RF surfaced a 4-point gap between Scanner and Lookup. Three PRs to make scoring universal, then a long debug chain to make the math actually agree. Two load-bearing bugs in there.
#nova#screener#war-story9 min - nova-dev 2026-05-03
One Nova Score, twelve layers
Eleven PRs after the UBER spot-check, the score architecture is settled. Dual trading/investing scores collapsed to one. Six layers grew to twelve. The abstain semantics from earlier finally pay.
#nova#screener#architecture8 min - nova-dev 2026-05-03
Options Flow, and the silent 401
Phase 8 closes the smart-money discovery surface in three PRs. The interesting part was the legacy flow signal had been silently abstaining across the entire universe for months because of an unannounced Yahoo auth change.
#nova#screener#war-story7 min - nova-dev 2026-05-03
What UBER taught the scorers
A single-ticker spot-check on UBER scored 38 and 35 across Trading and Investing modes. Three days later it scored 67.5 and 68.9. The fix needed a written investing rubric, three converging scorer bugs, and one structural one.
#nova#screener#war-story8 min - nova-dev 2026-05-02
Insider chips, and the no-data drag
Phase 4 of a smart-money pivot shipped: insider activity is now a confluence layer and insider trades render as chart overlays. Then the top-picks sort started favoring the symbols with the least data. Four bugs deep, one structural lesson.
#nova#screener#war-story8 min - nova-dev 2026-05-02
Three audits, three layers
Four more phases of Smart Money shipped this week. Each one moved on the back of an audit — surfaces, seed data, then composite-score correctness. Each audit caught one class of mistake and missed the others.
#nova#screener#architecture8 min - nova-dev 2026-05-02
What ten years of bars said about Nova Score
Phase 7 closed the credibility loop on Nova Score by measuring how each zone has actually performed at +5d/+10d/+20d/+30d/+50d across the universe. The answer was uncomfortable.
#nova#screener#architecture8 min - nova-dev 2026-05-01
Lookup, Cmd+K, and the skill-bus pattern
A TradingView-style symbol panel, a global Cmd+K palette, and a small architectural pattern that lets skills broadcast renderer events without becoming Electron-aware.
#nova#skills#ux6 min - nova-dev 2026-05-01
Production polish: custom icons, orphan processes, and the Windows tree-kill problem
Three production-build war stories from a single week — afterPack rcedit, an EADDRINUSE loop on port 3000, and the cmd→npx→node grandchild that survived every kill signal until taskkill /T fixed it.
#nova#electron#war-story8 min - nova-dev 2026-05-01
The case of the hallucinated earnings date
A thesis card claimed an earnings date in April 2024 while it was May 2026. Here is the full root cause, the three-layer fix, and the reusable date-grounding helper that is now standard issue for every Nova LLM call.
#nova#ai#war-story7 min - nova-dev 2026-04-30
AI Picks: an autonomous trade-finder, in seven cents per run
Macro regime → AI slice selection → universe scan → backtest sweep → top-5 enrichment → AI thesis per pick. The full pipeline that turns 'screen the market' into one keystroke.
#nova#screener#ai8 min - nova-dev 2026-04-28
Building a stock screener inside Nova
Multi-confluence ranked ideas, free-data-first, hybrid AI/template thesis, ATR-based levels, and a backtest engine that turns a chat tool into something I'd actually trade off of.
#nova#screener#finance8 min - nova-dev 2026-04-18
Skills as plugins: a tool-use plugin system that scales past 20 tools
Why every Nova capability — calendar, CRM, vault, screener, portfolio — is a plugin package, what the contract looks like, and how a chat-time skills picker keeps tool sprawl from drowning the model.
#nova#skills#architecture7 min - nova-dev 2026-04-14
Voice as a primary interface: Whisper, Silero, Cartesia, and an orb
Push-to-talk on Ctrl+Space, hands-free with VAD, local STT, streaming TTS, barge-in. The latency budget that makes Nova feel alive instead of like a chat window with a microphone glued on.
#nova#voice#ux7 min - nova-dev 2026-04-10
The brain swap: pluggable AI providers in one chat loop
How Nova flips between Claude, Gemini, Ollama, OpenRouter, and an unofficial Claude Max proxy mid-conversation — and the five gotchas that made the Max provider painful.
#nova#providers#anthropic8 min - nova-dev 2026-04-05
Picking the stack: Electron, Next.js, and the Vercel AI SDK
Why a Jarvis clone in 2026 ends up as a pnpm monorepo with an Electron main process, a Next.js renderer, and a swappable provider layer.
#nova#architecture6 min - nova-dev 2026-04-01
Why I'm building Nova
An origin story for a Jarvis-inspired desktop AI assistant — built for me, by me, on top of the model APIs I already pay for.
#nova#origin5 min