Skip to main content

System Architecture

The Newsreader is composed of three modules:

Scraper Pipeline

The scraper runs as a scheduled process via PM2. Each cycle executes the following pipeline:

Phase 1: Aggregation

  • NewsAPI queries for neuroscience, psychiatry, BCI, DeSci, and related keywords
  • Web scraper fetches from 400+ curated sources: journals, preprint servers, pharma outlets, neurotech companies, regulatory agencies, and community platforms

Phase 2: Analysis

  • GPT processor evaluates each article against the Elata mission and assigns a relevance score (0-1)
  • GPT validator filters out low-quality or irrelevant content
  • Tag assignment applies from a controlled vocabulary of 86 domain-specific tags across categories: neuroscience, hardware, AI/ML, pharmacology, biohacking, biomarkers, DeSci, and industry

Phase 3: Enrichment and Output

  • Content scraper extracts full text, word count, and reading time
  • Embedding generation via OpenAI for semantic search
  • Podcast generation produces AI-narrated audio summaries using ElevenLabs with two narrator personas (Nova and Dr. Renn)
  • Discord notifications alert the community to high-relevance articles
  • Results are written to current.json and served via the REST API

Data Model

Articles follow a Zod-validated schema:
Summary metadata tracks aggregate statistics:

Tag Taxonomy

The 86 tags are organized into domains:

Running Locally

See the individual module READMEs for setup: