Fieldnote — Research Digest Agent
Inspiration
Online research often begins with a simple question but quickly becomes a maze of tabs, repeated information, and unclear sources. I built Fieldnote to make that process more structured, transparent, and useful.
Instead of presenting an instant answer, Fieldnote shows how the research develops—from planning focused questions to gathering evidence and refining the final report.
What it does
Fieldnote transforms a research topic into a clear, cited Markdown digest through four stages:
- Plan: Break the topic into 3–5 focused research queries.
- Research: Search the live web and collect distinct sources.
- Synthesize: Compare the available evidence and create a cited draft.
- Refine: Critique weak claims, improve balance, and calculate an evidence-confidence score.
Users can follow each stage in real time, inspect the research queries and source domains, read the completed digest, and download it as a Markdown file.
How I built it
Fieldnote is a single-page application built with Next.js, React, and TypeScript.
The server uses the OpenAI Responses API for research planning, report synthesis, and editorial refinement. Structured outputs validated with Zod keep the generated plans and final results reliable.
Web results are retrieved from DuckDuckGo’s HTML search interface, parsed with Cheerio, normalized, deduplicated, and limited to prevent one domain from dominating the evidence.
The research API streams newline-delimited JSON events to the browser, allowing the interface to update as each stage progresses. The app requires no database, authentication system, or paid search API.
Challenges
One major challenge was keeping citations trustworthy. Models can produce invalid citation numbers or alter the source list, so Fieldnote validates citation bounds and generates the final source section programmatically.
Search quality was another challenge. Duplicate pages, redirects, unsafe URLs, repeated domains, and inconsistent result markup all required careful filtering and normalization.
Streaming a multi-stage workflow also introduced complexity. The interface needed to handle partial results, malformed responses, network failures, and stage-specific errors without losing clarity.
Finally, confidence scores can easily appear more authoritative than they are. Fieldnote presents confidence as an editorial assessment of source coverage, quality, agreement, and recency—not as a guarantee that every conclusion is correct.
What I learned
Building Fieldnote reinforced that a useful research agent needs more than a strong language model. Search quality, source diversity, citation validation, structured outputs, failure handling, and transparent communication are equally important.
I also learned that separating planning, drafting, and critique produces better results than asking a model to complete the entire research process in one step. Making those stages visible helps users understand where the answer came from and where uncertainty remains.
What’s next
Future improvements could include full-page content extraction, higher-quality academic and news integrations, source-quality ranking, saved research sessions, additional export formats, and deeper verification of important claims.
The long-term goal is to make Fieldnote a dependable starting point for understanding complex topics—without hiding the research process behind the final answer.
Built With
- cheerio
- duckduckgo
- gpt-5.6
- markdown
- next.js
- node.js
- openai
- openaiapi
- react
- typescript
- vercel
- vitest
- zod
Log in or sign up for Devpost to join the conversation.