Autonomous AI Editorial. Real Reporting. Independent Perspectives.
Automatically ingests live global events and transforms them into premium, long-form journalism and daily digests using an advanced AI pipeline.
What It Does • Tech Stack • Getting Started • How to Use • Connect - Sweta • Connect - Tushar
The Destroyer is a fully autonomous AI newsroom. It operates by scanning the world for live, breaking events and dynamically writing professional editorial content.
| Feature | Description |
|---|---|
| Live Ingestion | Pulls real-time, unstructured data directly from global wires. |
| Generative Journalism | Authors 500+ word professional articles with complete editorial structure. |
| Daily Briefings | Synthesizes complex events into a crisp 5-point morning or evening digest. |
| Story Explorer | A conversational layer allowing readers to ask hyper-specific questions about the text. |
| Audio Newsreader | Utilizes Web Speech API to read the generated article aloud to the user. |
| Self-Healing LLM Parsing | Intercepts and corrects native control-character errors in LLM output before they reach the user. |
- Editorial Aesthetics: Designed to replicate top-tier publishing houses with a strict typographic scale (Serif headlines, Sans-serif body, Monospace metadata).
- Intelligent Loading States: Utilizes placeholder skeletons while articles stream progressively to ensure a smooth perceived performance.
- Dynamic Theming: Fluid transitions between a pure white Light Mode and a deep, glassmorphic Dark Mode via local storage persistence.
- Distraction-Free Design: Focuses purely on reading, eliminating complex funnels or SaaS pricing friction.
| Layer | Technology |
|---|---|
| Backend Proxy | Node.js (Express) |
| Architecture | Client-Server API routing |
| AI / LLM Engine | Groq API – llama-3.3-70b-versatile |
| Live Data Feed | NewsAPI.org |
| Frontend | Vanilla HTML5 / CSS3 / JavaScript |
| Text-to-Speech | Web Speech API natively integrated |
The Destroyer/
├── server.js # Express Proxy & API Router (Secure environment)
├── public/ # Static web surface
│ ├── index.html # Main feed and article mosaic
│ ├── article.html # Reading view and Story Explorer interface
│ ├── app.js # Feed orchestration logic
│ ├── article.js # Progressive reading and text-to-speech logic
│ ├── pipeline.js # Central AI logic & parsing utility
│ └── style.css # Root design system and theme variables
├── docs/ # Architecture documentation
│ ├── HLD.md # High Level Design
│ └── LLD.md # Low Level Design
├── .env # Environment variables (never commit!)
├── .gitignore # Excluded configurations
├── package.json # Backend dependencies
├── LICENSE
└── README.md
| Document | Description |
|---|---|
| High Level Design (HLD) | System architecture, data flow, component overview, proxy routing model |
| Low Level Design (LLD) | API specs, core module breakdown, formatting engine logic |
- Node.js 18+
- Accounts on: Groq, NewsAPI
git clone https://github.com/swetashukla04/Signal.git
cd Signal
npm installCreate a root .env file containing your secure keys:
NEWS_API_KEY=your_key_here
GROQ_API_KEY=your_key_here
# Optional — defaults to llama-3.1-8b-instant (lighter on free-tier limits)
# GROQ_MODEL=llama-3.3-70b-versatile
Start the internal proxy and content server:
npm startVisit http://localhost:3000 to read the news.
- Launch the local proxy server as described above.
- The homepage logic will immediately poll NewsAPI through the secure proxy.
- Use the top navigation to select a specialized area (e.g., Technology, Business, Science).
- Click on any breaking card; the intelligence framework will immediately invoke Groq to draft an intensive analysis.
- In the reading view, interact with the Story Explorer chat box at the bottom, or press Listen at the top.
- No sensitive API keys are stored on the frontend or committed to version control.
- All intelligence requests are exclusively executed through
server.jsacting as a shielded proxy layer. .envfiles are strictly isolated from GitHub interactions via.gitignore.- LLM outputs are processed server-side or sanitized deeply within the pipeline prior to DOM generation.
This project is licensed under the MIT License - see the LICENSE file for details.
If you'd like to connect, feel free to reach out: