Apresentação
Software Developer | Web & Android, com experiência prática em desenvolvimento Web full-stack (Node.js, Python/FastAPI, Java/Spring Boot), aplicações Android nativas (Kotlin, Jetpack Compose), sistemas de comunicação em tempo real (WebRTC, Socket.IO) e dashboards interativos com dados oficiais da União Europeia. Gestão de infraestrutura VPS com Docker, nginx e PostgreSQL. Perfil autodidata, com desenvolvimento contínuo de projetos práticos e capacidade de investigar e resolver problemas técnicos de forma autónoma.
Objetivo
Transformar necessidades em soluções de software funcionais, eficientes e orientadas para resultados, aplicando arquitectura limpa, metodologias ágeis e conformidade com regulamentação europeia (RGPD, AI Act, WCAG 2.1 AA).
Contacto
- Email:dev.sarruf@gmail.com
- Telefone:
- Site:http://www.wsarruf.com
- Morada:Esgueira, Aveiro
Formação e Habilitações
Tecnologia em Sistemas de Informação
Centro Tecnológico OPET — 02/02/2005 a 14/08/2007 — Brasil
Self-education — 01/08/2022 a 27/07/2026 — Online | Lisboa, Portugal
- Android Developer — Noções básicas do Android com o Compose, Jetpack Compose para programadores Android, Arquitectura da aplicação Android, Noções básicas do Kotlin Multiplatform.
- IEFP — Algorithms, Língua Inglesa (atendimento, vendas), Drones (Manutenção e diagnóstico, Fotografia aérea, Voo à vista e transporte de carga, Pilotagem, Voo programado).
- W3schools.com — Bootstrap 5, DSA, Kotlin, MySQL, HTML, CSS3, JavaScript, Git.
- Elements of AI — Universidade de Helsínquia — Introdução à IA, Building AI.
- Cisco Networking Academy — Introduction to Cybersecurity, Ethical Hacker (em curso).
Europass — Digital skills self-assessment: Advanced, Level 6
Competências
- Utilizador avançado: MsOffice, LibreOffice, Internet, Windows, Linux, Git; bom domínio do terminal e do sistema operativo Linux, com capacidade para formatar um computador de raiz.
- Sistemas de gestão de bases de dados; administrador e utilizador dos sistemas operativos Microsoft Windows e Linux.
- Programação em Linux; projecto e implementação de redes de dados, com cabeamento estruturado ou sem fio (Wi-Fi).
- Autodidata, resiliente e orientado para a resolução de problemas e inovação.
Tecnologias utilizadas nos projectos
| Área | Tecnologias |
|---|---|
| Mobile | Kotlin, Jetpack Compose, Material 3, MVVM, Navigation Compose, DataStore, Coroutines |
| Tempo real / P2P | WebRTC (PeerConnection, RTCDataChannel, SDP), Socket.IO, Perfect Negotiation, TURN/STUN |
| Backend | Node.js, Express, Python FastAPI, Java 17 + Spring Boot 4.1, REST API, JPA/Hibernate |
| Frontend Web | HTML5, CSS3, JavaScript (ES6), TypeScript-like patterns, Tailwind CSS, Thymeleaf, Chart.js, Bootstrap 5 |
| Dados / Fontes | PostgreSQL, H2, MySQL, SDMX (Eurostat), APIs EFFIS/GWIS, Open-Meteo/Copernicus ECMWF |
| IA / Algoritmos | Minimax + poda alfa-beta, heurística de Tetris (pesos altura/linhas/buracos/bumpiness), Elements of AI |
| Segurança / Privacidade | RGPD/GDPR, consentimento de media, E2EE (WebRTC DTLS/SRTP), SHA-256, honeypot/rate-limit/CSRF, HTTPS/HSTS |
| Acessibilidade / Conformidade | WCAG 2.1 AA, ARIA, AI Act (UE 2024/1689), PEGI, i18n pt-PT/en-EU |
| DevOps / Ferramentas | Git, Maven, Gradle, systemd, Nginx, Let's Encrypt, Docker Compose, VPS IONOS (Ubuntu 24.04) |
Projectos
- SuperChat Android — Aplicação Android de comunicação P2P que permite aos utilizadores conversar em tempo real, realizar chamadas de voz e vídeo e partilhar ficheiros diretamente entre dispositivos. A comunicação é estabelecida através de WebRTC, com Socket.IO responsável pela sinalização e negociação das ligações. O projeto inclui mecanismos para comunicação em tempo real, transferência de ficheiros e suporte a múltiplos idiomas. Tecnologias: Kotlin, Jetpack Compose, WebRTC, Socket.IO, MVVM, Coroutines.
- SuperChat SC — Aplicação web de comunicação P2P que permite conversas, chamadas de voz e vídeo e transferência de ficheiros diretamente entre navegadores, sem armazenamento permanente das comunicações no servidor. A aplicação utiliza WebRTC para a comunicação entre pares e um sistema de sinalização baseado em Socket.IO para estabelecer as ligações. A transferência de ficheiros é realizada em pequenos blocos e validada através de SHA-256. Tecnologias: JavaScript, Node.js, Express, WebRTC, Socket.IO.
- Dashboard Financeiro — Plataforma web para análise e visualização de indicadores financeiros a nível mundial, europeu e nacional. O sistema recolhe dados de fontes oficiais, processa a informação no servidor e apresenta os resultados através de gráficos, indicadores e mapas interativos, permitindo uma leitura mais simples de grandes volumes de dados económicos. Tecnologias: Python, FastAPI, Chart.js, PostgreSQL, Eurostat SDMX.
- Dashboard Incêndios — Aplicação web dedicada à monitorização do risco de incêndio e análise das condições que podem contribuir para a sua evolução. O sistema integra dados ambientais e meteorológicos de fontes oficiais, apresenta a informação de forma visual e utiliza um motor de análise para identificar possíveis medidas de mitigação. Tecnologias: Java 17, Spring Boot, Tailwind CSS, APIs EFFIS/Copernicus.
- Tetriz — Jogo de Tetris desenvolvido para Android com diferentes formas de jogar, incluindo modo individual, multijogador local e confronto contra uma inteligência artificial. O modo de IA utiliza uma heurística própria para avaliar as jogadas e escolher a melhor posição possível para cada peça. O jogo inclui ainda um sistema de pontuação e tabela de recordes. Tecnologias: Kotlin, Jetpack Compose, algoritmo heurístico, IA.
- Game Xadrez — JJogo de xadrez desenvolvido para navegador com implementação das principais regras do jogo, incluindo roque, en passant e promoção de peões. O projeto inclui um motor de decisão baseado no algoritmo Minimax com poda alfa-beta, permitindo jogar contra uma inteligência artificial. Tecnologias: JavaScript, Minimax, poda alfa-beta, HTML5, CSS3.
- Game Duck — Jogo de tiro ao pato desenvolvido para navegador, no qual o jogador deve atingir os alvos e obter a melhor pontuação possível. O projeto inclui sistema de leaderboard, efeitos sonoros sintetizados e uma interface desenvolvida com preocupação de acessibilidade e compatibilidade com WCAG. Tecnologias: HTML5, CSS3, JavaScript, Web Audio API, WCAG.
- Site Pessoal — Website profissional desenvolvido como portfólio e apresentação das competências e projetos de desenvolvimento. O site inclui várias áreas de apresentação, formulário de contacto, suporte a acessibilidade e mecanismos de proteção do formulário, seguindo princípios de privacidade e conformidade com regulamentação europeia. Tecnologias: HTML5, CSS3, JavaScript, PHP, WCAG 2.1 AA, RGPD.
Competências Linguísticas
- Língua materna: Português Brasileiro
- Outra(s) língua(s): Inglês — B2
Outras Competências
- Drone Pilot — subcategoria A1/A3