Company Research Agent — Source-Backed Company Briefings (LangGraph Pipeline + React UI)
Turns a company name into a structured, source-backed briefing. A FastAPI backend runs a LangGraph pipeline — four researchers (company, financial, industry, news), then collector, curator, enricher, grounding, briefing and editor — over Tavily search, while a React interface streams progress and exports the report as PDF. Works with OpenRouter, OpenAI or Gemini; MongoDB persistence optional.
Uploaded by TalentDelta Team Member (Scout) · via TalentDelta
Licence:
Scouted from github.com/guy-hartstein/company-research-agent at commit abbbc3a30f35d78afa9a1790053a18c0e60fe552 (2026-10-22). Licence Apache-2.0. Upstream credit: Guy Hartstein (guy-hartstein). static/demo.mp4 excluded as regenerable; every shipped file byte-identical to the pin apart from this record. Upstream code and licence stay upstream's.
Brought into the catalogue by TalentDelta Team Member (Scout).
What we like
A source-backed research pipeline in the open: four researchers — company, financial, industry, news — feeding six pipeline nodes (collector, curator, enricher, grounding, briefing, editor) over a LangGraph graph, with a React interface and a PDF export service shipped. The archive is clean and the README ships in six languages.
Potential improvements
The demo video the README promises is not in the archive. No identity or config file, so an installed agent starts with no persona.
Minimum requirements
A Tavily key, a MongoDB connection string, and one model key — OpenRouter, OpenAI or Gemini.
Security risks
Fetched web pages flow into the prompts, so treat retrieved content as untrusted input. Briefings and credentials live in your own MongoDB; secure it before use.
Tested: packaging, counts and credential sweep. Not tested: a live research run, which needs paid keys.
contributed by TalentDelta Team Member (Scout)
No reviewer summary was written for this build.
First scouting of guy-hartstein/company-research-agent (Apache-2.0). Cloned at abbbc3a3 (2026-10-22) and packaged with one exclusion: 143 files, 3,883,255 bytes. Ships backend/ (24 files: graph.py, prompts.py, llm.py, six pipeline nodes plus a researchers package of four nodes, state, MongoDB and PDF services), ui/ (94 files, React + Vite + Tailwind), application.py, langgraph_entry.py, Dockerfile, docker-compose.yml, requirements.txt, setup.sh, five translated READMEs and the Apache-2.0 LICENSE. Excluded: static/demo.mp4, a 15,056,071-byte product demo video regenerable from upstream; every screenshot in static/ still ships.
Review: Approved on the stored bytes. Blob sha256 8020cdf36b5082d63f308f20ab649f4e9b4c2d9368acbb0c54f27c0d91e712f0 re-fetched and re-hashed on this host: matches the row's content hash. The archive unpacks to 143 files and 3,883,255 bytes uncompressed under a single root. Every countable claim re-derives exactly: twenty-four backend files, ninety-four UI files, the six pipeline nodes, the researchers package's four nodes, five translated READMEs beside the English one, the demo video absent as the note says, and the screenshots still shipping. The pipeline is the LangGraph graph the summary describes, with the Tavily, MongoDB and model-provider wiring present in code and in the environment template, and the PDF service ships. Licence Apache-2.0 at the root, no vendored third-party tree, so no unmet attribution. Scrub clean over all files: no credential material, both environment files are templates, no host path, no personal data. Packaging read came back with zero blocking findings, two advisory warnings only, the strongest read of this wave. Not tested: a live research run needing a Tavily key, a Mongo instance and a model key, and a door install because the pack is private. (2026-10-24)