MarketAlerts · founding engineer · client work
Classifying financial signals
I owned the AI classification layer and alert engine for an investment-intelligence platform. It turned filings and financial news into events users could follow across 20+ markets. The company wound down in March 2026.
- Filings, transcripts and news
- Airflow pipelines
- First cut by a cheap model
- Hard cases to a stronger model
- Classified events
- Alert engine
- Python
- Airflow
- Kubernetes
- OpenAI
- Azure OpenAI
- Gemini
- Perplexity
- TypeScript
- BullMQ
Why I built it this way: Classifying financial signals
- Classification is hierarchical. A cheap model takes the wide first cut and a stronger one runs only where the decision is hard, and when a result comes out wrong there is a level to inspect instead of one long prompt to stare at.
- Providers sit behind one registry keyed by name, and each key resolves to that provider's whole config. Azure OpenAI needs an API version and a deployment name that OpenAI does not, so a flat shared interface would either hide that or leak it.
- Model output gets stripped of markdown fences before parsing. A model asked for JSON wraps it in a code block often enough to break a parser that trusts it.
- The earnings-call summariser turns raw transcripts into structured highlights. It started on OpenAI and moved to Gemini in production.
- For users, an analyst chat streams answers backed by live web search through OpenAI and Perplexity, with history shared across devices, voice questions and plan-based usage limits.