Hi, I'm João.

I’m a full-stack software developer based in Lisbon. Over the past 10+ years, I’ve worked on everything from port-management and vessel-monitoring systems to enterprise search, social fitness applications and creative production platforms.

My recent work has focused on Engage, Omnicom’s platform for managing creative assets and production workflows. I’ve contributed across its Angular microfrontends, C#/ASP.NET backend services, databases, real-time features, integrations and AWS-based infrastructure. I’ve also worked closely with product teams to clarify requirements and define deliverable work, while contributing through automated testing, code review and developer onboarding.

Before that, much of my career involved software for seaports, airports and coastal operations in Portugal and Angola. I developed systems used to manage container terminals, monitor vessel movements and automate operational processes. Working in that domain gave me an appreciation for reliable software, real-time information and systems composed of multiple cooperating services.

I first became interested in programming as a child, after discovering QBasic on an old 386. That led me to Linux, C and game development, and eventually to a career in software. I still enjoy building personal projects as a way to explore ideas and technologies outside my everyday work. Some of them are practical applications; others are experiments or games that grew considerably beyond their original scope.

I care about software quality, clear architecture and maintainable code. I particularly enjoy projects where I can understand the wider problem, move between frontend and backend concerns and help turn an idea into something people can actually use.

Outside software, I’m interested in sports science and nutrition - particularly how training and recovery variables influence performance.

You can find a selection of my work on the Projects page or reach me at hi@joaobruno.xyz.