Social Research Agent
I designed and built a LangGraph research agent that turns the daily flood of posts into a short, source-linked brief — and answers focused questions on demand, like what a set of accounts or their followers are saying about a topic.
The problem
The team followed several fast-moving subjects on X (Twitter): topic categories, specific people, communities, and whatever was trending. Keeping up meant running the same searches by hand every day, wading through noise, and still missing the posts that mattered. Focused questions — what a group of accounts, or their followers, were saying about a topic — took even longer.
My role
I designed and built it end to end: the LangGraph workflow, the collectors for topic categories, people, followers, communities, and trends, the filtering and relevance logic, the LLM prompts, and a Docker deployment that produces the daily brief on a schedule.
How it works
- 01Scope
- 02Collect
- 03Filter & dedupe
- 04LLM relevance
- 05Summarize
- 06Deliver with source
Engineering highlights
Code decides the facts, the model decides relevance
Freshness, language, and duplicate checks are deterministic rules. The LLM is asked only what it's good at: is this worth a person's attention, and what topic is it?
Never the same finding twice
Links that were already delivered are skipped, and a thread is handled as one unit, so a post found through both a topic search and an account search appears in the brief once.
Briefs built to be verified
Every result carries a summary of up to 200 characters, two or three sentences on why it matters, and the original text with its link, so the reader can check the source before acting.
Testable, and resilient to flaky APIs
Data sources sit behind a small ports-and-adapters interface with a mock implementation, so the whole pipeline runs in tests without the network. Retry and cache layers keep a transient API failure from breaking the daily run.
Outcomes
- A daily, source-linked brief replaced rounds of manual searching across categories, people, and communities.
- Focused questions about a topic, a set of accounts, or their followers could be answered on demand instead of by hand.
- Every finding was one click from its original, so the team could verify before acting.



