⦠the full story ā¦
Experience
Every role has taught me something different. Here is what I have been up to and what I took away from each.
Cybersecurity Intern
Curricular InternshipArmis
Currently in the trenches of endpoint defense. Iām focused on building out secure environments using the Microsoft security stack, from automated device hardening to simulating attacks to see what actually holds up.
What I learned & did
- Implementing Zero Trust architectures using Entra ID and Intune
- Hardening endpoints and cloud apps with the Microsoft Defender suite
- Setting up data governance and sensitive info protection via Purview
- Building attack simulation labs and dashboards to track threats in real-time
Product Manager
Student OrganizationNIAEFEUP
Most of my time goes into the TTS (Time Table Scheduler), where I lead a team of 12 to keep things running smoothly for the 4,000+ students who rely on it every semester.
What I learned & did
- Mentoring a team of 12 - reviewing PRs, signing off on issues, and helping the younger devs find their feet.
- Handling the deployment: Kubernetes deploys, GitHub Actions, and managing secrets.
- Acting as the bridge between the dev team and the faculty to make sure our requirements actually make sense.
- Owning the full release cycle, from technical debt to shipping features that survive 4,000 concurrent users.
Research Grantee (BII)
Research GrantU.Porto ā FEUP
I was awarded a research grant to figure out how to automate the audit of university course sheets. I ended up building UCReview ā a full-stack system that uses an AI 'factory' to catch pedagogical inconsistencies that humans usually miss.
What I learned & did
- Built a resilient scraping engine for SIGARRA (which is famously chaotic) using Scrapy and atomic upserts.
- Designed an LLM 'Factory Pattern' to swap between OpenAI, Anthropic, and DeepSeek without breaking the frontend.
- Solved the 'long-wait' problem by offloading heavy AI audits to Celery background workers and Redis.
- Handled the full production setup ā from Nginx timeouts and Docker orchestration to OIDC auth for faculty staff.
Volunteer Instructor
Non-profit VolunteeringTreeTree2
TreeTree2 is a non-profit that teaches programming to high school students. I run Python classes and prepare students for the National Informatics Olympics (ONIs).
What I learned & did
- Learned to explain complex algorithmic ideas simply and intuitively
- Sharpened communication and patience
- Deepened my own understanding of Python and algorithms through teaching
Computer Engineering Student
DegreeFEUP
Studying Computer Engineering at Faculdade de Engenharia da Universidade do Porto. The degree covers a broad spectrum from low-level systems to software architecture.
What I learned & did
- Algorithms & Data Structures ā in-depth problem solving and complexity analysis
- Computer Networks ā protocol design, routing, and data link implementations in C
- Databases ā relational design, SQL, and a full Laravel web app (LBAW)
- Software Engineering ā full Agile project lifecycle using Flutter
- Computer Security (FSI) ā CTFs, cryptography, injection attacks, forensics
- Operating Systems & Low-level ā systems programming, memory management
- Programming Languages ā Haskell, Prolog, language implementation
Competitive Programming Coordinator
Student OrganizationACM Student Chapter @ FEUP
I lead the competitive programming department, most recently organizing a 7-day 'Advent of Code' style event. Iām the one building the platform and making sure the challenges, the sponsors, and the participants are all moving in the same direction.
What I learned & did
- Buildinging a custom competition platform from scratch to handle real-time submissions and scoring.
- Leading a team of 4 to design weather-themed algorithmic puzzles that are actually fun to solve.
- Acting as the main point of contact for companies and managing the event's outreach.
- Mentoring new competitive programmers, helping them navigate everything.