Óscar Romero Quincoces

Projects / Products and tools

Briefly

A two-voice podcast on your stocks

Live demo2026MIAX master's, Instituto BME
Today's briefing: the two-voice audio player, market tone and quotes
Figure 1. Today's briefing: the two-voice audio player, market tone and quotes

Summary

Four minutes of audio on how your stocks closed. It also reads your PDFs, charts and broker screenshots, and answers out loud in 6.4 seconds. 232 of 232 figures trace back to their source, and not one sentence is a recommendation. 1,301 tests, €0.034 per briefing. Built in a team of 3.

Claude, Gemini TTS and Whisper, with CLIP and FinBERT running locally.

The problem

A retail investor gets market information scattered across formats: headlines, 40-page results PDFs, candlestick charts. There is no time to read it all every day, and generic summaries don't talk about their own portfolio. Briefly turns the close of the stocks you follow into a podcast of about four minutes, with two synthetic voices, Toro and Osa, that you can listen to, read, watch as a vertical video, get on Telegram and question out loud.

How it's built

A chain of models, each doing what it does best at the lowest cost: an analyst agent on Claude Sonnet, a scriptwriter on Haiku, then voice, transcript, charts, cover and video. It also reads your PDFs, chart screenshots and broker screenshots, which makes 15 input and output modalities. A local CLIP model decides whether an image is worth sending to the paid vision model, so a non-financial picture is rejected at no cost.

Every step has a typed contract and a mock provider, so 1,301 tests run without network and the demo works without keys. Gates check the output: every figure must appear in the sources or the sentence is removed, recommendations are detected deterministically, and a red-team set of 31 cases tests it. The model for each agent was picked by a blind judge: Haiku as analyst added unsupported facts, so the analyst stayed on Sonnet.

Results

Measured on six real briefings: 232 of 232 figures traceable to a source, no sentence with a recommendation and 35 of 35 key points with their source. A basic briefing costs €0.034 and takes 52.7 seconds (median); a full one with the premium voice, cover and video costs €0.11 to €0.15. A spoken question is answered out loud in 6.4 seconds, end to end. The demo is live on Railway.

Figures

Key points, each with its source cited
Figure 2. Key points, each with its source cited
Asking the two hosts about the briefing, in the guided demo
Figure 3. Asking the two hosts about the briefing, in the guided demo
Architecture: inputs, processing, AI agents, outputs and delivery
Figure 4. Architecture: inputs, processing, AI agents, outputs and delivery

Built with

PythonStreamlitClaude Sonnet and HaikuGemini TTSedge-ttsOpenAI speech-to-textCLIP (local)FinBERT (local)DockerRailway