Skip to content
View juanfrantomas's full-sized avatar

Block or report juanfrantomas

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
juanfrantomas/README.md

πŸ‘‹ Hi, I'm Juanfran Tomas

Senior Software Engineer Β· Backend & Full-Stack Β· Data & AI

TypeScript Β· Node.js / NestJS Β· React / Angular / Vue Β· PostgreSQL Β· Docker Β· CI/CD

Currently expanding into Python Β· SQL Β· Data Engineering Β· AI

πŸ“ Valencia, Spain

Website Portfolio LinkedIn Email


πŸ‘¨β€πŸ’» About me

I'm a Software Engineer with 6+ years of professional experience building and evolving production applications across backend, frontend and web platforms.

I enjoy solving real product and business problems, not just writing code. My approach combines solid engineering fundamentals with pragmatic delivery: TDD, DDD, Hexagonal Architecture, Clean Architecture, automated testing and CI/CD.

Throughout my career, I've worked on complex business workflows, ERP/CRM systems, banking interfaces, e-commerce platforms, multilingual high-traffic websites and custom internal tools.

I'm currently completing a Master's Degree in Artificial Intelligence & Big Data Analytics at the Polytechnic University of Valencia, strengthening my knowledge of Python, SQL, data modelling, distributed data systems, Data Engineering and Machine Learning.

My goal is to combine Software Engineering + Data + AI to build reliable systems that have measurable impact on products, users and business operations.


🧠 How I approach engineering

  • 🎯 Product mindset β€” understand the problem, users and business context before choosing the technical solution.
  • πŸ€– AI-assisted Software Engineering β€” currently experimenting with Spec-Driven Development using OpenSpec to make AI-assisted development more structured and reviewable, while keeping architecture and technical decisions under human ownership.
  • ⚑ Extreme Programming (XP) β€” favour short feedback loops, small iterations, simple design, continuous refactoring and automated testing.
  • πŸ§ͺ Test-Driven Development (TDD) β€” use tests to drive design, validate business rules and refactor safely.
  • πŸ”„ Continuous Integration & Delivery β€” integrate frequently and automate testing and delivery to keep changes small, safe and deployable.
  • πŸ—οΈ Evolutionary Architecture β€” apply DDD, Hexagonal and Clean Architecture pragmatically when they help keep complex business domains maintainable.
  • 🀝 Collaboration & continuous improvement β€” favour shared ownership, code reviews, clear communication and continuous feedback across engineering and product.

πŸ’Ό Experience

⭐ Senior Software Engineer / Full-Stack Engineer

We Are Cactus Β· Remote, Valencia Nov 2019 – Present

Working across different products and clients, designing, developing and maintaining applications from UI to backend and deployment.

Selected work:

  • 🏦 Built a complex multi-step Vue application for a banking platform, handling extensive business rules, conditional flows and application state with Vuex.

  • 🏒 Migrated an ERP/CRM from Angular 6 to Angular 12, introducing internationalization and modernizing its component architecture and user experience.

  • πŸ“¦ Created a reusable component library / PWA used across e-commerce projects, improving component reuse and page performance.

  • 🌐 Redesigned and evolved a WordPress multisite platform with 6+ languages, custom forms and caching strategies supporting 10,000+ daily visits.

  • 🧩 Designed and developed custom WordPress plugins, Gutenberg blocks and tailored themes, enabling non-technical teams to manage complex content independently.


Back-End Developer

Kuombo Β· Valencia Sep 2015 – Aug 2016

  • Developed a custom application/plugin for managing advanced rental workflows for a bike-rental business.
  • Participated in and led parts of a PrestaShop β†’ Magento migration, adapting data models and checkout processes.

πŸš€ Selected Projects

♻️ Recycling Company ERP

End-to-end application for managing recycled plastic materials throughout their complete lifecycle:

Purchase β†’ Processing β†’ Inventory β†’ Orders β†’ Sales β†’ Reporting

Built around real business workflows including:

  • Inventory management
  • Supplier operations
  • Material traceability
  • Orders
  • Sales
  • Reporting dashboards

Tech: Next.js Β· TypeScript Β· Databases Β· REST APIs


πŸ₯ Rehabilitation Equipment Rental Platform

Full-stack platform covering the complete rental lifecycle for rehabilitation and physiotherapy equipment.

Features include:

  • Product catalog
  • Availability and bookings
  • Payments
  • Customer management
  • Equipment assignment and tracking
  • Administration tools
  • Authentication and authorization
  • Auditability

Engineering practices:

React Β· NestJS Β· PostgreSQL Β· JWT/OAuth2 Β· RBAC Β· CQRS Β· DDD Β· Hexagonal Architecture Β· CI/CD

Testing across unit, integration and end-to-end levels.


🏫 Registration & Enrollment Platform

Custom enrollment system for companies providing after-school activities.

Includes:

  • Dynamic registration forms
  • Enrollment management
  • Administrative workflows
  • Reporting
  • Custom business rules

πŸ“Š Data Engineering & AI

Alongside Software Engineering, I'm currently developing deeper expertise in Data Engineering and Artificial Intelligence.

Current areas of study and experimentation:

  • Python
  • Advanced SQL
  • Data modelling
  • ETL / ELT
  • Data Warehouses
  • Distributed data processing
  • NoSQL
  • BigQuery
  • dbt
  • Machine Learning
  • Deep Learning
  • Cloud data platforms

I'm particularly interested in the intersection between backend systems, data platforms, automation and AI-powered products.


πŸ› οΈ Engineering Toolkit

Backend

TypeScript Node.js NestJS PHP REST APIs

Frontend

React Next.js Angular Vue JavaScript TypeScript

Data

PostgreSQL MySQL MongoDB Redis SQL

Currently expanding with:

Python BigQuery dbt

Architecture & Engineering

TDD DDD Hexagonal Architecture Clean Architecture CQRS

Cloud & DevOps

Docker AWS GCP GitHub Actions Bitbucket Pipelines CI/CD

Testing

Jest Supertest Playwright

CMS

WordPress Gutenberg Custom Plugins Custom Themes


πŸŽ“ Education

M.Sc. in Artificial Intelligence & Big Data Analytics

Polytechnic University of Valencia 2025 – 2026

B.Sc. in Computer Science β€” Software Engineering

Polytechnic University of Valencia 2015 – 2020

Advanced Technician in Web Application Development

Solvam VET Centre 2013 – 2015


🌍 Languages

πŸ‡ͺπŸ‡Έ Spanish: Native πŸ‡¬πŸ‡§ English: CEFR B2


🀝 Let's connect

I'm particularly interested in engineering challenges involving complex business domains, backend systems, product development, data and automation.

🌐 juanfrantomas.com πŸ’Ό linkedin.com/in/juanfrantomas πŸ“§ juanfran@jftp.me

Pinned Loading

  1. bigtech-dsa-challenge bigtech-dsa-challenge Public

    My 90-day challenge to master Data Structures & Algorithms in TypeScript (Bun) by solving 180+ LeetCode problems.

    TypeScript

  2. SimpleNewUser SimpleNewUser Public

    A simple creation of a new user with VueJS

    JavaScript

  3. NetFilmApp NetFilmApp Public

    It's a simple Ionic app that shows and filters the most famous movies.

    TypeScript

  4. Vuelenium Vuelenium Public

    It is a simple application that uses the Selenium library to automate the search of books in web pages of libraries, the technology used to develop the application has been NodeJS for the Back-End …

    JavaScript 1