Filippo Menghi
16 y/o developer from Milan.
Author of PromptQuery. 32 merged PRs into LiteLLM, aider and the Anthropic ecosystem.
About
Self-taught since 11. No bootcamps, no courses. Documentation, projects, and a bias toward shipping things that work in production.
I integrate Claude, GPT, and open-weight models into real systems — a personal music recommender, an iOS security tool, a macOS behavioral profile pipeline, an algorithmic trading bot. AI is a primitive in a verified pipeline, not a chat surface I bolt onto a product.
I contribute upstream when I hit real issues in real dependencies. Four PRs merged into LiteLLM this month alone. More on the open-source page.
AI Integration
Claude, GPT, MCP, multi-model
Audio ML
CLAP, MERT, EffNet, MLX
iOS Security
pymobiledevice3, hardening
Algo Trading
regime detection, MT5 bridge
Open source
LiteLLM, pdfplumber, MusicKit
AI as engineering
I've been integrating Claude, GPT, and open-weight models into real products since before this was a job spec. The pattern is consistent: AI as a primitive in a verified pipeline, not a magic box you ask questions to.
Integration over chatbots
LLMs are useful when they disappear into a pipeline. Most of my AI work is invisible: a model picking the right routing decision, scoring an audio embedding, validating a profile change, generating a hardening recommendation. The chat surface is the last resort.
Verify, don't trust
I read the code AI writes and check it against the real system — psql, runtime logs, git status. AI is a fast pair, not an oracle. The good ones get corrected weekly. That's the discipline that lets me ship things that don't break in production.
Multi-model by default
GPT, Claude, and open-weight models all have their own failure modes. Every serious AI integration I build has a provider abstraction and a fallback. SmarTaste blends three audio embedding models. scrape-gen routes between GPT-5.4 and Claude Opus. The future is plural.
Own the harness
I built my own Claude Code workflow: custom hooks, session orientation, statusline, per-project memory, state externalization. Tooling that adapts to me, not the other way around.
AI in production — where the integration shows up
a four-stage retrieval pipeline in front of the model — TF-IDF, a cheap LLM table selector, FK-graph expansion, then generation over 25 tables instead of 675. Enum-aware prompts and execution-guided self-repair took execution accuracy from 58% to 72% on the heron benchmark, with hard DB errors at 0/100.
multi-model audio embedding pipeline (CLAP + MERT + EffNet, 1280-dim) blended with a 7-dimension taste profile. Hybrid GPU mode — local via ngrok, cloud via Modal.
Anthropic's Model Context Protocol bridging Apple MusicKit to Claude — library queries, playlist generation, history surfacing from chat.
LLM advisor for hardening recommendations with a rule-based fallback when no API key is configured. Synthesizes findings into a `HardeningRecommendation` schema the rest of the pipeline consumes.
longitudinal user profile built from on-device signals (Biome, knowledgeC, Spotlight, Safari, shell history). Two LLM providers behind a clean abstraction. Local-only by design.
LLM enrichment after heuristic generation — proposes additional bases, writes a narrative rationale.md tracing every guess back to a scraped fact. Authorized-pentest use only.
Claude API decision engine on top of a deterministic ML stack (regime detection, spread-adjusted RR). Dual-engine live/backtest architecture with cross-file impact discipline.
PromptQueryprq
natural-language SQL for production-scale Postgres · Apache-2.0 · prq.menghi.dev
A CLI that turns plain English into one correct, read-only Postgres query — engineered for the schemas people actually have, with hundreds of FK-linked tables, not five-table demos. Introspect, retrieve, generate, validate, confirm, run. Shipped on PyPI as pip install promptquery, currently at v0.3.0.
EX@1 on heron, the tool-neutral benchmark I built alongside it — 100 audited questions, gpt-4o, temperature 0, scored by execution-equality against a seeded 4.4M-row Postgres database. Rank 1 of 5 tools on a 68.7 Grade, ahead of Vanna (61.9), a raw-gpt-4o full-schema baseline (56.8), MAC-SQL (48.2) and DIN-SQL (47.9).
Stuffing a 675-table schema into a prompt costs ~85k tokens and still misses joins. prq narrows in four stages instead: stemmed TF-IDF surfaces ~50 candidate tables in microseconds, a cheap LLM selector cuts to ~15 (it resolves what lexical match can't — "invoice" → account_move, "shipment" → stock_picking), FK-graph expansion walks one hop in and out for join targets the question never named, capped at 25. The frontier model sees 25 tables, not 675.
Open source
Real PRs against real issues in the AI-tooling ecosystem. I file upstream when I hit a problem in a dependency I rely on — not for stars, not for cosmetic fixes.
Counts are upstream PRs only — my own repositories are excluded. Last synced with GitHub on 2026-08-04.
LiteLLM
BerriAI/litellm★ 55k+
Open-source AI gateway used by enterprises to standardize calls across 100+ model providers (OpenAI, Anthropic, Bedrock, Vertex, MiniMax, OpenRouter). My PRs land across the router, the proxy, provider transformations, spend logging, alerting, and the pricing map.
My PRs
aiderAider-AI/aider
★ 47k+AI pair programming in the terminal. Model-settings work: keeping the Claude, GPT, Gemini and DeepSeek model tables current across OpenRouter and Azure AI Foundry.
pdfplumberjsvine/pdfplumber
★ 10k+Python library for extracting text, tables, and figures from PDFs. Used widely in data extraction, document AI, and ETL pipelines.
serversmodelcontextprotocol/servers
★ 89k+Anthropic's reference Model Context Protocol servers. Fixed invalid JSON in the Zed context_servers config snippets — copy-paste-broken docs for anyone wiring MCP into Zed.
implicitbenfred/implicit
★ 3.8kFast collaborative filtering for implicit feedback datasets — the recommender library behind SmarTaste's candidate generation.
am-lyricsbinimum/am-lyrics
Apple Music lyrics utility. Contributed reliability and memory leak fixes plus a click-seek bug fix.
Ecosystem indexes
Open PRs listing PromptQuery in the awesome-lists it belongs in.
Projects
AI-integrated systems I've built and shipped. Each one solves a problem I personally had.
SmarTaste
audio-ML music recommender · MIT · music.menghi.dev
Personal music discovery built on a multi-model audio embedding pipeline. Three models in parallel, a seven-dimension taste profile, hybrid local/cloud GPU. Used by me and a small group of friends. The work that taught me everything I know about shipping AI to production.
Tracks are passed through three audio embedding models in parallel — CLAP, MERT, and an EffNet-based scalar model — producing a 1280-dim representation that captures sonic, harmonic, and timbral signal. Cached per ISRC. Hybrid GPU mode runs locally via ngrok or in the cloud on Modal depending on load.
iphone-audit
iOS audit + hardening · GPL-3.0
Audits an iPhone for indicators of prior compromise via pymobiledevice3, hardens it through a signed .mobileconfig, and verifies the result with a before/after diff. Python backend daemon, native SwiftUI macOS frontend communicating over a Unix-socket JSON-RPC bridge.
musicmind-mcp
MCP server for Apple Music · MIT
Model Context Protocol server bridging Apple MusicKit to Claude. Library queries, playlist generation, listening-history surfacing — all directly from a chat surface. Early-adopter implementation of Anthropic's open protocol for AI-tool interop.
customos
macOS behavioral profile · MIT
Longitudinal behavioral profile of a single macOS user built from on-device data sources (Biome, knowledgeC, Spotlight, Safari, shell history, calendar). Three-subsystem architecture: extractor → profile.json + hooks → live coordinator. Local-only by design.
SpowieBotPrivate
XAUUSD algorithmic trading bot
Dual-engine architecture (V3 live / V4-V6 backtest), regime detection, spread-adjusted RR. MT5 broker integration runs inside Wine on macOS, with the main bot calling it over an HTTP REST bridge. Claude API provides the decision-explanation surfacing on top of a deterministic ML stack. Sanitized public architecture template in prep.
More projects
OSINT-driven password wordlist generator with per-entry rationale tracking. GPT-5.4 / Claude Opus enrichment. Authorized pentest use only.
Smart calorie tracking with an OpenAI-first parser. Type or speak what you ate, model handles the rest. PIN-based account creation, no email collection.
Personal IGCSE 0580 + 0654 exam-prep platform with hybrid OpenAI-powered ingestion. 200GB Railway volume.
Self-hosted revision dashboard for Cambridge IGCSE students. Engine-only — bring your own papers and notes. Python stdlib server, vanilla JS UI.
STEM Racing team I co-founded. Engineering, manufacturing, sponsors. Best Enterprise Project at regional qualifiers.
Separate sniper-style trading project — distinct architecture from SpowieBot.
Full list on GitHub.
The journey
First experiments
Started with Scratch at 6. Simple animations and games. First time making a screen do what I wanted.
First real code
Self-taught Python at 9, then HTML and CSS. No courses, just curiosity and a laptop.
Hardware meets software
JavaScript, small tools. Arduino and micro:bit — connecting code to the physical world.
H-FARM Campus
Four summers: robotics, content creation, AI storytelling, smart solutions. First real intersection of coding skills and AI.
First production trading system
Built an ML-powered XAUUSD scalper. Learned more about discipline and risk from markets than from any textbook.
First iOS product
Native iOS app for real-time voice AI. Custom WebSocket backend, bespoke Swift UI. First complete product cycle.
PowairX — STEM Racing
Co-founded a competitive engineering team. Led engineering and enterprise. Passed regional qualifiers, won Best Enterprise Project.
SmarTaste in production
Shipped a personal music recommender on FastAPI + Postgres + Modal. Multi-model audio embedding pipeline (CLAP + MERT + EffNet). Real users. Live at music.menghi.dev.
musicmind-mcp
Built an MCP server bridging Apple MusicKit to Claude. Early-adopter implementation of Anthropic's open protocol.
Open-source contribution cadence
Started filing real upstream PRs systematically — pdfplumber, am-lyrics, then LiteLLM. The goal: a credible GitHub graph built from real work, not stars.
4 LiteLLM PRs merged
Sanitized empty text blocks on /v1/messages (#27832), added Bedrock cross-region inference profile for claude-sonnet-4-6 (#27831), added blocked-flag pause/resume from the proxy + UI (#27927, #28151). LiteLLM gateways AI for thousands of teams.
Four public repos shipped
Released iphone-audit (iOS hardening), scrape-gen (OSINT wordlist), customos (macOS behavioral profile), igcse-revision-toolkit. All AI-integrated, all production-ready.
PromptQuery v0.1 → v0.2
Started prq: a CLI that turns plain English into read-only Postgres SQL over schemas with hundreds of tables. The v0.2 LLM table selector took retrieval from 76% to 100% on a 675-table Odoo schema at 12× fewer tokens than dumping the schema into the prompt.
heron — a benchmark I'm allowed to be measured by
Built a tool-neutral NL→SQL benchmark in its own repo: 211 FK-linked tables in one multi-tenant Postgres schema, 4.4M deterministically seeded rows, 100 audited gold questions, execution-equality scoring, and CI that re-runs every submitted query instead of trusting it. prq is one adapter among five.
PromptQuery v0.3.0 — 58% → 72%
Enum-aware schema prompts and execution-guided self-repair. Same benchmark, same model, same 100 questions: execution accuracy 58% → 72%, hard DB errors 7/100 → 0/100. Rank 1 on heron at a 68.7 Grade.
25 LiteLLM PRs merged in a month
A sustained upstream run across the router, proxy, provider transformations, spend logging, alerting and the pricing map — Retry-After on 429s (#30098), TPM accounting for embeddings (#30105), Bedrock IAM pass-through deployments (#30111), Anthropic streaming content_block_start synthesis (#30115).
Open to stages and OSS collaboration
Studying Cambridge IGCSE in Milan. Available for technical stages, OSS contributions, and AI-integration work. Remote, hybrid, or in Milan / Switzerland / Berlin.
Stack
Tools I use regularly, with the context where they show up. Hover for the where.
AI & ML
Languages
Backend & data
Infra & deploy
iOS & macOS
Frontend
Integrations
Tooling
Beyond Code
Team Leadership
Leading means resolving conflict, not assigning tasks. The best technical solution is worthless if you can't get five people aligned.
Selling an Idea
Cold emails, pitch decks, presenting to professionals twice my age. Most said no. The ones who said yes made it worth it.
Defending Decisions
Industry judges question every choice, every budget line. You don't just build. You justify. That pressure builds critical thinking.
Learning from Failure
Our car failed at qualifiers. I didn't make excuses. I analyzed what went wrong and documented it. That's the only productive response.
Ship Over Perfect
The projects that made it are the ones where I set a deadline, cut scope, and committed.
Comfort with Unknowns
Every project starts with something I haven't done before. The skill isn't knowing everything. It's figuring it out fast.
Now
August 2026
PromptQuery v0.4 — value/literal linking and window-function composition, the two places v0.3.0 measurably loses on heron.
Opening heron to external submissions: the adapter flow and the verification bot are live, the board is still all my own adapters.
Upstream PRs to LiteLLM — 29 merged, 7 still open and waiting on review.
Preparing a sanitized public architecture template for SpowieBot.
Studying for Cambridge IGCSE 0580 (Mathematics) and 0654 (Coordinated Sciences).
Open to technical stages and OSS collaboration — [email protected].