📁 Check out my portfolio! (WIP)
🏘 My organizations:
Association of Biotechnologists of Catalonia (ASBTEC)
- ASBTEC is a non-profit organization formed by professionals and students in Biotechnology.
- ASBTEC is the entity of reference for professionals and students of Biotechnology in Catalonia, capable of gathering and energizing all this human potential to donate money to a collaborative group for Biotechnology and for Biotechnology.
- ASBTEC has the mission of promoting the figure of Biotechnology and Biotechnology among the different actors in the sector (administration, employers and society), ensuring quality and continuous training for Biotechnology, creating a space that facilitates the exchange of ideas, projects and promote the development of a collaborative group both nationally and internationally.
- This GitHub organization is used to store all the files related to programming projects in ASBTEC, such as the R course.
- Currently, I am part of the board of directors of this organization, in which I am the informatics responsible.
- As the informatics responsible my responsibilities were maintaining our web page made with WordPress, maintain our Google Workspace organization, solve problems that users may have and take care of internal projects such as the migration of email accounts to the Google Suite, the automatic creation of email signatures for the board of directors or the automatic creation of course certificates.
Equipaments Hosteleria Salou (EHS)
github.com/Equipaments-Hosteleria-Salou
- Equipaments Hosteleria Salou is an enterprise established in Salou and Vila-Seca specialized in high quality hostelry.
- Equipaments Hosteleria Salou is the official supplier of hostelry material in the province of Tarragona. Its clients are hotels, taverns, schools, hospitals, restaurants and similar types of business throughout the province.
- It also does sell to individuals through both physical and online shops.
- During the pandemic Equipaments Hosteleria Salou suffered a ransomware attack that required disaster mitigation and forced to change drastically its computer infrastructure to increase its security. I performed the required actions to recover the data and restore the service of its computer infrastructure as soon as possible and with the minimum friction possible for the users.
- This GitHub organization contains projects to administer the Windows machines of this business and also some automated functionalities that the employees may need.
Gua-tk software
- Gua-tk is an organization created to store all the projects that are related to the Linux-Auto-Customizer software, which is my main open-source project.
- The main repository of the organization is the Linux-Auto-Customizer project. You can take a look to the details of this project in this section of this readme.
- It contains different repositories that are related with the Linux-Auto-Customizer project in some way.
- For example, we have the converters project, which ended up as an installable feature in the Linux-Auto-Customizer software.
- We also have the wallpaper project, which is used to store the wallpapers for the "wallpapers" feature from the Linux-Auto-Customizer software.
Linux Auto Customizer
May 2019 - Present- Utility to automate, manage and maintain installations and customizations across all you Linux machines.
- Contains almost 300 pre-coded installations and customizations that you can use out-of-the-box.
- Compatibility with Windows through WSL2 and git bash.
- Compatibility with Android through Termux.
- Check out how to start using it or check the installations that are already implemented.
ICIQ-DMP
- GitHub organization of the data management and digitalization project at Institut Català d'Investigació Química (ICIQ).
- It groups the eChempad platform, its documentation site and automation tools such as Justicier that support the research data lifecycle at ICIQ.
- I develop and maintain these projects as part of the digitalization team at ICIQ.
Justicier
September 2025 – Present- Automation to process payroll PDFs and related documents to extract the relevant pages for a given employee and period of time.
- Requests, input data, executions and results are managed by the employees in ICIQ who need to do this operation in a user-friendly environment using Microsoft tools.
- Requests are made in Microsoft Forms and recorded in a Microsoft List. This Microsoft List is the source of truth for the parameters of the execution of the program.
- New requests in the Form trigger an execution of a job in Microsoft Power Automate.
- The execution in Power Automate triggers a workflow in Microsoft Approvals, which requests the permission of the supervisors to run the requested execution with the requested parameters.
- If the supervisor approves the execution, a request is made in a Jenkins instance in an on-premises server to trigger an execution of the program.
- The Jenkins instance is secured by being behind an NGINX logical firewall that restricts all traffic coming into the server except for the request to trigger the workflow, in a specific endpoint. Only the IP of the workstation of the data steward has full access to the Jenkins endpoints.
- The Python job retrieves the source documents from the HR SharePoints, where HR employees upload them, and cuts the pages that correspond to the requested employee and period.
- When the execution finishes, an email is sent to the original requester and the resulting documentation is uploaded to a private SharePoint / OneDrive folder of that requester. The OneDrive client for Linux keeps the SharePoint inputs and the processed outputs in sync.
- Components are packaged as Docker images and shipped through GitHub Actions and Jenkins pipelines.
- Justicier Massiu is an automation built on top of Justicier that accepts an Excel listing many Justicier requests at once, to speed up operations that need many requests in one go.
eChempad
September 2021 - Present- Web platform to manage the life-cycle of data from experimental chemistry at Institut Català d'Investigació Química (ICIQ).
- It currently allows the import of data from Perkin-Elmer Signals notebook and the export of this data into the Dataverse of CORA RDR.
- Java + Spring Boot + PostgreSQL back end with a ZK front end; deployed with Docker onto an on-premise server.
- Contributed patches to IQSS/dataverse-client-java to support the Dataverse integration.
- Check out the documentation to get started.
ICIQ-DMP.github.io
September 2022 - Present- Documentation page for the whole project of digitalization at ICIQ.
- Contains documentation regarding the usage of eChempad project, the eChempad production server, the data management lifecycle of experiments at ICIQ and the specification of data schemes in Dataverse / CORA RDR and Perkin-Elmer Signals Notebook
Justifactu
November 2025 - Present- Microsoft Cloud Native application that periodically applies curation over a set of documents related to billing at Institut Català d'Investigació Química (ICIQ).
- A periodic workflow runs on a schedule and also reacts to the upload of new input documents.
- Its basic operation is the merging of each bill with its corresponding bank proof.
- After that stage, the merged documents are archived against the accounting (economical) spreadsheets of every unit.
- Packaged with Docker and a Makefile-driven build; documented at iciq-dmp.github.io/justifactu-docs.
imarina-load-researchers
November 2025 - Present- Microsoft Cloud Native automation that builds the spreadsheet used to update the researchers in the iMarina iPublic service, a CRIS (Current Research Information System) that lists the research done at an institution together with research data and statistics.
- Starts from the latest load to iMarina plus a bulk of data from the A3 database, a snapshot of the ICIQ personnel at a given time.
- Removes researchers that have left, updates the data of researchers that changed position within ICIQ and adds new ICIQ researchers into the spreadsheet.
- Performs translation, standardization and curation checks over the data before the upload.
- The workflow is triggered by a user through Microsoft Forms; Power Automate then asks the iMarina admin to run the actual Python code, which uploads the result to the iMarina server over SFTP.
- Uses almost the same tooling as Justicier, with the differences required by this problem.
ICIQ-DMP docs
June 2026 - Present- Composite repository that aggregates the documentation of all the ICIQ-DMP projects, including Justicier, Justifactu, imarina-load-researchers and eChempad.
- Pulls together the per-project documentation sites (
justicier-docs,justifactu-docs,imarina-load-researchers-docs, ...). - Built with MkDocs and published with GitHub Pages.
- Public per-project sites: justicier-docs, imarina-load-researchers-docs and justifactu-docs.
URV-BioGEI
- GitHub organization linked to Universitat Rovira i Virgili (URV) that hosts coursework projects from the degree of Computer Science.
- It contains the GarlicOS project, a functional operating system for Nintendo DS built for the subject Operating Systems Structure.
GarlicOS
August 2017 - January 2018- Functional operating system for Nintendo DS developed as exercise for the subject Operating Systems Structure from the degree of Computer Science of Universitat Rovira i Virgili (URV).
- Developed using the C programming language and ARM assembly.
- The system can execute binary programs and offers an API of functions to access different hardware and system resources from the programs such as memory management, virtual keyboard, graphical window navigation and process multiplexing.
- First phase of development is completed in the branch fase1 with the parts of all programmers (processes, graphics, memory and keyboard).
- Second phase of development is in the branch fase2 with the parts of programmers of processes, graphics and keyboard.
- I am looking for help to merge the part of the memory programmer into phase 2 to end the project.
VidWise
- GitHub organization that groups personal and freelance teaching projects.
- It hosts the Problemas de Computadores repository, a collection of solved exercises for the Computers subject of the degree of Computer Science at Universitat Rovira i Virgili (URV).
Problemas Computadores
January 2022 - Present- Repository for the solutions of the problems from the subject Computers of the degree of Computer Science from the Universitat Rovira i Virgili (URV).
- These problems are exercises of programming in the C language and assembly ARM in which one or more peripheral devices need to be synced with the CPUs of the Nintendo DS using interruptions or other synchronization mechanisms.
- This project was developed originally for my freelance teaching lessons in this subject, but it ended up as a collaboration with the teachers @AreyFerreroRamos and @annaju128 and with some students that contributed with their solutions.
- Currently, at 14/03/2024, we have 39 problems, which 15 have been fully solved by the subject's teacher and 10 have been solved by us with different levels of completion.
Personal projects (AleixMT)
- Personal repositories under my own GitHub account that are not tied to any organization.
- Includes the github-backup tool and the home-server documentation repository.
github-backup
2025 - Present- Small but useful Python project to clone all repos from your GitLab and/or GitHub profile.
- Still a work in progress but has the basic functionality.
home-server
August 2022 - Present- Documentation repository for the configuration of a custom home media server.
- It mainly contains a wiki that explains the different steps to follow when configuring certain features and components of a home server
- It also contains configurations, scripts, Dockerfiles and other resources to set up the home server.
- This configuration for a home server features multiple boot with Windows and other systems, a VPN with OpenVPN to access the web services from any part of the world safely, a configuration of a file-sharing service such as Samba , a WoLAN service to switch on the server from any part of the world, SSH access, an automatic monitoring and download of movies and series using Jackett + Radarr + Sonarr + Transmission and a home page to access all your home web services.
AleixMT.github.io
September 2022 - Present- Source of my personal portfolio website, a Jekyll site built on the Just the Docs theme and served at aleixmt.github.io.
- Every section (studies, skills, jobs, projects, publications, ...) is a Markdown page under
_posts/, organised into nested categories. - Runs locally with Docker Compose or a native Ruby toolchain; pushes to
masterauto-deploy through a GitHub Actions Pages workflow. - The project section is kept in one-way sync from the
portfolio.ymlin my portfolio repository.
DataStructures
May 2020 - Present- Personal collection of classic data-structure implementations in C, Java and Python: lists, stacks, queues, hash tables, skip lists, graphs, heaps and trees, each built from first principles with its own runnable test driver.
- Started as coursework for the Estructura de Dades (Data Structures) course of the Universitat Rovira i Virgili (URV) Computer Science degree, later extended with a Python list hierarchy and a Java double-ended queue.
- The C tree uses one
makefileper module; the Java tree is an IntelliJ project; the Python tree is a small object-orientedList/LinkedListhierarchy.
Trigenic Interaction Predictor
June 2018 - September 2018- Big-data algorithm in Python that processes the genetic-interaction data of Saccharomyces cerevisiae with a Mixed-Membership Stochastic Block Model (MMSBM) and predicts the likelihood of non-observed interactions between triplets of genes.
- Runs additional validation of the fitness of the model against the dataset and offers some data visualization of the results.
- Started as my Bioinformatics final degree project in the SEES:lab research group (Sales-Pardo & Guimerà); work continued afterwards and contributed to a 2023 PNAS publication on hyperedge prediction in complex networks.
👩🏾💻 My technology stacks:
All categories by descending order of knowledge; within each category the technologies I have worked with occasionally come after the ones I know well:
📚 Publications:
Hyperedge prediction and the statistical mechanisms of higher-order and lower-order interactions in complex networks
Sales-Pardo, M., Mariné-Tena, A., & Guimerà, R. (2023). Hyperedge prediction and the statistical mechanisms of higher-order and lower-order interactions in complex networks. In Proceedings of the National Academy of Sciences (Vol. 120, Issue 50). Proceedings of the National Academy of Sciences.
🚫 Full text not available
e-PEMICU: an e-Health Platform to Support Early Mobilisation in Intensive Care Units
Martinez-Balleste, A., Gimeno, P., Marine, A., Batista, E., & Solanas, A. (2019). e-PEMICU: an e-Health Platform to Support Early Mobilisation in Intensive Care Units. In 2019 10th International Conference on Information, Intelligence, Systems and Applications (IISA), Patras, Greece, 15–17 July 2019 (pp. 1–6). IEEE.
Grew out of my second final degree project, an exhaustive study of Human Activity Recognition (HAR) techniques to support early mobilisation in Intensive Care Units.
⬇️ Download full text
🤝 Open-source collaborations:
Update docker.md in abraunegg/onedrive
ADDED: improved the usability of create_readme by accepting parameter in CSUC/RDR-scripts
- Summary: Improves the usability of the `create_readme` script by accepting command-line parameters instead of hardcoding values.
- Status: Open
- Issue: None linked
- Pull Request: #2
ADDED: Docker support in LopezGroup-ICIQ/care
- Summary: Adds Docker support for the CARE project, including a Dockerfile and Makefile. Enables running the software with Docker without manually managing dependencies.
- Status: Open
- Issue: None linked
- Pull Request: #13
UPDATED: REVISAT script removed dependency from iPython Notebooks in CSUC/RDR-scripts
- Summary: Removes the dependency on iPython Notebooks from the REVISAT script. Adds requirements.txt, .gitignore, and updates README with instructions. :contentReference[oaicite:0]{index=0}
- Status: Merged :contentReference[oaicite:1]{index=1}
- Issue: None linked
- Pull Request: #1 :contentReference[oaicite:2]{index=2}
Overload method void uploadFile(String doi, File file); to void uploadFile(String doi, InputStream is, String filename) in IQSS/dataverse-client-java
public Identifier createDataset(String dataSetJson, String dataverseAlias) {...} returns a DB identifier but we need a doi to uploadFile in IQSS/dataverse-client-java
Cannot retrieve any type of identifier from the files created with uploadFile method since it does not return any information of the created file in IQSS/dataverse-client-java
[FEATURE REQUEST] docker system prune --all or equivalent command to remove all docker data (containers, volumes, networks, images and cached layers) in docker/roadmap
- Summary: Create a new shortcut to reset the state of the docker engine (remove all containers, images, volumes and networks)
- Status: In progress
- Issue: #617
- Pull Request: ❌ N/A
Automatic GitHub releases and minor quality of life updates in ininavicode/arm-syntax-vscode-extension
- Summary: Pipeline to create automatic releases based on version number.
- Status: Merged but still in progress
- Issue: ❌ N/A
- Pull Request: ✅ #1

















