From Wall Street to Browser Tab: Build a Free, AI-Powered Stock Dashboard with Next.js 15 in 30 Minutes
“If knowledge is doomed to live behind paywalls, let’s tear the wall down with open source.”
— Open Dev Society
01|A Tale of 2 A.M. Anxiety
It’s 2 A.M. Leo, a front-end engineer, is doom-scrolling his phone.
The bonus he just threw into U.S. tech stocks is now a lush shade of red.
“I just need a single page where I can see my tickers, live prices and an AI-written briefing—without paying $99 a month.”
Leo isn’t a hedge-fund quant.
He does know open source and Next.js.
Thirty minutes later he had cloned OpenStock, spun up MongoDB in Docker, let AI write his welcome email and auto-deployed to Vercel.
The next morning he dropped the link in Slack. Fifty-two stars before lunch.
Below is the exact, copy-pasteable recipe—no finance PhD, no credit card, no server required.
02|Architecture at a Glance
Dark mode by default—because markets never sleep.
-
Browser → Next.js 15 (App Router) -
Server Actions → Finnhub / TradingView widgets -
User events → Inngest event stream → Gemini → Nodemailer -
93.4 % TypeScript coverage— any
is considered a bug.
03|30-Minute Local Quick-Start
Minimal .env
keys:
Open http://localhost:3000—if you see candlesticks, you now own a private Bloomberg terminal.
04|Let AI Write Your “Investment Motto” Email
Inngest function (lib/inngest/functions.ts
), only 12 lines:
-
☾ Token cost: 1 k users × 30 words ≈ $0.18 / month -
☾ Retry policy: exponential back-off, 5th failure pushes to your Discord webhook.
05|How to Deploy Free on Vercel (Production-Ready)
-
Push repo to GitHub (private or public). -
Vercel Dashboard → Add New → Import Git. -
Paste exact env variables from .env
. -
Build command: pnpm build
-
Deploy → <45 s HTTPS domain ready. -
Add Cron 0 12 * * *
pointing to/api/inngest
for daily AI news digests.
Free tier: 100 GB·h—handles ~1 k DAU with room to spare.
06|SEO & GEO Optimisation Highlights
-
☾ Target keywords naturally woven: “open source stock dashboard”, “free Next.js finance app”, “AI personalised investment email”. -
☾ Semantic variants: ticker tracker, real-time watchlist, dark-mode trading UI. -
☾ Structured data: Article + FAQPage schemas embedded (see JSON-LD at footer). -
☾ Geo-agnostic: Finnhub covers 60 k global symbols; i18n-ready routes ( /stocks/7203.T
for Toyota).
07|FAQ (What Google’s “People also ask” wants)
Q1: How delayed is Finnhub’s free tier?
A: U.S. equities 15 min, crypto real-time. Upgrade for tick-by-tick.
Q2: Can I swap Gmail for corporate SMTP?
A: Replace createTransport
config in lib/nodemailer/transporter.ts
—SendGrid, Mailgun, Postmark all tested.
Q3: Replace Gemini with local Llama-3?
A: Point step.ai.infer
to http://localhost:11434/api/generate
(Ollama). Zero business-logic changes.
Q4: WebSocket real-time order book?
A: Roadmap issue #42, planned Q4 2025 via Next.js 15 SSR streaming. PRs welcome.
08|Extending the Blueprint
09|Key Takeaways for Developers & Content Creators
-
Event-driven > CRON: Inngest turns “send email” into a reliable, observable workflow—no self-managed queues. -
AI cost is now a rounding error—sub-cent per user per month. -
TypeScript + Server Actions = end-to-end type safety from DB to JSX. -
Open source != hobby tier: same stack scales to 1 k daily active users on free plans.
10|Your Next 3 Clicks
-
Star the repo so the community keeps demolishing paywalls. -
Tweet a screenshot of your AI-written welcome email—tag @OpenDevSociety, we’ll buy you a virtual coffee. -
Open an issue: algo-trading? crypto? ESG scores? The roadmap is 100 % public.
Markets reward speed; open source rewards curiosity.
Fork it tonight, trade tomorrow, share forever.