Location: Gipuzkoa, Spain (CET)
Remote: Yes, remote only
Willing to relocate: No
Technologies: Python, FastAPI, Celery, Postgres/pgvector, SQLAlchemy, Alembic, Redis, LangGraph, MCP, LangChain, Chroma, RAG (hybrid BM25 + dense, cross-encoder reranking), LLM-as-judge evals, Docker, GitHub Actions
Résumé/CV: https://www.emanuelecz.dev/emanuele-czofei-cv.pdf
Email: emanuelecz06@gmail.com
Self-taught AI engineer, two years building, four months at a startup. Strongest at the unglamorous half: retrieval that retrieves, evals you can trust, knowing how a system fails.
Built a Spanish occupational-safety RAG pipeline over the INSHT/NTP construction-safety corpus — hybrid BM25 + dense retrieval with a Voyage cross-encoder reranker, and an eval harness over a 50-question golden set with reference answers. Retrieval is the easy half: Hit@5 1.00, MRR 0.94, Precision@5 0.72.
The part I'd actually talk about is the judge. Rather than quote its averages (faithfulness 4.86/5, and so what), I hand-labelled 15 of the 50 answers good/bad and scored the judge against my labels: TPR 0.82, TNR 0.25. It approves three of the four answers I rejected. So the retrieval numbers mean something and the judge numbers don't yet — it's too lenient at the threshold I picked, and I haven't fixed it. Measured, not solved, and I'd rather say that than quote the 4.86. A threshold gate on the metrics is written but not merged. Small corpus, ~20 documents, and I say so. https://github.com/Emanuelo06/construction_rag
Building in public: Docent, issue triage for pydantic/pydantic. ~1.5k resolved issues ingested as a hybrid RAG corpus via GitHub GraphQL fetchers and Celery pollers, hybrid keyword + vector retrieval with reranking and score merging, three of five agent phases live (intake → research → draft), research calling the GitHub MCP server as a client. The judge gate, escalation, cost metering and injection defence are designed and not yet built. https://github.com/emanuelecz/Docent
Looking for a small team doing agents, devtools, or AI support tooling. EU citizen, Spain-based, EOR or contractor.