Senior Software Engineer · Lisbon

Ricardo
Dias

Frontend architecture, enterprise content platforms, and AI-assisted developer workflows.

I build software that reduces friction: reusable UI platforms, design-system-aware frontend architectures, and tools that help developers work with more clarity. My work connects enterprise software, curiosity, and a long-running interest in music, rhythm, and discovery.

Ricardo Dias
Ricardo Dias
Senior Software Engineer
📍 Lisbon, Portugal
🧭 Frontend architecture & content platforms
🤖 AI-assisted developer workflows
Interests
🎵 Music 🎪 Concerts 🗣️ Languages 📝 Local-first tools
Scroll
01 / What I care about

Where ideas
start to take shape.

What keeps pulling me back to engineering is exploration.

I enjoy the moment when an idea is still open: when there is space to investigate, sketch an architecture, build a prototype, try a new technology, or test a solution that may later be discarded. That kind of exploration is not a side activity for me; it is one of the ways good software starts to take shape.

I am especially drawn to product-facing engineering: interfaces, tools, workflows, and systems that people can actually use. A solution starts to feel right when the UI is clear, the experience feels natural, the visual details support the task, and the underlying structure makes the product easier to evolve.

Proofs of concept are where I often find the most energy. They make possibilities visible. They turn abstract discussions into something people can react to, question, improve, or decide not to pursue. I like that space between research and implementation, where the goal is not only to ship, but to understand what could be built and why it might matter.

That is also why AI-assisted workflows feel so exciting to me right now. They make it possible to explore ideas that would previously have stayed on paper — not because they were technically impossible, but because there was never enough time to try them properly. At the same time, they force us to rethink how we work, how we keep up, and how much of software engineering is changing around us.

I do not see myself as the most traditional kind of software engineer. I like implementing, but I also like questioning, connecting ideas, improving experiences, building tools, and helping others move faster. The work that excites me most sits somewhere between engineering, experimentation, product thinking, and creative exploration.

Explore
Trying ideas before they become commitments
Shape
Turning possibilities into usable interfaces
Connect
Linking architecture, tools, and people
Amplify
Using AI to make exploration faster
02 / Selected work and explorations

What I build around.

A selection of themes that connect my professional work, side projects, and current experiments.

Abstract developer workflow interface showing an AI assistant connected to repository context, documentation, planning, review, and decision logs.
Work / Exploration

AI-assisted developer workflows

Exploring how AI can support software teams beyond code completion: documentation, repository understanding, onboarding, architectural analysis, task planning, and retrospective summaries.

AI Developer Experience Tooling Documentation
What it shows
  • AI as a practical collaborator with boundaries
  • Repository context as shared team knowledge
  • Automation for repetitive engineering work
Why it matters

Helps teams reduce friction, improve clarity, and use AI in grounded, useful ways.

03 / Professional experience

Enterprise software,
from content models to UI systems.

A thread through enterprise content platforms, reusable frontend systems, and the practical details that make complex software easier to build and use.

Senior Software Developer
2021 — Present
Hyland Software · Portugal
At Hyland, my work sits in the frontend layer of the Hyland Experience Platform: Angular applications, Material Components, shared UI patterns, state management, testing, documentation, and the practical details that help teams build enterprise content experiences consistently. I contribute across feature development, unit and end-to-end testing, technical documentation, and onboarding for new developers.
Angular RxJS NgRx Material Components TypeScript NX Playwright GitHub Actions
Software Developer
2016 — 2021
Nuxeo · Portugal
Nuxeo gave me a full view of enterprise content platforms, from backend content models and REST APIs to the tooling and UI layers that solution builders used every day. I moved from core platform work into Studio Designer, Nuxeo Web UI, and the Web Components library underneath it, where customisable applications, reusable UI elements, and backend-agnostic configuration became the center of the work.
  • Nuxeo Platform — backend contributions to the REST API and content model of the core enterprise content management platform
  • Nuxeo Studio Designer — SaaS tooling for customising Web UI and building tailored enterprise content applications
  • Nuxeo Web UI — configurable content management interface built on Web Components and supported by a reusable component library
