# Luca Sargenti

**Senior Product Engineer — Fullstack (Angular, Node.js, AWS) · LLM, RAG & tool calling**

- **Location:** Perugia, Italy
- **Email:** luca.sargenti.dev@gmail.com
- **GitHub:** https://github.com/LucaSarge4
- **LinkedIn:** https://www.linkedin.com/in/luca-sargenti-web/
- **Portfolio:** https://luca-sargenti-portfolio.vercel.app/

## Summary

Senior engineer with 9+ years building products from scratch: web and mobile platforms, microservice and serverless backends, and the translation editor an entire company now works in. Deep in Angular (Signals, RxJS, design systems, microfrontends) and Node.js/AWS. Currently building the LLM layer of products (hybrid retrieval with pgvector, agentic RAG, tool calling and MCP), measured with evals, not demos.

## Experience

### Senior Product Engineer — Docebo
*Sep 2022 – Present*

- Build and maintain the shared design system: performant, Signal-based, accessible Angular components reused by every product team.
- Lead the refactoring of core LMS features central to the product, with Angular Signals, RxJS and state management at scale.
- Set up CI/CD pipelines and the microfrontend architecture; maintain and release the shared component libraries.
- Built MCP tooling for internal libraries; apply prompt and context engineering to cut Claude Code token usage in day-to-day development.

### Frontend Lead (Freelance) — TRW

- Led the frontend of the web translation editor that replaced TRW's legacy software; the whole company now translates in it.
- Cut the time to open a large project from 5–10 minutes to near-instant with infinite and virtual scrolling over thousands of variable-height segments.
- Built a custom input engine on contenteditable: own caret, selection, clipboard and undo/redo, per-language typography and right-to-left text, with inline tags protected from edits.
- Kept it smooth at scale with row-level Angular Signals, an R-tree spatial index for spellcheck hit-testing, and server-side QA streamed back in real time.

### Senior Software Engineer (Freelance) — Albicchiere

- Designed and built a serverless backend from the ground up using AWS Lambda, DynamoDB, SQS, SES, S3, and IoT for smart device operations.
- Delivered the business web app and prepared full handoff documentation for team transition.

### Fullstack Developer — Netter
*Feb 2018 – Jun 2022*

- Built most of the core product over four years, working across web, mobile, backend, infrastructure and embedded UI.
- Built the web platform from scratch in Angular and its mobile counterpart in React Native.
- Architected microservice-based REST APIs in Node.js with gRPC inter-service communication, RabbitMQ, and Redis.
- Ran the Docker / Docker Swarm infrastructure and the network layer (Faucet); built a touch-device UI with Qt on Sway.

## Skills

- **Languages:** TypeScript, JavaScript, Python, HTML, CSS, SQL
- **Frontend:** Angular, Angular Signals, RxJS, React, Redux, React Native, Expo, Next.js, Electron, Web Components, Astro
- **Backend:** Node.js, FastAPI, REST API, gRPC, GraphQL, RabbitMQ, Microservices
- **AI & ML:** LangChain, LangGraph, Local LLMs (Ollama), pgvector, Hybrid search (RRF), Agentic RAG (CRAG, Self-RAG), Tool calling, MCP, Retrieval evals, Structured output, Prompt & context engineering, Multi-provider LLM APIs (Gemini, OpenRouter)
- **Data & infra:** PostgreSQL, SQLite, Supabase, MongoDB, Redis, AWS, Docker, Nginx, Grafana, CI/CD
- **Practices:** Design systems, Accessibility, Microfrontends, SCRUM, Unit & E2E testing, Code review, Mentoring, Observability

## Selected projects

### AI Engineering Lab (2026 — ongoing)

A sixteen-module AI engineering curriculum I run on my own. Retrieval, agents, tool calling and MCP, built by hand in TypeScript, with every exercise ending in a measurement.

- Resilient multi-provider LLM client in TypeScript (Gemini, Ollama, OpenRouter): retries with jittered backoff, streaming, cancellation, cost estimates and routing; 129 automated checks.
- Hybrid search on PostgreSQL + pgvector fused with Reciprocal Rank Fusion, measured with recall@10 and MRR; agentic retrieval with Corrective RAG and Self-RAG.
- Cut local-model prefill from ~30 s to 0.3 s on a 6,200-token prompt by reordering it for prefix caching.
- **Stack:** TypeScript, Python, LLMs, RAG, pgvector, Agents, Tool calling, MCP, Evals
- **Write-up:** https://luca-sargenti-portfolio.vercel.app/projects/ai-engineering-lab

### Personal Expenses Tracker (2026)

A local-only expenses tracker. Drop in bank statements as PDF, CSV or XLSX, and a local LLM extracts, deduplicates and classifies every transaction into your own categories.

- **Stack:** Python, FastAPI, SQLModel, SQLite, React, TanStack Query, Ollama, LLMs
- **Write-up:** https://luca-sargenti-portfolio.vercel.app/projects/personal-expenses-tracker
- **Code:** https://github.com/LucaSarge4/personal-expenses-tracker

### AI Training Coach (2025)

A local-first AI coach that syncs workouts from Garmin and Strava, embeds session notes into pgvector, and answers training questions through a LangGraph agent running on a local Ollama model.

- **Stack:** Python, LangGraph, FastAPI, PostgreSQL, pgvector, React, Ollama, Docker
- **Write-up:** https://luca-sargenti-portfolio.vercel.app/projects/ai-training-coach

### FantAsta Live (2026)

A real-time auction room for a ten-person fantasy football league. Players bid from their phones, the auctioneer runs the room from a console, and a TV shows every squad live.

- **Stack:** Next.js, React, TypeScript, Supabase, PostgreSQL, Realtime, Vitest
- **Write-up:** https://luca-sargenti-portfolio.vercel.app/projects/fantacalcio

### Isinboard (2026)

A personal dashboard for ISINs. Paste certificates, stocks, ETFs and bonds, get official EU reference data, and price them with your own provider keys.

- **Stack:** TypeScript, Next.js, React, Supabase, Vitest
- **Write-up:** https://luca-sargenti-portfolio.vercel.app/projects/isinboard
- **Code:** https://github.com/LucaSarge4/isinboard

## Education

- **Master's degree:** Computer and Automation Engineering — University of Perugia, 2015 – 2018. 110/110 cum laude.
- **Bachelor's degree:** Information Engineering — University of Perugia, 2011 – 2015
- **Internship:** Vendini — Worked on an Ionic mobile app.

## Languages

- Italian — Native
- English — Upper-intermediate (B2)
