MarginCall

alerts on company fundamentals

Full-stack project · 2025 · Full-stack

The MarginCall dashboard with five signals, one of them triggered

The problem

Investors watch a handful of numbers per company, like debt against cash or a sharp price drop, and checking them by hand means missing the moment they change.

Outcome

Checks live market data every minute

Stack

  • Next.js
  • NestJS
  • PostgreSQL
  • Python
  • yahooquery
  • Docker

What I built

A signal engine. Pick a stock and one of 27 Yahoo Finance metrics across the balance sheet, cash flow, ratios, the income statement and market data. Then compare it with another metric (“total debt above total cash”), a fixed value (“current ratio below 1”) or a percentage move since you set it (“down 15%”).

How it works

  • Next.js dashboard with JWT accounts, a signal builder that shows live values, and per-signal history.
  • NestJS API on PostgreSQL that stores signals with their starting values, evaluates every rule and records each trigger.
  • Python service that discovers the metrics for a ticker and, every minute, fetches fresh data for the active signals and posts it to the API.
  • Docker Compose runs the whole stack with one command.