Mario G.G.

Hi!
It is me... Mario... Gómez Garcia!
Software Developer mainly focused in Full Stack Development with knowledge in Cybersecurity & Big Data owner of a Mechanical Engineer background.
Passionate about new advances in the tech sector and big fan of open source projects such as Linux or RISC-V.
Always looking for new interesting projects that challenge my continuous crave for knowledge.
Passionate about new advances in the tech sector and big fan of open source projects such as Linux or RISC-V.
Always looking for new interesting projects that challenge my continuous crave for knowledge.
Skills
Engineer with deep Knowledge in Programming
Science and tech lover. Always learning about new technologies, methodologies and useful skills. From mechanical design to software development.Absolute supporter of Open Source alternatives as Linux or RISC-V.
Good Communication & Speaking Skills
Able to communicate at a proficiency level in 4 different languages(English, Spanish, German and Catalan)
Problem Solver
High Capability of understanding problems in order to solve them or apply a workaround when there is no straight forward solution.
Team Worker
Able to set the different steps in order to achieve a composed goal.My multidisciplinary set of skills allows me to understand other views and problems in order to find a common solution and accelerate the progress of shared objectives.
Experienced Teacher and always a pupil
Always bringing my knowledge in order to play a role in the development of others without forgetting the continuous need of learning and improvement in all my set of skills.Always open to learn from others and to contribute with my own view and personal and professional experience.
Stack
Projects
Dices Game

This is an easy game about dices, nothing complex but just check the fortune roulette throwing two dices! If you get the lucky number adding up both of them you win. You will need to register to play, nonetheless you will NOT need to validate the email, and you can use the simplest password you wish.
This project consists of an API made using PHP and the Laravel Framework (with Swagger documentation), as well as an AJAX Web Application using Typescript and React. Feel free to check the code or the demo in the following links.
This project consists of an API made using PHP and the Laravel Framework (with Swagger documentation), as well as an AJAX Web Application using Typescript and React. Feel free to check the code or the demo in the following links.
PHPLaravelJavascriptTypescriptReactSwaggerDocker
Cup - Leagues Organizator

Cup is a Software which goal is to help to organize a league. You can select between various sports, create teams with players and organize the matches. It is also possible to set the various scores for the matches and it displays the ranking as well as other info. Feel free to check the code and the demo, the project is still on progress.
PHPLaravelJavascriptCSSHTMLBladeDocker
OTP - One Time Password

