Welcome to my machine learning and data science repository! This portfolio aggregates the projects where the core of the work is data โ modeling it, moving it, or reasoning about it. It spans undergraduate research, course projects, hackathons, and personal tools built while pursuing my B.S. in Computer Science at the University of Sรฃo Paulo (USP) - ICMC.
The portfolio is organized by area rather than by date. Each project includes a brief description, core techniques, technology stack, and an interactive repository card.
For the full academic record organized by semester and course, see Undergraduate Projects Portfolio.
- Graph Machine Learning & Deep Learning
- Natural Language Processing & Embeddings
- Evolutionary Computation & Optimization
- Network Science & Graph Analysis
- Statistics, Simulation & Probability
- Data Engineering & Pipelines
- LLM & AI Applications
- Numerical & Mathematical Foundations
-
Project Name: CNES โ Network Structure and Medical Resource Acquisition
-
Description: A full data and modeling pipeline over the microdata of CNES (Brazil's National Registry of Health Establishments, DATASUS), predicting medical equipment acquisition between annual snapshots. The study compares three representations of the same label โ no structure (tabular baselines), relational structure (a heterogeneous GNN over the registry schema), and geographic structure โ so the numbers are directly comparable. The unit of analysis is the transition
t โ t+1rather than the row, because a CNES snapshot is current-state, not an event log, making its date column right-censored. Ten annual snapshots (2017โ2026) yield nine transitions across a four-layer medallion architecture, with an isolated second pipeline for a 440 GB / 2ร RTX A6000 cluster. Every run emits a reproducible artifact package โ weights, provenance manifest, node/item index, and per-example scores โ so metrics can be recomputed and audited without a GPU or the raw data. Advised by Alexandre C. B. Delbem and Eric K. Tokuda. -
Techniques: Graph Neural Networks (heterogeneous, temporal), Relational Deep Learning (RelBench), Link Prediction, Tabular Gradient Boosting Baselines, Medallion Data Architecture (raw โ intermediate โ primary โ feature), Temporal Splitting & Leakage Control, Ranking Metrics (Average Precision, AUC via Mann-Whitney, MAP@k), Seed-Variance Estimation, Memory-Bounded Execution (cgroups), Checkpointed & Resumable Training, Reproducible Artifact Packaging, Schema-as-Documentation (single source of truth parsed at import).
-
Stack:
Python 3.12,PyTorch,PyTorch Geometric,RelBench,scikit-learn,DuckDB,Parquet,PyArrow,SciPy,Jupyter Notebook,pytest,uv,Make,CUDA -
Repository:
-
Project Name: Genetic Embeddings
-
Description: An investigation into applying Evolutionary/Genetic Algorithms to Natural Language Processing โ first predicting the next word in a sentence, then evolving text embeddings from scratch and benchmarking them against Word2Vec. The study concludes that GAs mainly capture syntactic patterns and degrade geometrically as vocabulary size grows.
-
Techniques: Genetic Algorithms (Selection, Crossover, Mutation), Fitness Function Design, Word Embeddings, Word2Vec Comparison, Vector Space Geometry Analysis, Natural Language Processing, Convergence & Efficiency Analysis.
-
Stack:
Python,Jupyter Notebook,Gensim,NumPy -
Repository:
-
Project Name: N-SAT Genetic Solver
-
Description: A genetic-algorithm approach to the Boolean Satisfiability Problem (SAT) โ the first problem proven NP-complete. Candidate assignments are encoded as chromosomes and scored by how many clauses they satisfy, evolved through single-point crossover against the best individual and a 5% per-gene mutation rate, with live plotting of the fitness evolution.
-
Techniques: Genetic Algorithms, Chromosome Encoding, Fitness Evaluation, Single-Point Crossover, Mutation Rates, Metaheuristic Search, NP-Complete Problems, Boolean Satisfiability, Real-Time Data Plotting.
-
Stack:
C,C++,Python,Tkinter,GNUplot,Shell/Bash Script -
Repository:
-
Project Name: Complex Networks Problem Sets (SME0130)
-
Description: Jupyter Notebook solutions to the course's problem sets, analyzing real-world network datasets (lesmis, powergrid, euroroad, usairport, hamsterster, jazz) through topological measures, centrality metrics, community detection, network classification, and epidemic dynamics.
-
Techniques: Degree Distribution & Moments, Shannon Entropy of Degree Distribution, Transitivity & Clustering Coefficients, Centrality Measures (Eigenvector, Betweenness, Closeness, k-core), Pearson & Spearman Correlations, Community Detection, Supervised Network Classification, Epidemic Spreading Models.
-
Stack:
Python,Jupyter Notebook,NetworkX,graph-tool,NumPy,SciPy,pandas,scikit-learn,Matplotlib,seaborn,EoN -
Repository:
-
Project Name: Statistical Simulation Projects (SME0123)
-
Description: Two computational simulation projects tackling probability problems: an M/M/r/4 finite-capacity queue analyzed as a Markov chain with two competing server-allocation strategies, and the classical geometric-probability question of whether a tetrahedron formed by four random points on a sphere contains its center.
-
Techniques: Monte Carlo Simulation, Markov Chains & Queueing Theory, Hypothesis Testing, Chi-Squared Uniformity Test, Confidence Intervals, Random Point Generation on Spheres, 3D Interactive Visualization.
-
Stack:
Python,Jupyter Notebook,NumPy,SciPy,Plotly -
Repository:
-
Project Name: PT-Wikipedia Graph Builder
-
Description: A data pipeline that processes official Portuguese Wikipedia dumps into a Neo4j graph of article-to-article links, using SQLite as an on-disk intermediate cache for memory-efficient ID-to-title resolution. Built as the outreach demo for ICMC de Portas Abertas, teaching high-school students how the Wikipedia Game reduces to a shortest-path problem on graphs.
-
Techniques: Large Dump Processing (
mwsql), Graph Databases & Modeling, Shortest Path Algorithms, Batch Ingestion & Throughput Tuning, Checkpointing/Resumable Pipelines, Disk-Based Caching, Memory-Constrained ETL. -
Stack:
Python,Neo4j,SQLite,mwsql -
Repository:
-
Project Name: ICMC Grad Maker โ Course Schedule Data Pipeline
-
Description: A platform that helps ICMC-USP students assemble their semester timetable without schedule conflicts. The data side is a two-source extraction pipeline with intelligent orchestration: a Selenium scraper reads the official JรบpiterWeb portal when the semester's class offerings are published, and an LLM-based parser falls back to the preliminary PDFs when they are not, with a merge step consolidating either path into a single clean
courses.jsonconsumed by a React SPA. -
Techniques: Web Scraping & Browser Automation, PDF Text Extraction, LLM-Assisted Structured Extraction, Pipeline Orchestration with Source Fallback, Data Consolidation & Normalization, Schedule Conflict Detection, Static Data Consumption (no runtime API calls).
-
Stack:
Python,Selenium,BeautifulSoup,pdfplumber,google-genai(Gemini),pandas,uv,JavaScript,React,Vite -
Repository:
-
Project Name: Manutec โ Voice-Driven Maintenance Assistant
-
Description: A maintenance-management application built for the Tractian hackathon. Field technicians upload a voice recording of their instructions; the system transcribes it and turns free-form speech (or typed text) into an actionable task checklist through the GPT API. It also suggests and tracks which tools are in use, by whom, and when.
-
Techniques: Speech-to-Text Transcription, LLM Prompt Design for Structured Output, Audio Preprocessing & Format Handling, Task Extraction from Unstructured Text, Tool Recommendation, Desktop GUI Development.
-
Stack:
Python,OpenAI GPT API,Pydub,ffmpeg,Tkinter,PIL -
Repository:
-
Project Name: FinSense โ WhatsApp Finance Agent (BTG Hackathon)
-
Description: A LangChain-based financial agent that simulates and extends BTG Pactual's WhatsApp assistant (Finanรงas+), adding card management, savings goals ("caixinhas"), category budgets, spend alerts and expense charts, delivered over WhatsApp via the Twilio API. Built as a collaborator for the BTG hackathon at SEMCOMP.
-
Techniques: LangChain Agent / Tool-Calling, WhatsApp Integration (Twilio API), Webhook Tunneling (Ngrok), Structured Output Validation (Pydantic), Budget & Spend Alerting, Data Visualization (Matplotlib).
-
Stack:
Python,LangChain,Twilio API,Pydantic,Matplotlib,Ngrok -
Repository:
-
Project Name: Linear Algebra Exercises & Applied Projects (SME0142)
-
Description: A notebook collection working through the course's exercise sets plus a practical assignment and a final project, connecting linear algebra theory to computational applications โ the algebra that underpins dimensionality reduction, least-squares fitting, and the linear layers of neural networks.
-
Techniques: Vector Spaces & Linear Transformations, Matrix Factorizations, Eigenvalues & Eigenvectors, Orthogonality & Projections, Least Squares, Numerical Linear Algebra.
-
Stack:
Python,Jupyter Notebook,NumPy,Matplotlib -
Repository:
-
Project Name: Numerical Methods Notebooks (SME104)
-
Description: A series of Jupyter Notebooks implementing and explaining classical numerical methods, pairing theoretical derivations with executable code and visualizations for each topic โ including the floating-point error analysis and iterative solvers that sit underneath every numerical optimizer.
-
Techniques: Numeric Base Conversion, Floating-Point Arithmetic (Rounding & Truncation Errors), Root Finding (Bisection, Newton-Raphson, Secant), Direct Solvers for Linear Systems (Gaussian Elimination, LU Factorization), Nonlinear Systems (Newton's Method).
-
Stack:
Python,Jupyter Notebook,NumPy,Matplotlib -
Repository: