Tiago Fortunato
Available for work
Berlin, Germany

Tiago Fortunato
Software Engineer

Backend & AI Applications · LLM / RAG · Full-Stack SaaS
Python FastAPI LangChain RAG Next.js TypeScript PostgreSQL Docker

Building backend systems and AI-powered applications — from RAG pipelines and Vision AI classification to production SaaS with multi-tenant architecture. Founder of Odys.

💬 Ask my AI Career Assistant — learn about me

Who I am

Software Engineer focused on backend systems and AI-powered applications. I build production software that integrates LLMs, RAG pipelines, and computer vision into real products — not just prototypes.

I built an AI Career Assistant using RAG with LangChain, ChromaDB, and Groq — a chatbot recruiters can use to learn about my background. I added Vision AI classification with Groq and LangSmith observability to the Inspection Management API. And I shipped Odys — a full SaaS product with multi-tenant architecture, Stripe billing, and WhatsApp automation, built entirely solo.

MSc Software Engineering (Berlin, 2026). Background in Mechanical Engineering. Trilingual — Portuguese, English, German (B2). Based in Berlin, open to work.

What I work with

Backend Engineering
Python FastAPI REST APIs PostgreSQL SQLAlchemy Drizzle ORM Alembic Pytest
Full-Stack & SaaS
Next.js 16 TypeScript Supabase Stripe Resend Upstash Redis Multi-tenant architecture
DevOps & Infrastructure
Docker GitHub Actions CI/CD Railway Vercel Git
AI & LLM Applications
LangChain ChromaDB RAG Pipelines Groq Vision AI LangSmith RAGAs fastembed YOLOv8 Scikit-learn
AI-Augmented Development
Claude Code GitHub Copilot ChatGPT Gemini

What I've built

Odys — Scheduling SaaS 2026

WhatsApp-first scheduling SaaS for Brazilian freelance professionals — therapists, personal trainers, salons. Clients book online, receive automatic WhatsApp reminders 24h before, and professionals manage everything from a dashboard. Live product at odys.com.br.

  • WhatsApp-native reminders via self-hosted Evolution API v2 on Railway — triggered by Supabase pg_cron, not a third-party bot
  • Multi-tenant architecture: each professional gets a public booking page at /p/[slug] with fully isolated data and configurable availability
  • Stripe subscriptions + PIX; Supabase Auth; Drizzle ORM on PostgreSQL; resolved PgBouncer transaction mode compatibility
  • Rate limiting with Upstash Redis; error monitoring with Sentry; transactional email via Resend
  • Deployed on Vercel (app) + Railway (WhatsApp API Docker container); CI/CD via GitHub Actions
Next.js 16 TypeScript Supabase Drizzle ORM Stripe Evolution API Railway Vercel Upstash Redis Docker
AI Career Assistant — RAG Chatbot 2026

AI-powered career chatbot that lets recruiters and hiring managers ask questions about my background, projects, and skills — powered by a RAG pipeline over my professional knowledge base. Try it live.

  • RAG pipeline with LangChain, ChromaDB, and fastembed — retrieves relevant context from a curated knowledge base before generating answers
  • Streaming responses via Groq LLM (Llama 3.1) with conversation history and suggested follow-up questions
  • Section-aware chunking via font-size analysis — keeps related content together for better retrieval
  • Evaluation pipeline with RAGAs for measuring faithfulness, relevance, and answer quality
  • FastAPI backend + vanilla JS frontend; containerized with Docker and deployed on Render
FastAPI LangChain RAG ChromaDB Groq fastembed RAGAs Docker
Inspection Management API — AI-Powered 2026

Production REST API for infrastructure inspections with autonomous AI classification. Upload a photo of road damage and the system classifies severity, damage type, and generates an explainable rationale — all in the background.

  • Vision AI classification via Groq SDK — images are compressed client-side, sent to the API, and classified autonomously using background tasks
  • Explainable AI (XAI): every classification includes a human-readable rationale field so decisions are transparent and auditable
  • LangSmith integration for full LLM observability — trace every prompt, response, and latency in production
  • Structured LLM output enforcement with LangChain for consistent severity/damage type responses
  • JWT auth with admin role, per-user data isolation, status lifecycle, rate limiting
  • 31 Pytest tests; CI/CD via GitHub Actions; Docker; frontend dashboard on Vercel with image upload and AI status badges
