tiago@utad:~$ ./start_profile.sh
[ok] developer ......................... Tiago Sol Ribeiro
[ok] location .......................... Portugal, somewhere between code and coffee
[ok] role .............................. Software Developer
[ok] studying .......................... MSc Computer Engineering @ UTAD
[ok] right now ......................... writing my dissertation
[ok] learning .......................... cybersecurity · AI powered development
[..] status ............................ building something as you read this|
I am a Software Developer and a Computer Engineering MSc student at UTAD, currently working on my dissertation. Most of my work lives where software meets the physical world: production lines, quality control, traceability and operational data. I have built digital solutions for real industrial workflows, so I am used to turning messy requirements into things people actually use every day. Android apps on the shop floor, REST APIs behind them, databases holding the truth, dashboards making it visible. Right now my curiosity is pointing at two places: cybersecurity, because writing software that works is only half the job, and AI powered development, because the way we build things is changing fast and I would rather be inside that change than reading about it later. |
name: Tiago Sol Ribeiro
role: Software Developer
studying: MSc Computer Engineering, UTAD
status: dissertation in progress
learning:
- cybersecurity
- AI powered development
builds:
- android apps
- rest apis
- dashboards
stack: [ Kotlin, Java, C#, Python, SQL ]
speaks: [ PT native, EN B2, ES B2 ]
fuel: coffee, curiosity, good docs
open_to: roles, internships, collabs |
|
Apps used by operators during real production. Offline first thinking, fast input, zero patience for a spinning loader.
|
The layer that keeps everything honest. Authentication, validation, business rules and endpoints that other systems can trust.
|
|
Following a product from raw material to finished item, so that when someone asks "what happened here", the answer exists.
|
My dissertation ground. Thinking about what breaks, who can break it, and how to make that boring for the attacker.
|
The snake is generated every day by a GitHub Action from my own contribution graph, so it never depends on a third party site being online.
● BSc Computer Engineering, UTAD
│ first real projects, first real bugs, first real deadlines
│
● Software for industry
│ traceability, quality control and production data
│
● MSc Computer Engineering, UTAD
│ software engineering, systems integration, AI and data analysis
│
◉ Now, dissertation phase
cybersecurity, AI powered development, and shipping along the way
📱 How I think about mobile apps
The user is standing up, wearing gloves, and has a queue behind them. That changes everything.
- Big touch targets and few taps per action
- The app has to work when the network does not
- Every screen answers one question, not five
- If something fails, say what to do next instead of showing an error code
🔌 How I think about backends
The API is the contract. If it is clear, the rest of the system stays calm.
- Validate at the edge, trust nothing that comes from outside
- Keep business rules in one place instead of scattered across clients
- Predictable status codes and predictable payloads
- Logs written for the person who will read them at 2am
🔐 Why cybersecurity now
Because every app I have built holds data someone cares about. Learning how systems get broken made me a better builder than any tutorial on clean code ever did.
Currently digging into secure development practices, authentication done properly, and how to look at my own work the way an attacker would.
🤖 Why AI powered development
Not to replace the thinking, to remove the friction around it. I use AI the same way I use a debugger or a linter, as a tool that is only as good as the person holding it.
The interesting part is figuring out where it helps, where it quietly lies to you, and how to tell the difference fast.
☕ Off the clock
Lo fi while debugging, something loud while refactoring. I read documentation for fun, which I am told is a personality trait.


