Open to opportunities in ML & Data Remote · Europe / On-Site · Spain

Salvador López Trigueros

Machine Learning & Data Science

Python SQL Scikit-Learn | Software Engineering background (Java)

Cross-platform software developer with an analytical mindset and a solid backend foundation in Java and Spring Boot. Today I build Machine Learning projects with Python and Jupyter, and I'm moving into Deep Learning and Computer Vision. Hardware and custom mechanical keyboard enthusiast.

01 — About

From software engineering to artificial intelligence.

My foundation is software development: two years of Java in my Cross-Platform Application Development degree (DAM), working with Spring Boot and Android, with SCalc as my main project. That's where I learned to design business logic and structure code so it stays maintainable. I now bring the same discipline — thinking in systems, testing, refactoring — to data.

Today I work on data analysis and Machine Learning with Python, Pandas and Scikit-Learn in Jupyter, and I'm deepening Deep Learning and Computer Vision through a specialization course in AI and Big Data. I care about Clean Code and use AI-assisted development to iterate faster without cutting corners on quality.

DAM average grade

0.0/10

Featured projects

0Android · ML · Web

Clean Code

Readable, testable code with clear responsibilities. SOLID as a starting point.

AI-assisted development

I use LLMs and coding agents as copilots to prototype, review and document faster.

Hardware & Keebs

Hardware tinkerer and custom mechanical keyboard enthusiast — it even made its way into my projects (kbevi).

02 — Experience

Professional experience.

  1. Android Developer · Internship

    Dinaprise

    Native Android development, backend architecture, and business logic with Java and Spring Boot.

    • Java
    • Spring Boot
    • Android
    • Backend
  2. Web Developer · Internship

    Evirom

    Built the kbevi mechanical keyboard catalog with PHP, HTML, CSS, and SQL.

    • PHP
    • HTML
    • CSS
    • SQL
  3. IT Technician · Internship

    Colour Technology

    Advanced hardware diagnostics and component-level repair.

    • Hardware
    • Diagnostics
    • Repair

03 — Projects

Featured projects.

View all on GitHub
Logistic Regression · Multiclass

Recall · Negative class

0.0%

29 of 33 critical cases identified

Early Detection: Mental Health ML

Multiclass Classification
4,500 records · 16 features · Kaggle Test set: 736 Beneficial vs 33 Negative

Multiclass model (Negative / Neutral / Beneficial) designed as an early preventive screening tool for school counselors and universities to assess the impact of social media habits on student well-being and academic performance.

"Recall is prioritized because, in psychological prevention, the costliest error is a false negative: failing to detect an at-risk student."
Model Macro F1 Recall (Neg) Status
Random Forest 81% 72.7% Baseline
Logistic Regression 84% 87.9% ✓ Chosen model
  • Data-leakage prevention: scikit-learn Pipeline and ColumnTransformer encapsulating median imputation, MinMaxScaler, OrdinalEncoder, and OneHotEncoder strictly on training splits.
  • Handling severe imbalance: hyperparameter tuning via GridSearchCV scoring on f1_macro combined with class_weight='balanced'.
  • Outlier strategy: critical profiles (severe insomnia, heavy depressive indicators) were intentionally preserved as authentic high-risk cases rather than removed as measurement noise.
Methodology & next steps

Feature engineering: synthesized compound risk factors like Sleep_Score = sleep duration × sleep quality to capture compounded physiological fatigue.

Roadmap: evaluate synthetic oversampling (SMOTE) on minority risk classes and cross-validate against longitudinal real-world student datasets.

  • Python
  • Pandas
  • Matplotlib
  • Seaborn
  • Scikit-Learn
  • Machine Learning
€/h · €/order · orders/h
SCalc app screenshot
Config User rates/auth
Monthly Ticket frozen total
Daily Shift hours/orders

SCalc

Main project · DAM Final Degree Project

Delivery couriers deal with split pay models (hourly wage plus per-order pay) and frequently track earnings in spreadsheets or notes, leading to common miscalculations. SCalc automates monthly pay tracking through customizable pay rates, daily shift logging, and productivity metrics (orders per hour).

Built offline-first with monthly "Tickets" that freeze calculated pay as immutable historical records. Architected around native Android SQLite, a clean DAO pattern, and custom POJOs.

  • Java
  • Android
  • SQLite
  • DAO Pattern
  • Material Design
  • Figma

kbevi

Web Catalog & SQL Database

Web catalog for custom mechanical keyboards with dynamic product management backed by a relational SQL database. Built during my internship at Evirom to organize keyboard builds, switch variants, and inventory details.

  • PHP
  • HTML
  • CSS
  • SQL
More data projects on the way · Follow me on GitHub

04 — Education

Education & credentials.

In progress

Specialization Course in AI & Big Data

Advanced postgraduate specialization focusing on deep learning, predictive pipelines, and data systems.

Planeta FP

Grade 9.2/10

Higher Vocational Degree (CFGS) in Cross-Platform Application Development (DAM)

Core software engineering: Java, Spring Boot, Android, SQL architectures, and clean code.

IES Antonio Gala

Grade 9.1/10

Intermediate Vocational Degree (CFGM) in Microcomputer Systems & Networks (SMR)

Hardware diagnostics, computer networks, server administration, and low-level troubleshooting.

IES Antonio Gala

05 — Skills

Technical stack.

Data & AI

  • Python
  • Pandas
  • Scikit-Learn
  • Machine Learning
  • Jupyter
  • Matplotlib
  • Seaborn
  • SQL
Currently learning (AI & Big Data course)
  • Deep Learning
  • Computer Vision

Software & Backend

  • Java
  • Spring Boot
  • SQL
  • Android
  • SQLite
  • PHP
  • Git / GitHub
  • Material Design
  • Figma

06 — Contact

Let's build something together.

Always open to discussing Machine Learning projects, software engineering challenges, collaboration opportunities... or the latest linear switches. Drop me a line.