01 / Context
The problem.
European grant information is fragmented. Useful matching requires deterministic eligibility checks and a contextual understanding of the organization seeking funding.
02 / My contribution
What I built.
I architected a multi-stage matching system using SQL eligibility filters, pgvector semantic retrieval, and Gemini reasoning. I built Python/n8n ingestion and normalization workflows, with administration and monitoring tooling.
03 / Approach
Engineering decisions.
Keep eligibility deterministic
Hard requirements belong in explicit SQL filters, where they can be inspected and maintained.
Retrieve meaningful candidates
Semantic similarity connects a business context with potentially relevant grant records.
Explain recommendations
LLM reasoning adds context and explanations rather than replacing every pipeline stage.
Own the ingestion workflow
Cleaning, normalization, execution logs, and failure reporting support the data foundation.
04 / Outcome & context
What this work shows.
The work brought fragmented grant information into an integrated discovery and matching workflow, with structured data, eligibility rules, semantic retrieval, contextual explanations, and operational monitoring.
Rules, retrieval, and generative reasoning solve different parts of the matching problem.
Industry project / The cover is a concept illustration. This case study focuses on my contribution and system-level decisions.