Skip to content

Repository files navigation

Signalist: Real-time stock market tracking & investment intelligence platform

Next.js React TypeScript Tailwind CSS MongoDB TradingView Inngest Vercel

About

Signalist is an intelligent stock market companion that combines real-time market data with AI-powered personalization to keep investors informed without the noise.

Navigate the markets like never before — monitor live prices, discover companies through deep-dive charts and fundamentals, build a personalized watchlist, and set smart price alerts. Signalist learns your investment style during onboarding and delivers AI-curated daily news digests and personalized insights tailored to your portfolio — straight to your inbox.

Whether you're a seasoned trader or just getting started, Signalist cuts through the clutter so you never miss a signal.

Features

📊 Market Dashboard

  • Market Overview widget tracking major indices and sectors via TradingView
  • Stock Heatmap visualizing S&P 500 performance by sector, market cap, and change
  • Top Stories feed with latest market news
  • Market Quotes data table

🔍 Stock Search & Details

  • Command palette (Ctrl+K) powered by Finnhub API for instant stock lookup
  • Popular stocks shown by default, debounced search as you type
  • Stock detail pages with advanced candlestick charts, technical analysis, company profiles, and financials
  • One-click watchlist toggle

📋 Personalized Watchlist

  • Save and manage your favorite stocks
  • Stored per-user in MongoDB, unique per symbol
  • Quick add/remove from any stock detail page

⚠️ Price Alerts

  • Set upper and lower threshold alerts for any stock
  • Get notified via email when a stock hits your target price
  • Alert types: price above, price below, and volume spikes

🤖 AI-Powered Email Intelligence

  • Personalized welcome email tailored to your investment goals, risk tolerance, and preferred industry — generated by Google Gemini
  • Daily news summary — AI curates and summarizes market news relevant to your watchlist and delivers it straight to your inbox
  • Built with Inngest event-driven workflows and cron jobs

Tech Stack

Category Technologies
Framework Next.js 16 (App Router, React 19)
Language TypeScript
Styling Tailwind CSS v4, tw-animate-css
UI Components shadcn/ui (Radix UI primitives), lucide-react icons, cmdk
Authentication Better-Auth (email/password, MongoDB adapter)
Database MongoDB Atlas via Mongoose
Stock Data Finnhub API (real-time quotes, news, company profiles)
Charts TradingView widgets (market overview, heatmap, candlestick, technicals, financials)
AI / Workflows Inngest + Google Gemini API
Email Nodemailer (Gmail SMTP)
Code Quality ESLint, Prettier, CodeRabbit
Deployment Vercel

Getting Started

Prerequisites

  • Node.js 20+
  • npm
  • MongoDB Atlas cluster (or local MongoDB instance)
  • Finnhub API key (free tier available at finnhub.io)
  • Google Gemini API key (Google AI Studio)
  • Inngest account (inngest.com)

Installation

# Clone the repository
git clone https://github.com/yourusername/signalist.git
cd signalist

# Install dependencies
npm install

# Set up environment variables (see below)
cp .env.example .env

# Run the development server
npm run dev

Open http://localhost:3000 in your browser.

Environment Variables

# node environment
NODE_ENV=development

# Next.js
NEXT_PUBLIC_APP_URL=http://localhost:3000

# MongoDB
MONGODB_URI=your_mongodb_connection_string

# Better-Auth
BETTER_AUTH_SECRET=your_secret_key
BETTER_AUTH_URL=http://localhost:3000

# Google Gemini
GEMINI_API_KEY=your_gemini_api_key

# Nodemailer credential
NODEMAILER_EMAIL=<your email>
NODEMAILER_PASSWORD=<your password>

# Finnhub API
NEXT_PUBLIC_FINNHUB_API_KEY=your_finnhub_api_key

Project Structure

signalist/
├── app/ # Next.js App Router pages & API routes
│ ├── (auth)/ # Sign-in & sign-up pages
│ ├── (root)/ # Dashboard, stock detail pages
│ └── api/ # API routes (Inngest, etc.)
├── components/ # React components
│ ├── forms/ # Form field components
│ └── ui/ # shadcn/ui primitives
├── database/ # MongoDB connection & models
├── hooks/ # Custom React hooks
├── lib/ # Utilities, server actions, auth config
│ ├── actions/ # Server actions (auth, finnhub, watchlist)
│ ├── better-auth/ # Better-Auth configuration
│ ├── inngest/ # Inngest client, functions, prompts
│ └── nodemailer/ # Transporter & email templates
├── middleware/ # Auth middleware
├── public/assets/ # Static assets (logos, images)
├── types/ # Global TypeScript type definitions
└── scripts/ # Utility scripts

Available Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npm run test:db Test database connection

Roadmap

  • Core authentication & onboarding
  • Real-time market dashboard
  • Stock search & detail pages
  • Watchlist management
  • AI-powered daily news emails
  • Personalized welcome emails
  • Search page
  • Price alert CRUD (backend + UI)
  • Watchlist page
  • Volume alerts & inactive user re-engagement

About

Signalist - Track real-time stock prices, get personalized alerts and explore detailed company insights.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages