Maths exercise generator
A Streamlit app for teachers: pick topic, difficulty and student profile, get an exercise, then a step-by-step solution from a separate call. Prompt templates in Jinja; Docker and Cloud Run deployment config.
Projects
A product, three lines of model work and an application: how they work, how we adapted the models, built the data and shipped them. The papers have their own stories; these pages are about the engineering.
ProductThe World Bank · 2024 – present
Better evidence. Better decisions.
A platform that turns impact-evaluation literature into structured, searchable evidence, then answers policy questions with retrieval, grouping and meta-analysis linked to the underlying studies.
Watch the film and follow every phase

Technical workstream · research + ImpactAI
Sapienza NLP · Babelscape · The World Bank · 2020 – present
Sequence-to-sequence models that write structured output. First, AMR parsers where each paper changed one part of the transformer: the output (CLAP), the attention (aligner), the encoder (LeakDistill), the input (AMRs Assemble!). Then generative models at scale: Gemini fine-tuned on Vertex AI, LLM-built datasets and LLM components in ImpactAI.
Explore
Technical workstream · inside ImpactAI
The World Bank · 2024 – present
Small encoders trained for one job each: a retriever and a reader that link text to a development-economics taxonomy in one pass, a relevance classifier, and an effect-size regressor, trained on data we created with LLMs.
Explore
Technical workstream · inside ImpactAI
Research and ImpactAI · 2019 – present
Structuring a field’s knowledge in three layers: concepts (a taxonomy grown from millions of documents with LLMs and experts), relations (typed graphs from semantic parsing, in any language), and completion (missing links found by reasoning and by effect prediction).
Explore
Application
Freelance 2017 · rebuilt with AbeFlow in 2026
Dispatch, crews and a map of Málaga in one app: place an incident, send the closest crew, follow it on its tablet and talk browser to browser over WebRTC, with every order in an audit trail.
Explore
Capabilities
| Capability | ImpactAI | Encoder–decoder systems | Fine-tuned encoders | Taxonomies & graphs | FireFighter |
|---|---|---|---|---|---|
| System architecture & cloud | |||||
| Model training & new architectures | |||||
| Retrieval & information extraction | |||||
| Synthetic data with LLMs | |||||
| Knowledge representation | |||||
| Evaluation & error analysis | |||||
| Real-time applications | |||||
| Technical leadership |
More work
A Streamlit app for teachers: pick topic, difficulty and student profile, get an exercise, then a step-by-step solution from a separate call. Prompt templates in Jinja; Docker and Cloud Run deployment config.
Reusable Astro templates, per-client content and a TypeScript CLI that builds and deploys client sites to Firebase. This site is a separate Next.js + FastAPI project.
University and early-career repositories, such as a Spark-based spam classifier in Java and a clustering implementation.