
Stock Expert AI
Invest SMARTER, not HARDER! Less is More.
Six months ago, I had a simple frustration: I wanted to know if a stock was worth buying, and every tool I tried either buried me in 100-page SEC filings, charged $25K/year for a Bloomberg terminal, or gave me a YouTuber's gut feeling dressed up as "analysis."
So I decided to build my own. Alone. No co-founder, no funding, no team. Just one developer with a very specific thesis: the gap between Wall Street and Main Street shouldn't be a paywall.
Today, Stock Expert AI is live at https://www.stockexpertai.com — a full AI-powered financial intelligence platform covering 6,000+ stocks with real-time analysis, price predictions, and a feature I'm particularly proud of called the Legends Council.
Here's the full story.
The Problem I Was Solving
Financial analysis has three camps, and they all suck for retail investors:
Camp 1: The Raw Data Dump. Stock screeners throw 200 columns of numbers at you. P/E, PEG, D/E, FCF yield, RSI, MACD, Bollinger Bands... If you already know what to look for, great. If you don't, you're drowning.
Camp 2: The Guru Economy. YouTube channels, Discord groups, Substack newsletters. Someone who discovered RSI six months ago is now charging $49/month for "signals." The signal-to-noise ratio is brutal.
Camp 3: The Institutional Wall. Bloomberg Terminal ($25K/year), FactSet, Capital IQ. These tools genuinely work — because they synthesize data into actionable insight. But they're built for hedge funds with 8-figure AUM, not someone investing their savings.
I wanted to build something from Camp 3 that costs Camp 2 prices. That's the entire product thesis.
What I Actually Built Stock Expert AI
The Prediction Engine (5 Models That Argue With Each Other)
I didn't want a single model making predictions. Single models are confident and wrong. I wanted an ensemble where models compete for relevance.
The system runs five independent prediction models on every stock:
Linear Regression — slope-based trend extrapolation
Double Exponential Smoothing — Holt's method capturing trend + level
Weighted Moving Average — recency-biased, 20-day window
Momentum + RSI — mean reversion + momentum factor scoring
Kalman Filter — state-space estimation with noise filtering and confidence scoring
But here's the part I spent weeks getting right: the weights aren't static. They're Bayesian-adaptive. Every prediction gets recorded. When you ask about AAPL next week, the system checks: "Which models were most accurate for AAPL recently?" and shifts weight accordingly. If momentum models have been nailing it, they get promoted. If the Kalman filter lost the plot, it gets demoted. The models compete for influence in real-time.
On top of that, Facebook Prophet runs as a separate engine — a Python child process spawned from Node.js (yes, really) that does 2-year seasonality decomposition and changepoint detection. When Prophet and the technical ensemble disagree, the system doesn't average them. It shows both, calculates the divergence, and drops confidence. Honest uncertainty beats fake precision.
The Legends Council (Multi-Agent Scoring, Zero Hallucination)
This is where most "AI analysis" tools fail. They ask GPT: "What would Buffett think?" and get hallucinated nonsense. I didn't want AI opinions. I wanted math.
The Legends Council is a deterministic multi-lens scoring engine with four investment philosophies:
Buffett Lens (30% weight): ROE quality, balance sheet fortress (D/E ratio), DCF margin of safety, free cash flow yield, margin durability. Every metric is scored on a fixed scale. Output: PASS / MAYBE / FAIL.
Munger Lens (20% weight): Charlie Munger's "inversion" approach. Instead of "Is this good?", it asks "What could kill this?" Heavy leverage? Thin margins? Unprofitable with high beta? Red flags get penalized. Output: GREEN / YELLOW / RED.
Hedge Fund Lens (20% weight): Momentum-first. RSI positioning, revenue growth acceleration, beta as tradeability. Catalyst identification. Output: LONG / NEUTRAL / AVOID.
Portfolio Manager Lens (30% weight): Risk-adjusted position sizing. Beta-aware allocation, PEG for growth-at-reasonable-price, VIX regime sensitivity. Output: CORE 5-8% / SATELLITE 3% / TRADE 1%.
The composite score maps to a verdict: ACCUMULATE (70+), WATCH (50-69), TRADE_ONLY (30-49), or PASS (<30).
The critical design decision: the LLM never generates these scores. They're pre-calculated from real financial data and injected into the AI's context with hard instructions: "These numbers are calculated. Do not override them." The AI's job is narrative — explaining WHY Buffett scored 72 while Munger flagged RED. The tension between lenses IS the insight.
The MoonShot Score
Everything culminates in a single 0-100 score:
MoonShot = Technical Momentum + Fundamental Strength + Sentiment
+ Model Consensus - Divergence Penalty
- Macro Adjustment + Beta Adjustment
It's opinionated by design. Not "here are 47 metrics, figure it out." One number. One grade. One clear signal. Then the full breakdown underneath for anyone who wants to dig deeper.
SSE Streaming (The Perceived Latency Hack)
A full analysis takes 8-15 seconds. Users bounce at 3. My solution: stream everything via Server-Sent Events.
The user sees "Fetching real-time market data..." then "AI is analyzing..." then text starts appearing token by token, then charts and widgets render. The actual computation time didn't change. But the perceived wait dropped from 12 seconds to about 2.
6,000+ Server-Rendered Stock Pages
Every stock page is server-side rendered for Googlebot. Major stocks like AAPL get 115KB of rich SSR content. Smaller stocks get lighter pages. Invalid tickers return HTTP 410 (Gone) — telling Google to drop them entirely, not waste crawl budget on 404s.
6,039 stock pages + 496 journal articles + 64 sector hubs + 124 static pages = 6,723 URLs in the sitemap that Google actively crawls and indexes.
The One-Man Reality
Let me be honest about what building this alone actually looks like.
The codebase: 743 source files. 174,127 lines of TypeScript. The core AI pipeline alone is 7,030 lines across two files. The prediction engine with its Kalman filter and Bayesian logic is another 1,000 lines. I've rewritten major systems three times.
The AI coding agents: I use AI coding agents as force multipliers. They write implementation, debug edge cases, refactor at speed. But the architecture decisions, the UX instincts, the "this feature is useless, kill it" moments — that's still human judgment. The magic formula is: human vision + AI execution speed.
The mistakes I've made:
Spawning a Python child process per Prophet prediction. Should have built a persistent worker pool. Cold starts still haunt me.
My intent classifier is 100% regex. It works shockingly well until it doesn't. "AAPL stock" and "stocks like AAPL" trigger completely different code paths based on pattern matching.
Running 5 prediction models + Kalman filter + Bayesian updates + LLM streaming on a single-threaded Node.js server. On busy days, the event loop has feelings about this.
What I got right:
Deterministic scoring that the LLM can't hallucinate. This is the single most important architectural decision in the entire product.
Streaming everything. The perceived performance improvement changed user behavior completely.
Building taste, not features. A team of 20 would have built a dashboard with 47 tabs. I built a chat interface where you ask a question and get an answer.
The Beta Offer
Stock Expert AI is currently in open beta. Everyone who signs up during beta gets 2 years of free premium membership after launch. No credit card, no catch.
I'm building this in public because I believe the best products get built with real user feedback, not in isolation. If you're an investor who's tired of the gap between "free tools that don't work" and "institutional tools you can't afford" — this is what I built for you.
Happy to answer any questions about the architecture, the business model, or why I thought building 174K lines of TypeScript alone was a reasonable life choice.
About
I built Stock Expert AI to give every retail investor access to the same multi-model quantitative analysis and legendary investor frameworks that Wall Street keeps behind a $25K/year paywall. Invest Smarter, Not Harder.

Comment