It all started with Minecraft multiplayer servers. What began as a game quickly turned into a technical obsession. To keep my servers running, I had to learn basic Linux commands and configure VPS hosting. By 2016, doing things manually became tedious, so I taught myself to write server automation scripts and manage web domains.
ABOUT / FILIPE GUEDES
Self-taught curiosity, sharpened by real work.
Hello, I’m Filipe Guedes.
I was born in Porto and now live and study in Coimbra. My path into development started long before university: building Minecraft servers, configuring VPS machines and learning enough code to make the next idea work.
That habit of learning through real problems carried me through plugins, online stores, Discord bots, scraping tools and full-stack web products. I completed my degree in Computer Engineering at Instituto Superior Miguel Torga in June 2026.
During my internship at ENSO Origins, I built MSC for Mais Saúde Coimbra. The platform gives trainers and athletes one place for invitations, schedules, attendance, class changes and performance data. I owned the implementation across a Next.js frontend, NestJS API and PostgreSQL data layer.
What matters to me
Clear communication, pragmatic architecture, accessible interfaces and software that genuinely reduces friction. Away from code, I enjoy competitive gaming, piano, driving, cooking and learning whatever catches my curiosity next.
From curiosity to production
Those automated servers needed custom features, which pushed me to learn Java in 2017 so I could write my own Minecraft plugins. Once I had plugins, I needed a way to sell them. This led me to build simple PHP online stores with basic software licensing systems. By 2018, I was optimizing these ecosystems, creating web-based management panels and learning JavaScript to make the interfaces interactive.
As my web interfaces grew more complex, I realized I needed proper data storage. I introduced MySQL and SQLite into my static projects in 2019. Around the same time, I started a day job in sales and customer service—a role that unexpectedly improved my engineering by teaching me how to listen, resolve complaints with empathy, and use commercial billing software. Wanting to automate more of my digital life, I transitioned to backend JavaScript in 2020, exploring Node.js and building my first API endpoints with Express.js.
With a solid foundation in JS, I started building Discord bots for real communities. In 2022, I discovered the modern web stack. I left plain HTML/CSS behind, adopting Next.js and TailwindCSS. I integrated Firebase and MongoDB to handle state, and built RESTful APIs to connect external systems together. My hobby was rapidly turning into a profession.
This was a year of intense output. I took everything I had learned and shipped several commercial projects: FCPlugins (a fully-fledged store with payments), MontyBot (a whitelist system for FiveM), and a private streaming platform with automatic scraping. I was solving real problems for real users, alongside building academic systems for car and real estate sales.
Realizing I wanted to formalize my knowledge, I started my Computer Engineering degree at ISMT in 2024. Academia gave me structure, while my side projects gave me modern tools like Prisma ORM, webhooks, and Git. This dual-path culminated in 2026. I graduated in June and completed an internship at ENSO Origins. There, I engineered 'MSC' (Mais Saúde Coimbra)—a production-ready, full-stack sports management platform built with an Nx Monorepo, Next.js, NestJS, and PostgreSQL.
What I delivered at ENSO Origins
I worked across the complete product: invitation-based registration, authentication and session revocation, athlete profiles, weekly schedules, attendance, class changes, performance indicators, transactional email and the integration between frontend, API and database.
Engineering in context
MSC used an Nx monorepo, Next.js and React, a NestJS API on Fastify, shared TypeScript contracts, PostgreSQL, Prisma and Kysely. I also worked with role-based access control, Argon2 credential protection, Docker Compose, API test collections and continuous delivery workflows.
What changed in the way I work
Shipping for a client made architecture tangible: a database change affects contracts, services and the interface. It also taught me to surface blockers earlier, validate assumptions with the team, review dependency order before integration and treat clear communication as part of engineering—not an activity around it.