Real-time stock tracking, personalized alerts, and AI-driven market insights.
- ✨ Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🛠️ Challenges & Fixes
- 🤸 Quick Start
Quotient is a full-stack, AI-powered stock market tracking application I built as part of my development portfolio. It combines real-time financial data, event-driven background workflows, and AI-generated market summaries into a polished, production-ready product.
The app allows users to track live stock prices, manage a personal watchlist, set price alert thresholds, and receive automated daily market digests via email — all powered by a modern Next.js architecture with MongoDB, Better Auth, Inngest, and Groq AI.
-
Next.js — Full-stack React framework handling both the frontend UI and backend API routes with server-side rendering and server actions.
-
Better Auth — Framework-agnostic TypeScript authentication library powering email/password login, session management, and user accounts.
-
Finnhub — Real-time financial data API providing live stock quotes, company profiles, financial metrics, and market news.
-
Inngest — Event-driven workflow platform used to orchestrate background jobs including alert checks, daily email digests, and AI inference steps.
-
Groq AI — Used via
step.ai.wrap()with the Vercel AI SDK to generate personalized welcome emails and daily news summaries at no cost. -
MongoDB — NoSQL database storing users, watchlists, and alert configurations.
-
Nodemailer — Handles transactional email delivery for welcome emails, daily digests, and price alert notifications.
-
Shadcn/ui + TailwindCSS — Component library and utility CSS framework used to build a clean, dark-mode-first responsive UI.
-
TradingView Widgets — Embedded interactive charts including candlestick charts, market heatmaps, and financial overviews. Integrated via a custom
useTradingViewWidgethook with memoized rendering. -
TypeScript — Strict typing across the entire codebase for reliability and maintainability.
👉 Stock Dashboard — Real-time market overview with interactive candlestick and baseline charts, a zoomable S&P 500 heatmap grouped by sector, and a live market news feed.
👉 Intelligent Search — Fast stock search powered by the Finnhub API with watchlist status indicators directly in results.
👉 Watchlist Management — Add and remove stocks from a personal watchlist with live price, change percentage, market cap, and P/E ratio data displayed in a sortable table.
👉 Price Alerts — Set upper and lower price threshold alerts per stock. Alerts are evaluated on a schedule via Inngest background jobs and trigger instant email notifications.
👉 AI-Powered Daily Digest — Every day at noon, Inngest automatically fetches each user's watchlist news, summarizes it using Groq AI (Llama 3), and delivers a personalized email digest.
👉 Personalized Welcome Email — On sign-up, an AI-generated welcome message is crafted based on the user's investment goals, risk tolerance, and preferred industry.
👉 Company Insights — Deep-dive pages per stock with TradingView-powered financials, technical analysis, company profile, and recent news.
👉 Authentication — Secure email/password sign-up and sign-in with session management via Better Auth.
👉 Performance Optimized — TradingView widgets are wrapped in React.memo to prevent unnecessary re-renders given their heavy script injection cost.
Prerequisites
Clone the repository