Fintech

Envest

Financial research platform

In productionVisit project

A research and portfolio intelligence platform for equity analysts — real-time market data, historical analysis, and SEC filings, combined with RAG over public and private documents. Grounded AI Q&A with traceable citations, live charts, and instant document generation.

Envest product screenshot

What Envest is

Envest is a research and portfolio intelligence platform for equity analysts, portfolio managers, and independent researchers. Most research tools answer "what does the document say." Envest is built to answer a longer question: what's true, what it means for a portfolio that already holds the position, and what's worth acting on — research, portfolio state, and monitoring, in one conversational surface instead of three disconnected tools.

Every answer comes with a citation you can click straight through to the source — a specific line in a 10-K, an earnings call transcript, a market data point. Traceability isn't a feature bolted on afterward; it's the constraint the rest of the system was designed around.

Integrating the data

A financial research platform is only as good as the data underneath it, and that data comes from sources that don't agree on format, freshness, or cost:

  • SEC filings — ingested directly from EDGAR: 10-K, 10-Q, and 8-K filings for the ~8,000 companies listed on NYSE, NASDAQ, and NYSE American, plus structured fundamentals (P/E, EV/EBITDA, revenue, margins) parsed straight from XBRL.
  • Market data — historical daily prices and a near-real-time snapshot, normalized behind a provider-agnostic data layer so the source can be swapped without touching the analytics or visualization code above it.
  • Sector and historical multiples — a company's live P/E isn't meaningful on its own; it's compared against its sector peers' median and against the sector's own ~10-year historical range, pulled from a third-party market-data provider's own multiples history rather than bounded by whatever window we've locally ingested.
  • Macro series — Fed Funds Rate, Treasury yields, CPI and similar indicators from FRED, correlated against a holding's own returns over the same window — using the change in the series, not the level, since correlating against a level produces a misleading number.
  • Earnings call transcripts and private documents — indexed and chunked for retrieval, so a question like "what did NVIDIA say about data center demand on their last call" resolves to the actual excerpt, not a paraphrase.
  • A client's actual portfolio — transactions, positions, and exposure, so a question about a company isn't answered in the abstract if that company is already something a client holds.

How it's put together

Envest company research view for NVIDIA, with price chart, fundamentals, and the eight research tabs

An LLM orchestrator (OpenAI function calling) interprets the question, decides which tools to call — sector valuation, correlation, historical comparison, document search — and in what order, chaining multi-step reasoning without hand-written routing logic. Below that sit three purpose-built engines: a data engine that normalizes whatever provider a given data type comes from, an analytical engine that computes returns, volatility, drawdown, and correlation, and a visualization engine that turns a declarative chart specification into an interactive line, bar, scatter, or heatmap chart — decoupled from the conversational layer, so adding a new chart type is a visualization-layer change, not a rewrite of how the assistant reasons.

The result surfaces as: a dashboard, eight-tab company research (Overview, News, Financials, Earnings, Historical Data, Filings, Management, Comps), a one-click watchlist that starts pulling filings and price history immediately, price alerts, shared workspaces per thesis or client review, and — once a conversation produces something worth keeping — a Word, Excel, or PowerPoint document generated in seconds, with the same citations carried through.

Under the hood: a FastAPI + SQLAlchemy 2.0 backend on async Postgres, a Next.js + React frontend, and a full multi-tenant model — organizations, workspaces, roles, audit trail — because research and portfolio data at a bank or a fund is sensitive by default, not as an afterthought.

A closer, more technical look at one real engineering session building three of these analytical tools — and the six real bugs that came with it — is in our write-up on it.