Skip to content

Signals

Research Service for Rapid Analysis of Complex Topics: A research service designed for quick consumption of recent developments on complex subjects, delivering concise insights in text and audio formats suitable for on-t

Core trick

Runs Gemini Deep Research as a background job polled to completion, then converts the summary to audio via ElevenLabs and emails a secure link.

Tags

Description

Research Service for Rapid Analysis of Complex Topics: A research service designed for quick consumption of recent developments on complex subjects, delivering concise insights in text and audio formats suitable for on-the-go consumption -> walking, commuting, or during transit, for example. How it works: Users submit a research topic and email address through a simple web interface. The system validates user access, initiates a long-running Gemini Deep Research job, and then distills the output into a concise executive summary ready for immediate review.
b2b/signals★ 00 forksPythonApache-2.0Created Mar 21, 2026 · last push Mar 22, 2026

README excerpt

# Signals

Signals is a FastAPI service for whitelisted recent-developments research requests. Authorized users submit a topic and email address through a single-page app, the service runs a Gemini Deep Research job in the background, generates a concise executive summary, converts that summary to audio with ElevenLabs, uploads the audio to Azure Blob Storage, and emails the requester a secure deep link to their result page.

## What It Does

- Serves a SPA at `/` for topic submission and status polling.
- Validates each requester against MongoDB-backed `whitelisted_emails` and `whitelisted_email_domains` collections.
- Starts Gemini Deep Research with `background=True` using the configured Deep Research agent.
- Polls Gemini every `RESEARCH_POLL_INTERVAL_SECONDS` seconds until the interaction completes.
- Stores the raw research report and citations in MongoDB.
- Summarizes the report with the configured Gemini summary model using the prompt at [`prompts/system_prompt_1.md`](/Users/oleg/VSCodeProjects/signals/prompts/system_prompt_1.md).
- Synthesizes the concise summary with ElevenLabs and uploads the MP3 to Azure Blob Storage.
- Sends a completion email through Agentmail with a token-protected result URL.

## Repository Layout

- [`main.py`](/Users/oleg/VSCodeProjects/signals/main.py): ASGI entrypoint exporting `app`.
- [`signals_service/app.py`](/Users/oleg/VSCodeProjects/signals/signals_service/app.py): FastAPI app factory, lifespan setup, routes, and background polling 

Team