DeltaLoop — Read Between the Filings
Institutional-grade investment research, powered by AI and SEC EDGAR. Built for the investor who wants to cut throught the noise.
The Problem
Every quarter, thousands of 10-K and 10-Q filings hit the SEC EDGAR database. Each one is dense, technical, and written by lawyers — not for investors. Analysts at large funds have entire teams to parse these documents, cross-reference market data, and synthesize a view. Individual investors and smaller shops get a PDF and a prayer.
DeltaLoop closes that gap. It automatically extracts fundamental signals from SEC filings, layers in live market data, recent news sentiment, and macroeconomic context, and surfaces a clear verdict: Positive, Neutral, or Negative — with the reasoning to back it up.
What It Does
DeltaLoop is a full-stack AI research platform with five core workflows:
1. Company Tracking & Watchlist
Search any SEC-registered company by ticker or name. DeltaLoop resolves the official CIK from EDGAR, pulls the company’s filing history, and adds it to your personal watchlist. From the dashboard you get an “Intelligence Overview” — a snapshot of signal distribution and recent activity across all tracked equities.
2. SEC Filing Sync
One click pulls the company’s full 10-K and 10-Q history directly from the SEC EDGAR Submissions API. Each filing is stored with its report date, filing date, period of report, and a direct link back to the original document on sec.gov. No scraping, no third-party data middleman.
3. AI-Powered Analysis
Select any filing, optionally choose a prior period for comparison, and trigger a “Generate Analysis.” The system bundles:
- Filing metadata (type, period, filing date)
- Live market data from Yahoo Finance (price, 52-week range, market cap, trailing P/E)
- Recent news headlines from Finnhub, evaluated for sentiment
- Period-over-period delta if a comparison period is selected
- Macroeconomic backdrop (Fed rates, inflation trends, sector signals)
…into a single structured prompt for Gemini 2.5 Flash, which returns a strict JSON payload containing:
- Executive summary
- Key changes (revenue, debt, margins, and more)
- Risk factors
- Opportunities
- A fundamental signal with a confidence score
4. Customizable Scoring Methodology
Not every investor weights the same things equally. DeltaLoop’s Methodology page lets you tune the analysis via sliders:
| Dimension | Default Weight |
|---|---|
| SEC Filing Fundamentals | 35% |
| Market Valuation | 25% |
| News Sentiment | 20% |
| Period-over-Period Change | 10% |
| Macroeconomic Context | 10% |
Adjust the weights and regenerate — the AI recalibrates its signal accordingly.
5. Guest Explore Mode
No account required to try the product. The /explore page lets any visitor search companies and generate basic data insights. It’s the top of funnel, but it’s also genuinely useful.
User Flow
Landing Page
↓
Explore (guest) — try a free company search
↓
Sign Up (Clerk)
↓
Dashboard — watchlist overview + sentiment distribution
↓
Company Search — find ticker by name or symbol
↓
Company Detail — sync EDGAR filings, view market fundamentals
↓
Generate Analysis — pick a filing + optional comparison period
↓
Analysis Detail — executive summary, key changes, signal verdict
↓
Methodology — tune scoring weights → re-analyze
Tech Stack
Frontend
| Layer | Technology |
|---|---|
| Framework | React 19 + Vite 7 |
| Routing | Wouter |
| Data Fetching | TanStack Query v5 |
| UI Components | Shadcn UI (Radix UI + Tailwind CSS v4) |
| Animations | Framer Motion |
| Charts | Recharts |
| Forms | React Hook Form + Zod |
| Icons | Lucide React |
| Auth | Clerk (@clerk/react) |
| i18n | i18next + react-i18next (English & Chinese) |
Backend
| Layer | Technology |
|---|---|
| Framework | Express 5 (Node.js) |
| Language | TypeScript (esbuild + tsx) |
| API Contract | OpenAPI 3.1 (code-first spec in lib/api-spec) |
| Code Generation | Orval → React Query hooks + Zod schemas |
| Auth Middleware | Clerk Express |
| Logging | Pino + pino-http |
Database
| Layer | Technology |
|---|---|
| Database | PostgreSQL |
| ORM | Drizzle ORM |
| Migrations | Drizzle Kit |
| Schema Validation | Drizzle-Zod |
AI & External Data
| Service | Role |
|---|---|
| Google Gemini 2.5 Flash | Core AI model for filing analysis + signal generation |
| OpenAI | Secondary AI integration (available for audio/batch) |
| SEC EDGAR API | Company CIK resolution, filing index, submissions history |
| Yahoo Finance | Live price, 52-week range, market cap, trailing P/E |
| Finnhub | Recent news headlines for sentiment scoring |
Infrastructure
| Layer | Technology |
|---|---|
| Monorepo | pnpm Workspaces |
| Build | esbuild (server), Vite (client) |
| Platform | Replit (PostgreSQL + deployment) |
Architecture Highlights
Contract-First API Design
The OpenAPI spec in lib/api-spec/openapi.yaml is the single source of truth. Orval generates type-safe React Query hooks for the frontend and Zod validators for the backend automatically — zero drift between client and server contracts.
Shared Library Monorepo
The repo is organized as a pnpm workspace with shared lib/ packages:
lib/db— Drizzle schema, migrations, shared DB clientlib/api-spec— OpenAPI spec + codegen pipelinelib/api-client-react— Generated React Query hookslib/api-zod— Generated Zod schemaslib/integrations-gemini-ai— Gemini client wrapperlib/integrations-openai-ai-server— OpenAI client wrapper
This means the frontend can never call an endpoint that doesn’t exist in the spec, and the backend validates every input against the same Zod schemas the spec generated.
Multi-Dimensional AI Prompt Engineering
Rather than dumping a raw PDF into an LLM, DeltaLoop structures the analysis context deliberately. Each prompt includes normalized metadata, quantitative market signals, sentiment-scored news, and a hardcoded macro backdrop — then instructs Gemini to produce a strict JSON response. This keeps outputs consistent and parseable, not free-form hallucinations.
Weighted Signal System
The scoring weight system is the core of the product’s defensibility. By exposing the methodology to users, DeltaLoop becomes a platform for different investment philosophies — a value investor can upweight filing fundamentals; a momentum trader can upweight news sentiment. The same filing can yield different signals for different users based on their configuration.
Theme-Aware Design System
The UI supports dark and light modes via a custom ThemeProvider. Clerk’s authentication components are fully re-themed at runtime using buildClerkAppearance(isDark) — no static styles, no jarring mode mismatch on the sign-in page.
Bilingual Output
Analysis reports can be generated in English or Chinese. The language preference is stored per-analysis in the database, displayed with a language badge in the UI, and passed through the AI prompt so the output is natively written in the selected language — not machine-translated after the fact.
Key Technical Challenges
1. Making SEC EDGAR Actually Usable
EDGAR’s public APIs are powerful but underdocumented. The company search uses the browse-edgar Atom feed, CIK resolution goes through the Submissions API, and filing links are reconstructed from the filing index structure. None of this is obvious from EDGAR’s documentation.
2. Structured AI Output at Scale Getting Gemini to reliably return valid, schema-consistent JSON across thousands of different companies and filing types required careful prompt engineering: explicit field definitions, examples of valid output, and strict instructions not to deviate. The backend validates every response against a Zod schema before storing it.
3. Aggregating Five Data Sources in Real Time Each analysis pull touches SEC EDGAR, Yahoo Finance, and Finnhub in parallel before assembling the prompt. Error handling for each source is isolated so a Finnhub outage doesn’t kill an analysis — it just reduces the news sentiment weight in the prompt.
4. Type Safety Across the Monorepo With three separate workspace packages consuming the same API (frontend hooks, backend validators, shared types), keeping types synchronized without manual effort was critical. The OpenAPI → Orval → Zod pipeline solves this entirely at codegen time.
What’s Next
- Full Filing Text Ingestion — parsing the actual 10-K/10-Q XBRL data for raw financial statements, not just metadata
- Portfolio-Level Signals — cross-portfolio sentiment and diversification analysis
- Alert System — push notifications when a tracked company files a new 10-K or 10-Q
- Historical Signal Tracking — longitudinal charts showing how a company’s fundamental signal has evolved over time
- Peer Comparison — side-by-side analysis across companies in the same sector
Try It
Live App: DeltaLoop
Start with the Explore page — no account needed. Search any public US company, and get a data snapshot in seconds. Sign up to unlock watchlists, full AI analyses, and the methodology tuning center.
Built with React 19, Express 5, Gemini 2.5, Drizzle ORM, and SEC EDGAR on Replit.