FastAPI Groq Vision AI LangChain LangSmith PostgreSQL SQLAlchemy Docker Pytest GitHub Actions
Road Hazard Detection — MSc Thesis 2025 — 2026

Two-stage hybrid pipeline combining YOLOv8-based object detection with a rule-based expert system to detect road surface damage and automatically prioritize maintenance actions. Trained and evaluated on the RDD2022 benchmark dataset.

  • Conducted 4 controlled experiments (EXP1–EXP4) varying model capacity, input resolution, and training length — best config (YOLOv8s): mAP50 0.663, Precision 0.694, Recall 0.604
  • Built a rule-based expert system with geometric filtering, continuous severity scoring, and quantile-based prioritization (LOW / MEDIUM / HIGH)
  • Post-processing reduced noisy detections by 31.2% (8304 → 5711) while preserving structurally relevant defects
  • Designed for interpretability: every prioritization decision traceable to explicit rules — no black boxes
Python YOLOv8 PyTorch RDD2022 Google Colab Git
Vehicle Health Monitor & Fault Predictor 2025

End-to-end ML pipeline analyzing vehicle sensor data (temperature, vibration, oil pressure, RPM) to predict failures before they occur.

  • Multi-stage pipeline: data generation → ETL → EDA → ML → dashboard
  • Random Forest classifier with imbalanced data handling (99.9% accuracy)
  • Live Streamlit dashboard for real-time vehicle condition monitoring
Python Pandas Scikit-learn Streamlit NumPy
Matrix Recommendation System 2025

Recommendation engine using matrix multiplication and Python multithreading to simulate scalable user-product scoring — with performance benchmarking between sequential and parallel execution.

  • Implemented S = U × P matrix scoring with score normalization
  • Compared sequential vs. multithreaded performance with visual output
  • Demonstrated threading tradeoffs: overhead vs. scalability at scale
Python NumPy Threading Matplotlib

What I've done

2026 — present
Founder & Full-Stack Developer
Odys · odys.com.br
Building Odys — a WhatsApp-first scheduling SaaS for Brazilian freelance professionals. Sole developer: designed and shipped the full product from scratch, including multi-tenant architecture, Stripe billing, self-hosted WhatsApp API on Railway, and automated reminder flows via Supabase pg_cron.
2019 — 2024
Project Manager
Fortunato Joias · Brazil
Owned production planning, supplier relationships, and delivery cycles for a family manufacturing business. Five years of end-to-end operational ownership.
2018 — 2019
Engineering Intern — Logistics & Operations
Metalúrgica Besser · Rio de Janeiro, Brazil
Supported logistics routines and operational planning. Managed shipment priorities and reduced delays through structured problem solving.
2016 — 2018
Co-Founder & German Teacher
Guide Idiomas · Rio de Janeiro, Brazil
Co-founded a German language school. Created structured learning materials, tracked student progress, and managed scheduling and customer support.

Academic background

2024 — 2026
MSc Software Engineering
University of Europe for Applied Sciences · Berlin
Focus: Software Testing, Automation, and applied Machine Learning.
Thesis: Computer Vision Object Detection (YOLO-based pipeline).
2022 — 2023
Postgraduate — Railway Engineering
Faculdade UniBF · Brazil
2021 — 2022
Postgraduate — Automation Engineering & Industrial Electronics
Faculdade UniBF · Brazil
2014 — 2016
Exchange Student — Mechanical Engineering
Hochschule Wismar · Germany
International academic exchange in Germany.
2013 — 2018
BSc Mechanical Engineering
UERJ · Rio de Janeiro, Brazil

Communication

Portuguese
Native
English
Fluent
German
B2.2 — Improving

Let's talk

Available for AI Application Engineer, Backend Developer, or Product Engineer roles in Berlin and remote. If you're building AI-powered products and need someone who ships — let's talk.