Hi there,

I'm Matteo

penultimate cs undergrad @smu

AI/ML enthusiast

fullstack developer

My work

Randomize

View All Projects

AWS, Docker, Github Actions, Terraform, Python, Java, React

CRUMBS is a cloud-native CRM platform built in collaboration with UBS as part of the CS301 module. The system features a Vite React SPA frontend and a backend of microservices in Python and Java, deployed on AWS with Docker and Terraform. CI/CD pipelines are implemented using Github Actions with deployment rollback capabilities. Check out the demo video here!

I mainly worked on the CI/CD pipeline & infrastructure for this project. For details on the architecture and other components, feel free to check out theGithub repo

We employed 3 main steps to get code to production via branching. First, developers would create & merge local feature branches into dev, where static analysis and unit tests would run. Afterwards, changes would be merged into an integration branch, where integration & performance tests would run. Finally, integration would be merged into main, triggering deployment to production.

Deployment of application code was split into 3 locations: ECS Fargate for backend microservices, Lambda for serverless functions, and Cloudfront for frontend hosting. Each artifact was packaged & tagged with the git commit SHA, and at the end, a manifest file would be generated to describe the state of production and enable rollback if necessary. On the other hand, deployment of infrastructure was handled by Terraform. Changes to infrastructure code would trigger validation of the new setup using OpenTofu, and only after manual approval would this be deployed to production.

Testing involved static analysis (Flake8), security tests (Gitleaks, Trivy), unit tests (Pytest, JUnit, Playwright), performance tests (JMeter), and integration tests. All pipeline & infrastructure configurations were implemented as workflows in Github Actions, along with the variables & secrets for the entire pipeline.

My goal with this project was to implement an end-to-end CI/CD pipeline that was easily accessible, understandable, and configurable for developers. Simplifying manual configurations into workflows and scripts was a key focus, including maintaining a single source of truth for the pipeline. I was particularly proud of implementing deployment rollbacks, which involved creating a manifest file at the end of each successful pipeline run to track the state of production.

My experiences

Site Reliability Engineer Intern

June 2026 - Now

Infineon Technologies

This is my latest role, so not much to say for now. I am responsible for developing predictive solutions using ML to prevent potential system failures and optimize operational efficiency.

Student Assistant (Automation)

Nov 2025 - May 2026

SMU Academy

Software Intern

May - Aug 2025

KABAM Robotics

President

Jan - Dec 2025

SMU Komunitas Indonesia

Teaching Assistant (Java)

Jan 2025 - Apr 2025

School of Computing and Information Systems, SMU

Research Assistant

Sep 2024 - May 2025

Singapore-MIT Alliance for Research and Technology

Coding Mentor (C)

Aug - Dec 2025

School of Computing and Information Systems, SMU

My self

Hey there! I'm Matteo, a penultimate year computer science undergrad at SMU. I enjoy what I do, mainly because I see coding as a creative outlet for me. I like the idea of building something from scratch and seeing it come to life. I started out in frontend, then explored some backend, after that I got into AI/ML and most recently, cloud & infra. I consider myself a fullstack developer, but I'm still exploring and keeping my options open for the future. Feel free to reach out if you find anything interesting from this site!

Outside of work, I keep myself busy with music (piano & clarinet), books (sci-fi & history), and movies (horror & drama). I also enjoy basketball, I think there's a lot to be learned from it (#ShootersShoot). I like to take pictures of whatever catches my eye as well.

Kathmandu with a hawk
Cafe in Kathmandu
Playing clarinet

Thanks for reaching the end of my site :)

Feel free to contact me via my socials!

✌️