Evidence comes from the server.
The model selects source IDs and excerpts. Server-side code resolves exact quotes and rejects missing, mismatched, or duplicate references rather than trusting invented citations.
Research with receipts.
An AI-assisted product research workspace that collects sources, calls tools, checks factual report content against exact source excerpts, and makes uncertainty visible.
Recorded September 27, 2026. See verification record ↗
Product research is useful only when you can trace conclusions back to their sources.
My goal was to build a research workflow that does more than generate a plausible-sounding report. It needed to collect real search results, preserve source references, handle failures honestly, and enforce boundaries on what the model could submit.
Fieldwork accepts a product idea and optional cost inputs, launches a research job, shows activity as it runs, and saves the resulting report with citations and limitations. The application is a research aid—not a source of independently verified market intelligence.
The system keeps the model's decisions separate from the server's rules. The agent chooses from validated tools; the backend decides what evidence and calculations are accepted.
Conceptual flow based on the repository architecture. Tool calls may repeat within configured limits.
The model selects source IDs and excerpts. Server-side code resolves exact quotes and rejects missing, mismatched, or duplicate references rather than trusting invented citations.
Native Ollama calls are restricted to a validated tool registry, with bounds on turns, calls, request time, and recovery behavior.
A SQL-backed queue tracks jobs and tool events, supports session-private history, and preserves explicit failed or partial states rather than silently losing errors.
Optional contribution-margin calculations use Decimal arithmetic and only the original user-supplied cost scenario. Without enough inputs, the app explains the limitation.
V1 completed automated checks, local real-provider acceptance, and remote GitHub Actions verification. That includes backend behavior, frontend error states, report validation, and PostgreSQL migration checks in CI.
Validation, session boundaries, provider handling, persistence, queue limits, timeouts, and evidence contracts.
Interface interactions, API client behavior, failure states, and build/typecheck/lint checks.
Ollama/Tavily acceptance with manual evidence review; GitHub Actions passed, including PostgreSQL migration checks.
The most valuable work wasn't just getting a model to answer. It was building validation, error handling, persistence, and tests around it.
Fieldwork helped me practice full-stack API boundaries, asynchronous job execution, external provider integration, schema design, and the distinction between a convincing model output and a verifiable system result.