Turn AI Hallucinations into Verified Intelligence. Built for the Keywords AI UIUC Hackathon 2026.
🔗 Watch the 2-Minute Demo Here
Note: The project is designed to run locally to ensure data privacy and optimal latency.
Standard LLMs (like ChatGPT) are great at chatting but terrible at Deep Research. When asked about specific, recent, or obscure topics, they often hallucinate or rely on outdated training data.
Who is this for? DeepSeeker is built for Researchers, Developers, and Analysts who cannot afford to be wrong. It bridges the gap between "Generative AI" and "Verifiable Truth."
DeepSeeker is an Agentic Research Engine that doesn't just "guess"—it verifies. Unlike standard linear RAG chains, it uses a Recursive "Plan → Search → Critic → Retry" Loop to ensure high reliability.
- 🧠 Recursive Planning: Dynamically breaks down complex user queries into actionable research steps (Managed via Keywords AI).
- 🔄 Self-Healing Critic (Novelty): The "Killer Feature". If a search yields low-quality data, the Critic Agent activates, rewrites the query, and retries automatically. It acts as an AI Guardrail against hallucinations.
- 📊 Live Agent State (UX Polish): Features a "DeepSeek R1-style" collapsible timeline (see screenshot) that visualizes the agent's thought process in real-time.
- 📝 Verified Reporting: Generates academic-style Markdown reports with clickable inline citations grounded in real-time Tavily search data.
- 💾 Research Archive: Automatically saves verified sessions to Supabase for persistence.
We used Keywords AI as the Full-Stack Observability & Control Plane:
- Gateway: Unified API access for all LLM calls.
- Tracing: Critical for debugging the "Retry Loop". We used traces to visualize the latency of the Critic Agent and optimize the flow.
- Unified Prompt Management: We decoupled the logic. The Planner, Critic, and Reporter agents are ALL managed via the dashboard, allowing us to iterate on prompts without redeploying code.
- Built a polished, production-grade interface in React/Vite.
- We used Lovable to implement the complex "Live Agent State" visualization which tracks the backend WebSocket/API states in real-time.
- Used as the persistent storage layer.
- We utilize Supabase SQL to store JSONB logs, allowing us to replay and analyze past research sessions.
We utilized Trae as our intelligent development environment. Its AI coding assistance accelerated the build of our FastAPI backend and complex agentic logic, letting us focus on the recursive architecture instead of boilerplate code.
The system implements a non-linear agentic loop ensuring end-to-end reliability:
graph TD
A[User Query] --> B(Planner Agent)
B --> C{Execution Loop}
C --> D[Tavily Search]
D --> E{Critic: Is Data Good?}
E -- No --> F[Refiner Agent]
F --> D
E -- Yes --> G[Reporter Agent]
G --> H[Final Report]
H --> I[(Supabase DB)]
- Python 3.9+
- Node.js & npm
- API Keys: Keywords AI, Tavily.
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Copy the example env and fill in your keys
cp .env.example .env
# Create .env file with your API keys
# KEYWORDS_AI_API_KEY=...
# PLANNER_PROMPT_ID=...
# CRITIC_PROMPT_ID=...
python server.py
*Server will start at http://localhost:8000*
cd frontend
npm install
npm run dev
UI will start at http://localhost:8080 or http://localhost:5173
Run this in your Supabase SQL Editor:
create table reports (
id bigint generated by default as identity primary key,
created_at timestamp with time zone default timezone('utc'::text, now()) not null,
query text not null,
markdown_content text not null,
logs jsonb,
sources jsonb
);
-- Note: Disable RLS for the demo.
- Keywords AI: Deep integration (Gateway, Traces, Prompt Mgmt).
- Lovable: High-quality UI with complex state visualization.
- Technical Execution: Fully working end-to-end product with self-healing capabilities.

