Skip to content

Project · 2026

Fidash

Self-hosted market research and prediction-market trading dashboard backed by a FastAPI service and scheduled data pipelines.

Role: Creator
  • Python
  • FastAPI
  • Streamlit
  • SQLAlchemy
  • PostgreSQL
  • Plotly
  • APScheduler
  • Docker

Project snapshot

FiDash Terminal showing the live S&P 500 scanner workspace and historical runs.
Live deployment screenshot.
Status
Active self-hosted research platform; weather bot runs live on Kalshi while other bots run in paper mode.
Runtime
Private Python service with a dashboard and scheduled data pipelines.
Data
Scheduled ingestion from Polygon, NewsAPI, AlphaVantage, Alpaca, RSS feeds, and Kalshi markets.
Ops
PostgreSQL with Alembic migrations, Docker Compose monitoring, Prometheus, and Grafana.

Technical proof

  • Layered FastAPI app with routers for tickers, news, sentiment, scans, backtests, alerts, watchlists, paper trading, and Kalshi bots.
  • Trading bots follow a data-loader/model/bot pattern with walk-forward backtesting and cross-restart deduplication.
  • Options scanner generates strategy cards for spreads, iron condors, strangles, and straddles.

What it is

Fidash is a private financial research platform that aggregates market news, runs sentiment analysis, and evaluates automated trading strategies. A Streamlit dashboard communicates with a FastAPI backend over a private service boundary.

Architecture

The architecture follows a layered pattern: endpoints -> controllers -> services -> repositories -> SQLAlchemy models. A FastAPI app factory wires together over a dozen domain routers covering tickers, news, sentiment, scans, backtests, alerts, watchlists, paper trading, and a Kalshi prediction-market bot. An APScheduler instance runs background jobs for data ingestion from Polygon, NewsAPI, AlphaVantage, Alpaca, and RSS feeds, alongside alert evaluation, queued workflow execution, and scheduled Kalshi reconciliation. The Streamlit frontend uses aiohttp to call the backend asynchronously, with a centralized theme system (dashboard_theme.py) that owns all colors and chart defaults.

Technical highlights

The stack is Python 3.11 throughout. Sentiment scoring uses VADER and onnxruntime-served models. The scanner generates options strategy cards (put_credit_spread, iron_condor, short_strangle, short_straddle) from scan results. The Kalshi bot subsystem includes discrete trading bots for weather, gas prices, jobless claims, oil, and S&P 500 markets — each following a data_loader -> model -> bot pattern with walk-forward backtesting, paper and live modes, position limits, and cross-restart deduplication via JSONL and SQLite persistence. The database is PostgreSQL in production with Alembic migrations, SQLite for local development. Monitoring is provided by Prometheus and Grafana via Docker Compose.

Where it’s at

The project is in active development, with strategies evaluated through a mix of live and paper workflows under defined risk limits.