Software, Geospatial & AI Engineer
Full-stack systems, AI agents, and Earth-observation tooling
I'm a software and geospatial engineer with an MSc in Geoinformatics Engineering from Politecnico di Milano (2026). I build full-stack platforms and AI agents, and I work across geospatial data and Earth observation, from serverless web apps to open-source satellite-imagery libraries.
Milan, Italy
45.48° N, 9.23° E
- Here
- Base. MSc Geoinformatics Engineering at Politecnico di Milano, 2023 to 2026. The thesis, the PlanetScope library and the GNSS positioning labs were done here.
- Work
- Fields
- EOGFMMLGISSW
Imagery: NASA Blue Marble and Black Marble. Day and night follow the clock above. Orbit height, tilt and period are the published values; starting positions are illustrative.
Selected work
A few things built end to end: the systems, the data and the tooling around them.

TrenLens: Full-Stack AI Content Platform
TrenLens is a solo-built, in-production media platform for long-form technology, AI, and science writing. Its centerpiece is an AI agent with 100+ Model Context Protocol tools and pluggable LLM backends (Claude, OpenAI, Ollama) that plans, streams over SSE, and calls the platform's own APIs so privileged users can run the whole site by conversation. It runs on a serverless Cloudflare Workers stack (D1, R2, KV, Workers AI) with 4-role RBAC and on-edge AI features.
- TypeScript
- Cloudflare Workers
- Agentic AI (MCP)
- React 19
- +6

Masters Thesis - Geospatial Foundation Models Research
Comprehensive research into AI-powered Earth observation and satellite imagery analysis, focusing on TerraMind GFM and AlphaEarth technologies. This master's thesis explores cutting-edge developments in geospatial foundation models, multimodal data processing, and advanced machine learning architectures for satellite imagery interpretation.
- Python
- TensorFlow
- PyTorch
- Earth Observation
- +5

EarthLabel — satellite photo-interpretation platform
Self-hosted web platform for satellite image interpretation and land-cover validation, built with Xiao Tan as a lighter, faster alternative to Collect Earth Online. Multi-source high-resolution basemaps, 10 built-in LULC schemas and three assessment modes (point, pixel/plot, grid/cell), with every project stored as one portable JSON file on disk. It produced the independent human reference labels used for the MSc thesis accuracy assessment.
- Node.js
- Express
- vanilla ES modules (no bundler)
- Leaflet
- +8

FlowCode
Visual pipeline builder for data science: place and wire module blocks on an infinite canvas, and an agentic layer generates, validates and runs the corresponding Python inside a Docker sandbox — including building a whole pipeline from a plain-English prompt. Implemented as a Turborepo/pnpm monorepo (React 18 + Vite + React Flow front end, Fastify 5 + Prisma 7 API, seven shared packages) and developed in explicit phases 0 through 2B with ADRs and written implementation guides. Phase 2B is merged and released as v0.6.0, with the canvas to Python to sandbox chain verified end to end.
- TypeScript 5.9 (strict)
- React 18
- Vite
- React Flow
- +8
What I work with
Grouped the way the work is: the web platform, the AI and cloud layer, and the geospatial data underneath.
- TypeScript
- React
- Vue.js
- Nuxt.js
- Hono
- Node.js
- Tailwind CSS
- Agentic AI (MCP)
- LLM integration (Claude / OpenAI / Ollama)
- Cloudflare Workers
- AWS
- Supabase
- Serverless
- Python
- GeoPandas
- Rasterio
- QGIS
- Google Earth Engine
- Remote Sensing
Recent writing
Notes on the machine-learning and systems work, written while doing it.

Visualizing High-Dimensional ML Models
Understanding the Challenge of Feature Dimensionality and 3D Visualization Limits
- AI

Bias-Variance Tradeoff
The bias-variance tradeoff is one of the most fundamental concepts in machine learning and statistics. It describes the relationship between a model's ability to minimize two types of errors: bias and variance. Understanding this tradeoff is crucial for building models that generalize well to new, unseen data.
- AI

Convex vs Non-Convex Optimization
Optimization is the cornerstone of machine learning. Every time we train a model, we're solving an optimization problem - finding the best parameters that minimize our loss function. However, the nature of this optimization landscape fundamentally determines how we approach the problem and what guarantees we can expect.
- AI
Get in touch
For roles, collaborations or a question about any of the work above.