The short version

I'm Rui. Software engineer, based in Portugal. Legally blind — I use a screen reader, a braille display, and a keyboard to do my job.

I got into programming as a teenager, partly because I wanted to understand the assistive technology I depended on, partly because I like to tweak things and learn for the fun of it. That led to contributions to open source accessibility projects early on, a CS degree at Técnico Lisboa, and a career that moved through functional programming, distributed systems, and streaming infrastructure. I've worked with Scala for years, spent time at TB.LX (Daimler Trucks) building Kafka-based systems, and now lead a backend team at Tiko.

Outside of work

I'm involved in the blindness and accessibility community in Portugal. I consult for ACAPO on technology matters, serve on the fiscal council of Associação Bengala Mágica, and I'm a member of the Núcleo para o Braille at INR. I write about accessibility, Braille, and technology occasionally — see publications.

I play piano and guitar, and have a habit of accumulating musical instruments, accessories, and equipment that I don't strictly need. The guitar pedal situation in particular has gotten out of hand. I read a lot — mostly history and fiction. I live with my partner and our baby daughter.

Why this site

I wanted a place to collect the things I've done and the things I think about. A blog to write in, a list of projects to point to, a CV that doesn't live in a PDF. Nothing fancy — just a static site I control and manage,

FAQ

How do you use a computer?
With a screen reader (software that reads the screen aloud and/or outputs it to a braille display) and a standard keyboard. No mouse.
How do you write code?
Same way as anyone else, minus the visual feedback. I use a text editor or IDE with screen reader support, navigate by keyboard, and rely on structure (indentation levels, syntax, type systems) rather than visual layout. Good tooling, strong type systems, and a solid terminal workflow help a lot. AI tools have been helping a bit in this regard.
What's a braille display?
A hardware device that sits in front of the keyboard and renders text as raised dots you can read with your fingers. It refreshes dynamically as you move through content. It's essential for reading code, reviewing formatting, and anything where audio alone isn't precise enough.
Is this site accessible?
It better be. It's built with semantic HTML, proper heading structure, keyboard navigation, ARIA where needed, and tested with screen readers. If you find an issue, open an issue on GitHub.