AI-Powered Deep Research for Engineers
Upload PDFs, paste URLs, link GitHub repos — and get a detailed, cited engineering report with verifiable sources. Not a summary. A real research document with evidence-backed claims.
What Does It Do?
Ingest Sources
Upload PDFs, paste web URLs, or link GitHub repositories. The system extracts, chunks, and indexes all content.
Deep Reports
A 5-step pipeline: Plan → Retrieve → Write → Judge → Refine. Every claim is cited. Insufficient evidence is flagged.
Flashcards
Auto-generate Q&A flashcards from any report. Export as Anki-compatible CSV or JSON for study.
How To Use
Add Your Sources
Click 'Attach PDF' to upload research papers, or 'Paste URLs' to add web pages and GitHub repos. Each source gets chunked and indexed.
Ask Your Question
Type a specific engineering question. The more specific, the better the report. Example: 'Compare Mamba vs Transformer for real-time inference on edge devices'.
Choose Your Mode
'Answer' for quick responses. 'Deep Report' for the full research pipeline with citations. 'Flashcards' to generate study cards from a completed report.
Review & Export
Read the report in the Report tab. Check Sources tab for all citations. Export flashcards as Anki CSV. Download the report as Markdown.
Research Pipeline
| Step | Uses AI? | What It Does |
|---|---|---|
| 📋 Planner | ✅ Yes | Breaks your question into sub-questions + must-check items (baselines, failure modes, gotchas) |
| 🔍 Retrieval | ❌ No | BM25 keyword search — finds the top-k most relevant chunks per sub-question from your sources |
| ✍️ Writer | ✅ Yes | Writes the full report with [source:chunk] citations. Follows a strict format with trade-off tables |
| 🔍 Judge | ✅ Yes | Checks for missing citations, contradictions, shallow sections. Scores quality 0-100% |
| 🔧 Refiner | ✅ If needed | Only runs if Judge score < 70%. Regenerates flagged sections, then re-judges |
Technology Stack
Next.js 15
React frontend framework
FastAPI
Python async backend
OpenRouter
Free LLM models (primary)
Groq
Fast LLM fallback
BM25
Keyword search (pure Python)
SQLite
Local database
PyMuPDF
PDF text extraction
Tavily
Optional web search API
SSE
Real-time streaming events
LLM Strategy: Free-First + Fallback
Primary: OpenRouter — uses openrouter/free which auto-selects the best available free model (Llama 3.3, Gemini Flash, DeepSeek, etc). Zero cost.
Fallback: Groq — if OpenRouter returns 429 (rate limit) or 5xx (server error), the system automatically retries once, then falls back to Groq with llama-3.3-70b-versatile.
This gives you free-first behavior while keeping the platform reliable when free pools are saturated.