Research showcase. The source is private — this repository documents the research: an M.Sc. thesis and a preceding project work at FAU Erlangen-Nürnberg (Pattern Recognition Lab). Demo available on request.
Public procurement in Europe generates over 800,000 notices per year worth more than €815 billion — yet bid preparation on the bidder side is still manual. Analyzing a single tender, calculating a price, and assembling the submission documents takes hours to days. German e-procurement adds a second obstacle: it is fragmented across many portals with no stable programmatic access, so even downloading tender documents and submitting a bid are browser-only tasks.
Two connected research projects attack both halves of this problem.
Design and Evaluation of an LLM-Based Agentic Workflow for the (Semi-)Automation of Public Tendering Processes in Germany — FAU Erlangen-Nürnberg, 2026.
An end-to-end agentic pipeline covering the bidder-side pre-submission process, built and evaluated following Design Science Research on real tenders against a curator-anchored ground truth. German building-cleaning serves as the evaluation domain — a calculation-heavy, representative case for service-industry tendering.
flowchart LR
A[Notice ingestion] --> B[Document extraction]
B --> C[Historical-bid incorporation]
C --> D[Bid calculation]
D --> E[Document assembly]
E --> F([Human review & release])
style F stroke-dasharray: 5 5
(High-level view — agent topology, prompting, and calculation design are documented in the thesis itself.)
| Metric | Champion configuration |
|---|---|
| Document extraction (macro-F1) | 90 % |
| Tender Success Rate | 80 % |
| Human Intervention Rate | 21 % |
| Price error with historical-bid incorporation | ≈ 10 pp lower than without |
Two findings worth highlighting: tool provisioning and higher reasoning effort do not help uniformly — each benefits one pipeline stage and leaves another unchanged or worse. And the system deliberately keeps the price-setting judgement human: the calculated price lands close to the winning bid on average, but its run-to-run spread still demands a reviewing eye.
Design and Evaluation of an LLM-Based Browser-Automation Workflow for German Public Tendering — FAU Erlangen-Nürnberg, Pattern Recognition Lab.
The missing I/O layer for the pipeline above. Core idea: a language model discovers a portal's workflow once; a model-free executor replays it deterministically — framework-aware interaction strategies bridge the legacy widget stacks German portals run on.
- Validated live on two real procurement portals
- 77–89 % goal-state correctness on reachable preparation tasks in an execution-grounded benchmark
- The binding submit stays behind a separate human trigger, immutably audited; per-portal knowledge is learned across runs
- Inputs only a human can supply surface in a per-run gap report — an honest map of the hard bound of browser-side automation
- Method: Design Science Research; execution-grounded evaluation on real tenders and live portals rather than synthetic benchmarks
- Stack: Python, LLM-agent orchestration, deterministic replay execution; built with agentic development tooling (Claude Code) end to end
- Engineering stance: automation covers the document mechanics; judgement calls stay human-gated by design
Questions, demo requests, or collaboration: see profile.