Predictive ML for health
Data scientist at GECAD — forecasting hospitalization needs for remote patients.
AI engineering, minus the unnecessary drama.
Started in mathematics, wandered into computer science with a taste for data mining, and kept following the thread: Data Science, Data Engineering, and now AI Engineering with a soft spot for anything GenAI.
I like taking messy problems and unnecessarily complex processes, and turning them into something simple, useful, and technically honest. Particular weakness for LLMs, RAG and agents — when they actually solve a problem, not just because they're on the menu.
Porto · remote-firstData scientist at GECAD — forecasting hospitalization needs for remote patients.
ETL and warehousing at Volkswagen Financial Services.
Hierarchical LangGraph agents at Accenture, for enterprise clients.
AI engineer at SkillUp — building the AI engines and APIs behind a learning platform: predictions with reasons, systems with guardrails.
A prediction API for a learning platform. Every prediction ships with its reasons — because “trust me” isn't much of an explanation.
Built to turn learning activity into an actionable view of learner performance — not just predict a result, but surface who might need support and why.
I inherited an early prediction-engine scaffold and was the main contributor during its functional build and design phase: reworking the prediction contract and designing and implementing the rule-based logic behind it.
The system defaults to rules-only, with ML gated behind explicit data, validation and monitoring criteria. And confidence is data-completeness-aware: rules that can't be evaluated are skipped, weights are redistributed, and confidence drops.
A local-first debugger for LLM pipelines: what went in, what happened at each step, what came out — and where it fell apart.
Started as a side project with a deliberately small brief: take an LLM flow and see what went in, what happened at each step, what came out — and where it failed.
Most of the design effort went into keeping it small. I dropped the original "Auditor" concept when it started pulling the product toward evaluations and compliance, asked myself the uncomfortable "isn't this just Langfuse?" question early, and built incrementally: a Python tracing core first, kept separate from the API and inspector UI that grew around it later.
Failed runs are persisted before the exception is re-raised. Every run becomes structured step-level traces — inputs, outputs, timing, status, errors — with recursive redaction on the write and read path.
The orchestrator of a hierarchical multi-agent GenAI system: every request became a decision — answer directly, retrieve knowledge, or delegate a plan to specialist agents.
An enterprise platform, a request in plain language, and a fair question: should the system just answer, look something up, or actually go and do the work? The orchestrator decided — for every request — between answering directly, retrieving knowledge, and delegating a multi-step plan across specialist domain agents.
At Accenture, I worked on the orchestration component of a hierarchical multi-agent system. It handled the step between understanding what the user wanted and deciding what should happen next. A lot of the complexity came from making that work reliably across different agents and workflows.
The model makes semantic choices through typed, structured outputs, and a deterministic LangGraph graph does the actual routing. Plans are generated at runtime with dependency-aware sequencing — required identifiers retrieved from the domain that owned them before anything downstream could run.
An xAPI-first learning analytics POC — explainable predictions, deterministic recommendations, and human-reviewed AI feedback. The case for the leaner architecture, made in code rather than slides.
FastAPI · xAPI analytics · Next.js · Local-first LLMs
My first true end-to-end deployment: React up front, FastAPI and Postgres underneath, an MCP-style service in between — shipped to Render, where other people could use it.
React · FastAPI · PostgreSQL · MCP
View source on GitHub ↗Semantic matching between candidates and job postings, with local embeddings and pgvector — so matches are about meaning, not keyword luck.
FastAPI · PostgreSQL + pgvector · React
View source on GitHub ↗An in-progress bet on safe agent execution: typed actions, approvals, receipts and audit trails.
An online tutoring platform I founded and run — connecting students with tutors, from 5th grade to university. Modest scale, real students, real bookings. Where my teaching side lives.
Visit ↗What I reach for daily
Also in the drawer
Two editions, two team wins: a 1st place and a Data Quality Award.
I show up for the meetups.
Mentee in the 2021/22 mentorship program.