Husearch — Feature Summary
What It Does
A multi-agent AI research platform for scholarly book writing across the humanities and social sciences. Submit a research question, and four specialist AI agents investigate it in parallel. A synthesizer merges their findings into structured outputs — briefs, bibliographies, notes, summaries, and full agent transcripts. All research is stored, searchable, and organized by project and chapter. The platform extends beyond research into writing, annotation, citation management, data visualization, collaboration, and manuscript export.
Research Engine
Four Claude-powered agents run concurrently on every query:
- Data Agent — finds statistics, empirical data, econometric studies, and macroeconomic indicators
- Theory Agent — identifies relevant frameworks from Classical, Keynesian, Austrian, Islamic, and other traditions
- History Agent — surfaces historical case studies, precedents, and timeline context
- Critic Agent — generates counter-arguments, flags methodological weaknesses, and presents opposing viewpoints
An orchestrator tailors sub-prompts per agent, and a synthesizer resolves contradictions across all four outputs into a unified research brief. Follow-up queries can build on prior sessions for iterative investigation. Max 3 concurrent sessions with 180-second (3-minute) agent timeouts and up to 5 tool-calling rounds per agent. All external API calls (Claude, CrossRef, FRED, World Bank, etc.) have retry logic with exponential backoff (max 3 attempts) and human-readable error messages.
Source Restriction Modes
Researchers can control what the agents draw from:
- Broad Research — agents use Claude’s full training knowledge (default)
- Library + AI — agents prefer the user’s uploaded sources, clearly tagging claims as
[LIBRARY]or[AI-KNOWLEDGE] - My Library Only — agents cite exclusively from uploaded PDFs and annotations
Citation Verification
After synthesis completes, citations are automatically verified against the CrossRef API. Each citation receives a badge:
- Verified (green) — DOI resolves and metadata matches
- Partial match (yellow) — some fields match but others diverge
- Unverified (red) — no CrossRef match found (flagged for manual review)
- Pending — verification hasn’t completed yet (e.g., CrossRef was temporarily unavailable)
Researchers can manually override verification status. CrossRef responses are cached in SQLite. If CrossRef is down, citations show “verification pending” rather than failing.
Evidence Chains
The synthesizer tags each claim with its supporting evidence and source agent. A claim-evidence parser extracts these into structured records, allowing researchers to trace any synthesized claim back to the specific agent output and passage that supported it.
Reasoning Trace
The full pipeline captures timestamped, structured events — orchestration decisions, agent progress, contradiction resolutions, convergence points — stored as JSON. The transcript tab displays this as an interactive timeline rather than a raw text dump.
Writing & Editing
Chapter Editor
Plate.js (Slate-based) rich text editor with 15+ plugins:
- Rich formatting — headings, block quotes, lists, links, horizontal rules, alignment
- Math blocks — KaTeX equation rendering
- Charts — Chart.js integration with specialized academic chart templates (see below)
- Tables — with bubble menu for editing
- Images and media — embedded media support
- Drag-and-drop — reorder blocks via dnd-kit
- Auto-versioning — snapshots every 5 minutes or 50+ word changes, retaining up to 50 versions per chapter with visual diff comparison
Track Changes & Suggestions
The editor supports a track-changes mode with suggestion controls and bulk accept/reject actions. Authors can review insertions and deletions visually before committing changes.
Collaborative Editing
Real-time collaborative editing powered by Y.js (CRDT). Multiple users can edit the same chapter simultaneously with conflict-free merging. Server-side Y.js document persistence via WebSocket (ws).
AI Writing Assistance
A suite of AI writing tools accessible from within the editor:
- Expand — flesh out a draft passage into fuller prose
- Style check — analyze writing style and suggest improvements (single-paragraph or full-document)
- Transition — generate smooth transitions between sections
- Abstract — generate an abstract from chapter content
- Detect uncited claims — scan text for factual claims lacking citations
- Analyze — general writing analysis
PDF Annotation
Upload PDFs (up to 100 MB), view with text layer, highlight passages with color-coded annotations, add notes, and tag highlights. Annotations are embedded for semantic search and can be passed as context to research queries. Annotation synthesis via AI can summarize highlights from a source.
Research Snippets
Clip sections from agent outputs directly into chapter outlines.
Footnotes & Endnotes
The editor supports both footnotes (rendered at page bottom in exports) and endnotes (collected at end of document), each with independent numbering. Notes appear as superscript numbers in the editor — footnotes in teal, endnotes in amber. Both are available from the Insert menu.
- Citation-linked notes — when inserting a citation in Chicago Notes-Bibliography mode, the note is formatted through the CSL processor (citeproc) and linked to the citation record. The popover shows the formatted text as read-only with a cite key badge.
- Manual notes — plain text footnotes/endnotes for commentary, asides, or non-citation references
- Type toggle — convert any footnote to an endnote (or vice versa) from the popover
- Ibid. and short-form — at export time, all citation-linked footnotes are reprocessed through the CSL engine in document order. Consecutive references to the same source automatically produce “Ibid.” and previously cited sources use short form, per Chicago 17th edition rules.
- Notes list panel — a side panel (toggled from the toolbar) shows all footnotes and endnotes grouped by type, with click-to-navigate, delete, and a “Re-format” button that re-runs CSL processing on all citation-linked notes
Document Comments
Threaded document comments anchored to specific text ranges in the editor. Comments can be created, resolved, and deleted. Supports multiple comment threads on different passages.
AI Peer Review Agent
A dedicated Claude-powered reviewer analyzes chapter manuscripts and produces structured feedback. Comments are anchored to exact quoted passages from the text, categorized by type (argument, evidence, clarity, structure, citation, methodology, grammar), and stored persistently with open/resolved/ignored status tracking. Features include:
- Full chapter or selection review — review the entire document or highlight a specific passage for focused feedback
- Context-aware follow-ups — subsequent reviews see prior comments and their status, so the reviewer focuses on new issues and unresolved ones rather than repeating itself
- Threaded replies — researchers can reply to individual comments, creating a back-and-forth revision conversation
- Review run history — each review session is logged with timestamp and comment count, so researchers can track how their manuscript has evolved across multiple review rounds
Organization
- Projects — top-level containers typed as book, essay, research paper, or dissertation
- Chapters — drag-to-reorder within projects, with target word counts, deadlines, and progress tracking
- Chapter Outlines — hierarchical task lists with indent levels and completion tracking
- Pinned Citations — attach key references to specific chapters
- Chapter Attachments — link files and URLs to chapters
- Project Timeline — visual timeline view of project activity and milestones
Knowledge Synthesis
Bidirectional Note Linking
A connection discovery engine computes pairwise similarity between research sessions, annotations, and snippets using Transformers.js embeddings. Connections are classified by strength:
- Strong (similarity > 0.85) — same specific topic
- Related (0.70–0.85) — conceptually adjacent
- Potential (0.55–0.70) — loose thematic overlap
AI-generated labels describe each connection in plain language. Researchers can confirm, dismiss, or manually create connections. If embeddings fail, connections fall back to keyword matching. A knowledge graph view (react-force-graph-2d) visualizes the full connection network for a project.
Argument Mapping
A dedicated argument canvas (built on React Flow / @xyflow/react) lets researchers visualize the logical structure of their chapters. Node types include thesis, claim, evidence, counter-argument, rebuttal, and qualifier. Edges represent relationships: supports, contradicts, qualifies, depends on. An AI argument extractor can auto-populate the canvas from chapter text.
Search
- Keyword Search — FTS5 full-text search across queries, briefs, notes, and summaries
- Semantic Search — vector similarity via local Transformers.js embeddings (no external API needed)
- Auto Mode — tries keyword search first, supplements with semantic results if fewer than 3 matches
- Annotation Search — search across all PDF highlights and notes
- Manuscript Search — search chapter content with context snippets
- Similar Sessions — find related past research by vector similarity
- RAG Search — AI-summarized answers from past research via LangChain retrieval chain
- Academic Search Panel — federated search across all academic paper providers (Semantic Scholar, OpenAlex, CrossRef, arXiv, CORE) from within the UI
Live Data Connections
Economic Data Providers
- FRED (Federal Reserve Economic Data) — search 800K+ time series, fetch observations with date ranges and frequency options. Requires a free API key.
- World Bank Open Data — search 16,000+ indicators, fetch country-level time series. No key required.
- IMF (International Monetary Fund) — macroeconomic datasets. No key required.
- OECD — statistical indicators across member countries. No key required.
- Eurostat — European statistics. No key required.
- BIS (Bank for International Settlements) — international banking and financial statistics. No key required.
- DBnomics — aggregated economic database. No key required.
- UN Comtrade — international trade data. Optional API key for higher limits.
Academic Paper Providers
- Semantic Scholar — academic paper search. Optional API key for higher rate limits.
- OpenAlex — open scholarly metadata. No key required.
- CrossRef — DOI resolution and metadata lookup. No key required.
- arXiv — preprint search. No key required.
- CORE — 200M+ open access papers. Optional API key.
- Unpaywall — open access availability resolution. No key required.
Primary Source & Cultural Heritage Providers
- Internet Archive — historical documents and Wayback Machine access. No key required.
- Digital Public Library of America (DPLA) — digitized primary sources. Optional API key.
- Europeana — European cultural heritage collections. Optional API key.
- Library of Congress — LOC digital collections. No key required.
Data Caching
Responses are cached in SQLite with configurable TTL. If a data service is down after retries, stale cached data is returned with a warning rather than showing an error.
Specialized Chart Templates
Beyond basic line/bar/scatter charts, the editor includes templates designed for social science publishing:
- Coefficient Plot — horizontal dots with confidence intervals for regression results
- Event Study Plot — treatment effects over time with confidence bands
- Difference-in-Differences — treatment vs. control with intervention marker
- Marginal Effects Plot — predicted outcome as one variable changes
- Choropleth Map — country-level shading for cross-country comparisons
All templates default to grayscale-friendly, print-safe formatting with source attribution lines.
Source Criticism (Historians)
A source evaluation system captures structured metadata for each uploaded source:
- External criticism — provenance, archive collection, date created, authorship certainty, document type
- Internal criticism — purpose, audience, perspective, reliability assessment
- Classification — relic vs. narrative, primary/secondary/tertiary proximity to event
AI-assisted pre-population suggests values from the document text. Evaluations are editable, never auto-confirmed.
Citations & Zotero Integration
- Manual Citations — create, edit, and delete references with auto-generated cite keys
- Zotero Connection — connect via API key; search, browse, and import from Zotero collections with duplicate detection
- Export to Zotero — save research briefs as notes, tagged with chapter and project context
- Refresh Sync — version-aware sync detects Zotero-side changes and updates local records
- CSL Citation Formatting — Chicago Author-Date, Chicago Notes-Bibliography, and APSA styles via the citeproc library with actual CSL XML stylesheets. Zotero-linked citations can also use Zotero’s own CSL engine. Local APA fallback for unlinked citations. Batch formatting supported.
- BibTeX Import/Export — parse
.bibfiles with LaTeX character decoding; export with stable cite keys and BibTeX/BibLaTeX flavor support - RIS Import/Export — universal reference format for compatibility with any manager
- Sync Audit Log — all import/export operations are logged
- Bibliography Generation — per-project formatted bibliographies
Document Import
Import existing work from multiple formats:
- DOCX — import Word documents preserving structure and formatting
- Markdown — import
.mdfiles with front matter parsing - Notion — import from Notion exports
- Scrivener — import from Scrivener project files
All imports are logged for audit.
Template Gallery
Start chapters from pre-built templates organized by category:
- Working Paper — standard academic working paper structure
- Dissertation — dissertation chapter format
- Book Proposal — publisher submission structure
- Grant Proposal — funding application format
- Journal — journal article structure
- Custom — user-created templates
Templates can be created from existing chapters and deleted when no longer needed.
Pre-Submission Compliance Checker
Analyzes chapter documents against submission requirements:
- Reference completeness (every citation has a bibliography entry and vice versa)
- Citation format validation
- Metadata checks
Results appear as a pass/fail/warning checklist. Journal-specific profiles are not yet implemented.
Writing Analytics
Track writing productivity with detailed metrics:
- Session tracking — log writing sessions with word counts and duration (includes Pomodoro timer mode)
- Statistics — cumulative word counts, writing pace, and productivity metrics
- Streaks — consecutive-day writing streak tracking
- Heatmap — calendar-style visualization of writing activity
- Chapter targets — set and track word count targets per chapter
- Reports — generate detailed writing activity reports
Export
- Single Session DOCX — query, brief, bibliography, notes, and metadata
- Chapter DOCX — table of contents plus all sessions in the chapter
- Project DOCX — aggregates all chapters with title page and TOC
- Full Manuscript DOCX — title page, table of contents, page numbers, footers, and all chapter content. Footnotes render at page bottom; endnotes collect at document end. Citation-linked notes are preprocessed through the CSL engine for ibid./short-form.
- LaTeX Export — generates
.texfiles with proper academic structure, math preservation, and table conversion. Packaged as ZIP with companion.bibfile. Supports template selection. Endnotes use\endnote{}with automatic\usepackage{endnotes}and\theendnotesinsertion. - Copy to Clipboard — any output section can be copied directly
Collaboration & Sharing
- Share Links — generate shareable links to projects with configurable permission levels
- Collaborators — invite collaborators to projects with role-based access (owner, editor, commenter, viewer)
- Real-time Editing — Y.js CRDT-powered concurrent editing with WebSocket synchronization
- ORCID Authentication — sign in with ORCID for academic identity verification; user account management with data export and deletion
Progressive Web App & Offline Support
- Service Worker — static assets precached, API responses cached with stale-while-revalidate via Workbox
- Offline Reading — cached sessions and chapters remain accessible without connectivity
- Offline Pinning — researchers can explicitly pin content for offline access
- Sync Engine — offline mutations queue in IndexedDB and replay when connectivity returns
- Network Status Indicator — visible offline badge; research button disabled with explanation when disconnected
Onboarding & Help
- First-Run Wizard — 3-step setup: project type and discipline, source import method, guided example query with agent explanations
- 20 Example Queries — tagged by discipline (economics, political science, history), showing 4 relevant examples based on the user’s selection
- Feature Discovery Tooltips — non-intrusive nudges after usage milestones (e.g., “try annotations” after 3 research queries)
- In-App Help Panel — searchable FAQ, prompt writing tips, and keyboard shortcuts reference
Error Handling
- Human-readable errors throughout — technical messages (ENOTFOUND, HTTP 529, JSON parse failures) are translated to plain language
- Retry with exponential backoff — all external API calls (Claude, CrossRef, FRED, World Bank, etc.) retry up to 3 times with increasing delays
- Graceful degradation — CrossRef down → citations show “pending”; FRED/World Bank down → stale cached data with warning; embeddings fail → keyword search fallback
- React ErrorBoundary — wraps the entire app; shows a friendly recovery message instead of a blank screen
- Agent retry visibility — UI shows amber “Retrying…” status on agent cards during retry attempts
Accessibility
- ARIA labels on interactive elements,
aria-liveregions for dynamic content (agent status updates) - Semantic HTML landmarks (
<main>,<nav>,<aside>) - Keyboard navigation support including skip-to-content link
- Light and dark mode
- Partial implementation — not a comprehensive WCAG 2.1 AA audit
Testing
- ~240 tests total — ~200 server-side tests across 19 files (Vitest + Supertest) and ~40 client-side tests across 5 files (Vitest + Testing Library)
- Server coverage: API endpoints, research session lifecycle, projects/chapters CRUD, document editing, outline management, search, onboarding state, performance benchmarks, LangChain components (model factory, callbacks, parsers, stream utils, SSE), and data providers (CrossRef, arXiv, CORE, Eurostat, BIS, DBnomics, UN Comtrade)
- Client coverage: component rendering, onboarding wizard, help panel, feature tooltips, and automated accessibility checks (axe-core)
Tech Stack
- Frontend: React 19, Vite, Tailwind CSS, Plate.js (@udecode/plate 48.x with 15+ plugins), React Query (TanStack Query), React Router v7, React Flow (@xyflow/react), react-force-graph-2d, react-pdf, react-simple-maps, KaTeX, Chart.js, dnd-kit, Y.js, idb (IndexedDB), vite-plugin-pwa
- Backend: Node.js, Express, SQLite (better-sqlite3), LangChain.js (@langchain/anthropic, @langchain/core, langchain), Anthropic Claude API (claude-sonnet-4-6 default, with claude-opus-4-6 and claude-haiku-4-5-20251001 fallbacks), Y.js + ws (WebSocket), Helmet, express-rate-limit, Zod validation, Multer (file uploads)
- Search: FTS5 + Transformers.js local embeddings (Xenova/all-MiniLM-L6-v2) + RAG retrieval chain
- Data: FRED, World Bank, IMF, OECD, Eurostat, BIS, DBnomics, UN Comtrade APIs
- Academic: Semantic Scholar, OpenAlex, CrossRef, arXiv, CORE, Unpaywall
- Primary Sources: Internet Archive, DPLA, Europeana, Library of Congress
- Citations: CrossRef API, Zotero Web API v3, citeproc (CSL processor), BibTeX parser (@retorquere/bibtex-parser), RIS parser
- Export: docx library, custom LaTeX generator with JSZip packaging
- Import: Mammoth (DOCX parsing), markdown-it, gray-matter (front matter), Notion/Scrivener importers
- Testing: Vitest, Supertest, Testing Library, axe-core
What’s Not Yet Implemented
- Journal-specific submission profiles (AER, QJE, etc.) — the compliance checker exists but doesn’t have per-journal configs
- V-Dem political science data connector — economic and academic data providers are implemented, V-Dem is not
- Comprehensive WCAG 2.1 AA audit — basic accessibility is in place (ARIA labels, keyboard nav, landmarks) but a full audit with axe-core automated testing hasn’t been done
- Video walkthroughs — the help panel has FAQ and tips but no embedded video content