Diligence App

Anthropic API Key

The key is write-only — it's never sent back to this page once saved. Prefer setting the ANTHROPIC_API_KEY environment variable on Railway instead: an environment key takes precedence and never touches the database. Anyone who can reach this app can spend against whichever key is active.

Model

Opus 5 is the most capable and the right default for research write-ups. Sonnet 5 is faster and cheaper if you're generating a lot of these.

Effort

How long Claude thinks before writing. Drop this to Medium if drafts are timing out — Opus 5 stays strong at the lower levels.

Financial Modeling Prep API Key

FMP restricts coverage by ticker as well as by endpoint, so test the ticker you actually care about — a pass on AAPL says nothing about the rest.

Write-only, like the Anthropic key — never sent back to this page once saved. Setting FMP_API_KEY as an environment variable on Railway takes precedence and keeps the key out of the database entirely.

Alpha Vantage API Key

Used when FMP can't answer. Carries forward EPS and revenue with high/low dispersion and 30/90-day revision trends — but no forward EBITDA or EBIT, so those rows stay blank. The free tier allows 25 requests per day, so responses are cached for six hours. ALPHAVANTAGE_API_KEY as an environment variable takes precedence, same as the others.

Diagnose a Ticker

Asks FMP, Alpha Vantage and Yahoo the same question and shows what each one actually said. Use it when the Consensus block falls back and the reason isn't obvious. Costs one Alpha Vantage call.

Emailed Ideas — Mailbox

Use a mailbox dedicated to this. IMAP grants read access to everything in the account, so pointing it at your personal inbox hands the app all of your mail. Forward ideas into the dedicated mailbox instead.

Gmail needs an app password with 2-step verification on — your normal password will be refused. The password is write-only here; setting INBOX_IMAP_PASSWORD on Railway takes precedence and keeps it out of the database.

Emailed Ideas — Webhook

For a mail service (Mailgun, SendGrid, Postmark, CloudMailin) posting straight to the app. The URL below carries the shared secret — anyone holding it can file ideas into your tracker, so treat it as a password and rotate it if it leaks.

Transcript Research

Summaries are a compressed view, so the trends pass can only see what the per-call pass kept. Reading the transcripts catches what compression loses — wording that changed quarter to quarter, a metric that stopped being reported, a question that kept being asked and never answered — but sends every transcript in one request, which is slow and costs materially more. Long histories are trimmed evenly to fit.

Before summarising a call, Claude searches for what was written about that quarter at the time — results versus consensus, why commentators said the stock moved, and anything happening that week that the transcript can't mention. The summary gets it as background, each call card gains a short market-reaction note and links to the coverage. This adds a second model call per transcript, and web search is billed per search on top of tokens. A failed search costs the coverage, not the summary.

Model Template

Your blank starting model. Every project's Model page offers it as a download, and the copy it hands out is already tagged for that project — so when you've filled it in, dropping it back files it as v1 without you saying where it goes.

System Prompt

fixed — defines the summary / detail split

  

Business Description Prompt

Bull Case Prompt

Bear Case Prompt

Prompts can use {ticker}, {name}, {direction}, and {context}. {context} is replaced with the project's details and its full tearsheet — leave it in unless you specifically don't want the model to see the numbers.