Search. Synthesize. Discover. Build. The AI-native research platform for researchers, engineers, and founders who need to move faster than Google Scholar.
--
Researchers waste hours searching, reading, and synthesizing papersβonly to find their questions unanswered and connections between papers invisible. Existing tools (Google Scholar, Semantic Scholar) are passive: they retrieve papers, but don't reason about them.
trendXtract is an AI Research Intelligence Engine that:
- Searches millions of arXiv papers in milliseconds
- Synthesizes insights across multiple papers using Claude AI
- Extracts structured knowledge (methodology, contributions, limitations)
- Compares papers with normalized differences
- Generates implementation guides from papers
- Detects research gaps to spark new ideas
Result: What took 2 hours now takes 2 minutes.
Ask a question and get answers synthesized across 1-5 papers with inline citations. Claude reasons across papers to reveal patterns humans miss.
User: "How do these papers approach context window limitations?"
β trendXtract reads all papers and generates a synthesized answer with citations
One-click breakdown of any paper into:
- Problem Statement β What's being solved?
- Methodology β How does it work?
- Key Contributions β What's novel?
- Limitations β What's missing?
- Applications β Real-world impact?
Select 2-5 papers. Get a normalized comparison table:
- Methods & algorithms
- Datasets & benchmarks
- Performance metrics
- Computational complexity
- Year & novelty
For any paper, auto-generate:
- Project Ideas β 3 implementable ideas based on the paper
- Starter Code β Python skeleton to get you moving
- Tech Stack β Recommended libraries & tools
- Implementation Steps β Key milestones
Analyze 1-5 papers and instantly discover:
- Research Gaps β What's NOT being addressed?
- Weaknesses β Limitations in current approaches
- Future Directions β High-impact research paths
- Startup Ideas β Commercializable opportunities
- Hackathon Ideas β Quick-win projects
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React) β
β - Search Bar - Paper Cards - Feature Tabs β
β - Multi-Intelligence - Structured Panel β
β - Comparison - Build Guide - Gap Detector β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β (REST API + SSE Streaming)
ββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β Backend (Flask) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β API Endpoints β β
β β - GET /api/search (arXiv Search) β β
β β - POST /api/multi-intelligence (Synthesize) β β
β β - POST /api/structured (Extract Info) β β
β β - POST /api/compare (Compare Papers) β β
β β - POST /api/build (Implementation) β β
β β - POST /api/gaps (Gap Detection) β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β Services Layer β β
β β - arxiv_service (Paper retrieval) β β
β β - ai_service (Claude integration) β β
β β - cache_service (LRU + TTL cache) β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β
ββββββββββββ΄βββββββββββ
β β
βββββΌββββββ ββββββββΌβββ
β arXiv β β Claude β
β API β β API β
βββββββββββ βββββββββββ
- No heavy ML dependencies β Uses Claude API for reasoning instead of local embeddings
- Stream-based responses β SSE for real-time feedback
- Smart caching β 1-hour TTL on synthesized results
- Multi-paper context β Papers passed in structured XML prompts to Claude
- Production-ready β gunicorn, error handling, logging, Render-optimized
Backend:
- Flask 3.0 β Lightweight web framework
- Anthropic SDK β Claude AI integration
- requests β HTTP library for arXiv
- cachetools β LRU + TTL caching
- gunicorn β Production WSGI server
Frontend:
- React 19 β Modern UI library
- Tailwind CSS 4 β Utility-first styling
- react-markdown β Markdown rendering
- react-syntax-highlighter β Code highlighting
APIs:
- arXiv API β Paper metadata & search
- Claude API (Opus 4.1) β Reasoning & synthesis
Deployment:
- Render β Unified platform for backend + frontend
- Python + Node runtime
- Python 3.10+
- Node 18+
- Anthropic API key (get one at console.anthropic.com)
-
Clone & install backend
cd backend pip install -r requirements.txt cp .env.example .env # Edit .env and add your ANTHROPIC_API_KEY python app.py
Backend runs on
http://localhost:10000 -
Install & run frontend (in a new terminal)
cd trendxtract-frontend npm install npm startFrontend runs on
http://localhost:3000 -
Test
- Open http://localhost:3000
- Search for "transformers"
- Select 2 papers
- Try "Compare" or "Multi-Intelligence"
- Fork this repo
- Go to render.com
- Create a new "Blueprint" service
- Connect your GitHub fork
- Add environment variable:
ANTHROPIC_API_KEY=sk-ant-... - Deploy!
# Backend Service
Service: Web
Environment: Python 3.10
Build: pip install -r backend/requirements.txt
Start: cd backend && gunicorn app:app --bind 0.0.0.0:$PORT
Env: ANTHROPIC_API_KEY, FLASK_ENV=production
# Frontend Service
Service: Web
Environment: Node 18
Build: cd trendxtract-frontend && npm install && npm run build
Start: cd trendxtract-frontend && npm run build && npx serve -s build -l 3000
Env: REACT_APP_BACKEND_URL=https://your-backend-url.onrender.comGET /api/search?q=transformers&max=10
Response:
{
"papers": [
{
"id": "2312.10997",
"title": "Attention Is All You Need",
"abstract": "...",
"authors": ["Ashish Vaswani", ...],
"published_year": "2017",
"arxiv_url": "https://arxiv.org/abs/2312.10997"
}
]
}POST /api/multi-intelligence
Request:
{
"query": "How do these papers approach context windows?",
"paper_ids": ["2312.10997", "2401.02461"]
}
Response: Server-Sent Events stream with chunks of textPOST /api/structured
Request:
{
"paper_id": "2312.10997"
}
Response: SSE stream containing JSON with problem, methodology, etc.POST /api/compare
Request:
{
"paper_ids": ["2312.10997", "2401.02461", "2312.14993"]
}
Response: SSE stream with comparison analysisPOST /api/build
Request:
{
"paper_id": "2312.10997"
}
Response: SSE stream with project ideas, starter code, tech stackPOST /api/gaps
Request:
{
"paper_ids": ["2312.10997", "2401.02461"]
}
Response: SSE stream with gaps, weaknesses, opportunities- Literature reviews β Synthesize 5 papers instead of reading 50
- Gap analysis β Find unexplored areas in your field
- Trend spotting β Discover what's hot in your domain
- Quick learning β Understand a new technique in 2 minutes
- Implementation β Get starter code from papers
- Comparison β Choose between competing approaches
- Idea validation β Spot gaps = startup opportunities
- Competitive analysis β How do competing papers approach the problem?
- Investment thesis β What's emerging in AI?
trendXtract/
βββ backend/
β βββ app.py # Main Flask app (9 routes)
β βββ core/ # Config, logging, feature flags
β βββ services/ # Enhanced services layer
β β βββ arxiv_service.py # Paper search & retrieval
β β βββ ai_service.py # Claude AI integration
β β βββ cache_service.py # Caching layer
β βββ agents/ # Multi-agent system (6 agents)
β βββ pipelines/ # Composite workflows
β βββ plugins/ # Extensible plugin system
β βββ experiments/ # Novel research features
β βββ api/ # REST API blueprints
β βββ utils/ # Utilities & helpers
β βββ requirements.txt
β βββ .env.example
β
βββ trendxtract-frontend/
β βββ src/
β β βββ components/ # React components
β β β βββ SearchBar.js
β β β βββ PaperCard.js
β β β βββ MultiIntelligence.js
β β β βββ StructuredPanel.js
β β β βββ ComparisonTable.js
β β β βββ ImplementationPanel.js
β β β βββ GapDetector.js
β β β βββ TrendingTopics.js
β β β βββ Skeleton.js
β β βββ hooks/
β β β βββ useStream.js # SSE streaming hook
β β βββ services/
β β β βββ api.js # API client
β β βββ App.js # Main app
β β βββ index.css # Tailwind styles
β βββ package.json
β βββ tailwind.config.js
β
βββ ARCHITECTURE.md # Complete architecture guide
βββ EXPANSION_SUMMARY.md # Implementation summary
βββ render.yaml # Render deployment config
βββ README.md # This file
Backend (.env):
ANTHROPIC_API_KEY=sk-ant-...
PORT=10000
FLASK_ENV=development
DEFAULT_MODEL=claude-3-5-sonnet-20241022
CACHE_TTL_SECONDS=3600
ENABLE_AGENTS=true
ENABLE_EXPERIMENTS=trueFrontend (.env in trendxtract-frontend):
REACT_APP_BACKEND_URL=http://localhost:10000- Search latency β <500ms (arXiv API)
- Synthesis latency β 3-8s (Claude streaming)
- Cold start β <5s (Render)
- Cache hit rate β ~30% (1-hour TTL, 200 slots)
- Concurrent users β 50+ (Render Pro)
- arXiv only (no PubMed, IEEE Xplore yet)
- Max 5 papers per analysis
- 1-hour cache TTL
- No authentication/user accounts
- PubMed + CrossRef integration
- Vector similarity search (for better paper discovery)
- User accounts + saved analyses
- Citation network visualization
- Research notifications (alerts for gap-addressing papers)
- Fine-tuned embedding model for papers
- Batch analysis (100+ papers)
Contributions welcome! Areas:
- New data sources (PubMed, IEEE, bioRxiv)
- UI/UX improvements
- Better LLM prompts
- Performance optimizations
- Additional features (visualization, export, etc)
MIT
- Bug reports β GitHub Issues
- Feedback β Contact
- Documentation β See ARCHITECTURE.md and EXPANSION_SUMMARY.md
- Claude API β AI reasoning backbone
- arXiv β Paper metadata
- React β Beautiful, interactive UX
- Flask β Production-grade backend
- Render β Seamless deployment
Start searching smarter. Try it now β
Made for researchers, engineers, and founders who want to move faster than manual literature reviews.