Java REST API OpenJPA Maven Polymer Lit HTML Web Components JavaScript CSS WebdriverIO Cucumber
Earlier engineering work
2009 — 2013
INESC-ID, VIMMI, inEvo, Safira · Portugal
Earlier roles were broader and more varied: desktop GUI work for engineering analysis software, search and retrieval tools for Nuxeo-based systems, Android SDK work, project management applications, CRM solutions, and KPI dashboards. They are no longer the main story, but they are part of the foundation.
  • INESC-ID / VIMMI / IST — GBTUL GUI development for elastic buckling and vibration analyses, with 2D and 3D output support
  • INESC-ID / VIMMI / inEvo — indexing structures, search and retrieval algorithms, and metadata extraction tools for Nuxeo integrations
  • Safira — project management applications, CRM solutions, and KPI dashboards
C# Windows Forms OpenGL Java Android SDK ASP.NET SQL Server CRM Dynamics Reporting Services
04 / Selected publications

Discovery, music,
and human interaction.

My research background still shapes how I think about software: recommendation, serendipity, interactive visualisation, and how people make sense of large collections.

Encontra: a Generic Multimedia Information Retrieval Meta-framework
Ricardo Dias, Manuel J. Fonseca, Nelson Silva, Tiago Cardoso
Multimedia Tools and Applications, Springer · Vol. 74, 2015
Supporting Playlist Creation through Interactive Visualization
Ricardo Dias
Doctoral Consortium, 28th British HCI Conference, Southport · 2014
A User-centered Music Recommendation Approach for Daily Activities
Ricardo Dias, Ricardo Cunha, Manuel J. Fonseca
Workshop on New Trends in Content-Based Recommender Systems (CBRecSys), Silicon Valley · 2014
Improving Music Recommendation in Session-based Collaborative Filtering by using Temporal Context
Ricardo Dias, Manuel J. Fonseca
IEEE International Conference on Tools with Artificial Intelligence (ICTAI'13), Washington DC · 2013
Interactive Exploration of Music Listening Histories
Ricardo Dias, Manuel J. Fonseca, Daniel Gonçalves
ACM Advanced Visual Interfaces (AVI '12), Capri, Italy · 2012
05 / Skills and focus areas

Current focus,
strong background, active edges.

Current focus
Frontend architecture Angular TypeScript Design systems Reusable UI platforms Backend-agnostic UI layers Content services AI-assisted developer workflows
Strong background
RxJS NgRx Material Components Web Components Polymer Lit HTML JavaScript Java REST APIs Playwright WebdriverIO GitHub Actions Nuxeo CMS
Exploring
Generative UI Agent-based tooling AI / RAG Local-first tools Markdown workflows Personal knowledge systems On-device AI Voice-first capture Language learning
06 / Education

Academic roots,
still shaping how I think.

The research path behind my work in recommendation, visualisation, and human interaction with software.

PhD
Information Systems and Computer Engineering
Instituto Superior Técnico, University of Lisbon
2010 — 2016
MSc
Information Systems and Computer Engineering
Instituto Superior Técnico, University of Lisbon
2007 — 2009
BSc
Information Systems and Computer Engineering
Instituto Superior Técnico, University of Lisbon
2004 — 2007
Teaching and mentorship
2008 — 2013
MSc supervision and lab instruction at Instituto Superior Técnico.
Master's thesis supervision IT Project Management Human-Computer Interaction
Continued learning
Selected courses
Angular, TypeScript, RxJS, Angular Material, GitHub Actions, Node.js, Machine Learning, Android, R, and Spanish.
Udemy Coursera Stanford University
Research community
2011 — 2022
Presented research at ACM Multimedia, CBRecSys, ICTAI, and AVI; attended JS World; volunteered at academic conferences.
Presenter Attendee Volunteer
07 / Personal notes

Learning by building,
thinking through tools.

Curiosity, music, languages, travel, and the small tools and routines that keep learning practical.

I learn best by building: a small plugin, a note-taking workflow, a voice capture experiment, a frontend pattern that makes a recurring decision easier. Some of those things become projects; many simply become better intuition.

Music is still a constant, from recommendation research to concerts and festivals. Languages, travel, and daily routines matter for similar reasons: they keep perspective moving and make communication feel like something to practice, not something to assume.

The engineering work I respect most creates shared understanding. Code matters, but so do naming, documentation, review habits, product context, and the way a system helps people reason together.

Languages are part of how I keep curiosity active: Portuguese, English, Spanish, and French.

PortugueseNative
EnglishC1
SpanishA2/B1
FrenchA2
Personal rhythm
Tools for reflection, creativity, communication, and self-improvement: local-first capture, Markdown-based thinking, AI-assisted review, language learning, music, and practical routines.
Music Concerts Festivals Languages Travel Markdown Reflection tools