Back to projects

Case study

StoxLens

A daily watchlist triage tool that helps investors and student analysts decide which stocks need attention, why they changed, and whether the original watch thesis still holds.

Today triage view. Click to enlarge.
Watchlist notes. Click to enlarge.

Overview

StoxLens helps users review a stock watchlist faster by combining saved watch notes, price/news triggers, and snapshot comparisons. Instead of manually checking every ticker each day, users can see which stocks moved from low to medium/high attention and what changed since the last check.

Problem

Watchlists often become passive lists of tickers. Users add a stock for a reason, but later have to manually check price action, news, risks and original thesis notes to decide whether anything meaningful changed.

Users

Students, analysts and technically minded investors who want a structured local workflow for comparing companies and reviewing signals.

Outcome

A practical full-stack fintech product that turns a static watchlist into a daily review workflow, combining user-owned notes, market signals, news-aware triggers, persistence and clear change summaries.

Main capabilities

  • Watchlist CRUD with saved watch reason, main risk, and change-my-mind notes.
  • Daily Today page ranking tickers by attention urgency.
  • Snapshot comparison showing what changed since the previous check.
  • Price/news trigger explanations using deterministic rules.
  • Historical price-data retrieval with Alpha Vantage and Yahoo Finance fallback.
  • Optional structured research briefs and report history.

Technical approach

  • FastAPI and Python handle data retrieval, calculations and research-brief generation.
  • pandas and NumPy support signal computation over historical price data.
  • SQLAlchemy and PostgreSQL persist watchlists, history and generated reports.
  • The frontend presents comparison and research workflows in Next.js and TypeScript.
  • Persisted triage snapshots support latest-vs-previous comparisons.
  • Watchlist notes connect directly to Today alerts.
  • Deterministic scoring and keyword-based news classification avoid opaque “AI says so” behaviour.

Important engineering decisions

  • Used provider fallback so the app remains usable when one data source is unavailable or rate-limited.
  • Kept local in-memory fallback behaviour for development and resilience.
  • Treated AI briefs as optional, not the core product.
  • Used deterministic alert logic so users can inspect why a stock was flagged.
  • Stored watch notes and triage snapshots so alerts have context and history.

Challenges and trade-offs

  • Handling external API limits without making the product feel broken.
  • Presenting quantitative signals clearly without implying investment advice.

Contact

I’m open to graduate and junior software, data and technology opportunities from late 2026.

Send me an email or connect with me on LinkedIn. I’m especially interested in Sydney and Melbourne roles across software engineering, fintech, full-stack product work, data and technology consulting.