This project is one of several modules from the Cybersecurity Boot Camp by Foundation 42 Barcelona.
The goal was to create a program in order to compute the Time-One-Time-Password following the standard [RFC 6238.
This project has been selected because it has a GUI made with SimpleGUI Python library.
It also has a Command Line Interface in order to use it.
Some features of this program are:
The goal was to create a program in order to compute the Time-One-Time-Password following the standard [RFC 6238.
This project has been selected because it has a GUI made with SimpleGUI Python library.
It also has a Command Line Interface in order to use it.
Some features of this program are:
- Selecting the Hash to compute the OTP between various possibilities.
- Selecting the number of digits for OTP.
- Display a QR in order to access the password parameters and be able to use a third-party software.
- Configure all possible parameter for the QR.
PythonTime OTPCybersecuritySimpleGUIDocker
Corsair - RSA Low Randomness Key Cracker

The Corsair program is a software developed with the goal of cracking RSA keys when the randomness of these keys is low and the server generates RSA keys that share one of the two prime numbers used for the compute of the key.
The program has been written in the C programming language and the memory leaks have been checked with the use of the GCC and the Valgrind tools.
Some other features have been added to this software in order to be able to understand the RSA encryption method.
Some of these features are:
The program has been written in the C programming language and the memory leaks have been checked with the use of the GCC and the Valgrind tools.
Some other features have been added to this software in order to be able to understand the RSA encryption method.
Some of these features are:
- Generation of crackable RSA keys
- Generation of secure RSA keys using OpenSSL library
- Generation of secure RSA keys using only the BigNum functions of the OpenSSL library
- Encryption of a text using a given public RSA key
- Decryption of a text using a given private RSA key
CGCCValgrindDockerRSAOpenSSLGDB
Flyover Game
The final project of the second part from a three part course called "Embedded Systems - Shape The World" by UTAustinX was to apply several theoretical and practical lessons to develop a simple game.
I chose to program a simple "shoot 'em up" game, which functionality can be seen in the following Youtube video. [UT 6.20X Lab. 15 – Flyover – Mario Gómez García
Some skills needed for this project and technologies used were:
I chose to program a simple "shoot 'em up" game, which functionality can be seen in the following Youtube video. [UT 6.20X Lab. 15 – Flyover – Mario Gómez García
Some skills needed for this project and technologies used were:
- C Programming language
- Keil MDK
- Micro-controller data-sheet understanding
- Registers
- Timers
- GPIO Configuration
- Electronics
- DAC
- Calibration
- Protocols
- UART
CAssemblerARMElectronicsPrototypingKeilUARTI2CEmbedded Systems
Landing

This is the site you are visiting: the landing page of my personal software development portfolio.
The site is primarily built using plain HTML, CSS, Tailwind, and JavaScript (ES6).
To compile the site, I used Webpack with the Babel plugin, which enables compatibility with older browsers when needed. The site translation is handled via JavaScript.
Additionally, to allow search engines to crawl the content in all translated languages, I developed a custom Webpack plugin that compiles the HTML for each translation using JSON files.
Some end-to-end tests have been implemented using Playwright, and accessibility has been checked using Lighthouse and Pa11y-CI via NPM packages.
The site is primarily built using plain HTML, CSS, Tailwind, and JavaScript (ES6).
To compile the site, I used Webpack with the Babel plugin, which enables compatibility with older browsers when needed. The site translation is handled via JavaScript.
Additionally, to allow search engines to crawl the content in all translated languages, I developed a custom Webpack plugin that compiles the HTML for each translation using JSON files.
Some end-to-end tests have been implemented using Playwright, and accessibility has been checked using Lighthouse and Pa11y-CI via NPM packages.
HTMLCSSWebpack EslintBabelPlaywright LighthousePa11y-CINPM
Gate

This project is the Gate for the deployment of the portfolio. It allows to keep privacy for the portfolio, thus only allowed users can access the site through several methods. At the same time it allows the administrator to keep control of the site with several panels and features.
It has been written with the use of the programming language Golang.
It has been written with the use of the programming language Golang.
Golang / GoGorilla MUX Go TemplatesPostgreSQL Altcha
Recipes

This project is related with the “Nutrients Calculator” Big Data PySpark I wrote for a Big Data Bootcamp at IT Academy, Barcelona.
The goal was to be able to use the Big Data algorithm from a web application, which uses an official food database in order to calculate the proportions of several nutrient for a given recipe.
Several services have been developed for this purpose, which are:
The goal was to be able to use the Big Data algorithm from a web application, which uses an official food database in order to calculate the proportions of several nutrient for a given recipe.
Several services have been developed for this purpose, which are:
- Modified PySpark Big Data Algorithm in order to communicate through Kafka with a API service.
- NodeJS Express API Backend service that serves as gate for the Big Data Script. It consists of several endpoints developed with the use of NodeJS and Express in order to be able to retrieve data from the PySpark Big Data service.
- Vue AJAX Application It is the web application that allows the user to interact with the API. It is written using Vue3, Vite, Tailwind, Typescript, and HTML.
- Development a Big Data Algorithm using PySpark
- Deployment of a Big Data PySpark algorithm
- Development of a NodeJS Express API Backend Service
- Integration testing the API NodeJS with the use of Jest
- Integrate the PySpark Service and the NodeJS Service with the use of Kafka
- Development of a Vue3 SPA
PySparkDataframes SQLNodeJS ExpressJest KafkaVue3 Big DataVite TailwindTypescript JavaScriptHTML CSSDocker Docker Compose
SERP

SERP (Sistema d'Emergències i Resposta Prioritaria) is the project I participated as a team member in order to present it to the Talent Arena Hackaton 2025. The main requirement of this hackaton was to create a product that used 2 of the several features of the CAMARA API.
As team we choose a project to improve connectivity between urgency centers and their personal on the streets, as well as a help for the logistics.
The project is made of an API written with the use of the Python Framework FastAPI and a React application with 3 different GUI for each type of user.
My main task during the Hackaton was to create the server API in FastAPI, sadly, due to time issues and some problems with CAMARA API from the organization and also that the connectivity between the AJAX application and the API could not be achieved on time we decided to do not present the project to evaluation.
With a little of work after the Hackaton I finished the project in order to be able to learn about FastAPI, and to calm my guts about letting the project unfinished.
Some of the technologies and methodologies used for this project are:
Some achievements proofed with this project are:
Credentials for Demo:
As team we choose a project to improve connectivity between urgency centers and their personal on the streets, as well as a help for the logistics.
The project is made of an API written with the use of the Python Framework FastAPI and a React application with 3 different GUI for each type of user.
My main task during the Hackaton was to create the server API in FastAPI, sadly, due to time issues and some problems with CAMARA API from the organization and also that the connectivity between the AJAX application and the API could not be achieved on time we decided to do not present the project to evaluation.
With a little of work after the Hackaton I finished the project in order to be able to learn about FastAPI, and to calm my guts about letting the project unfinished.
Some of the technologies and methodologies used for this project are:
- Python and FastAPI Framework
- Docker and Docker-Compose For de Development Environment
- React for the AJAX Application
- ModelSQL as ORM for FastAPI
- PostgreSQL as Database
- Alembic for migrations
- Faker for Seeding
- Asyncpg for PostgreSQL communication
- CAMARA API standard for accessing ISP Services (Still in progress)
Some achievements proofed with this project are:
- Creation of an API with the usage of Python and FastAPI
- Creation of seeders and the database structure with the use of ModelSQL
- Creation of the migrations with Alembic
- Development of a Backend application using PostgreSQL as database
- Development of the AJAX application with React
- Integration testing of the Python FastAPI API
- Deployment of a FastAPI & React Web Application
Credentials for Demo:
- [email protected] -> resource123
- [email protected] -> operator123
- [email protected] -> admin123
Python FastAPI Alembic PyTest PyLint PostgreSQL React NPM Redux Docker
Contact