// Portfolio

Luís
Fernandes.

FULL-STACK & MOBILE DEVELOPER · 5 ANOS

Construo SaaS, mobile e infraestrutura com segurança, qualidade e automação a sério - da arquitetura ao deploy.

// Sobre

Produto com qualidade de código e segurança a sério.

Sou full-stack e mobile developer com 5 anos de experiência profissional. Trabalho .NET Core, Angular, Kotlin e mobile multiplataforma - e levo a infraestrutura até ao fim, com homelab próprio e CI/CD self-hosted.

5 anos
experiência profissional
Full-stack + mobile
backend, frontend, nativo
Self-hosted
infra própria, CI/CD

// Percurso

De suporte a lead de produto.

2021
Helpdesk & consultoria de programas de gestão

Início numa software house portuguesa: consultoria, implementação e suporte de ERP (PHC), gestão documental e apps de equipas comerciais. Ponto de contacto técnico em todo o ciclo - levantamento, parametrização, formação e suporte.

2023
Estágio de desenvolvimento web (CTeSP · IPCA)

Desenvolvi de forma autónoma uma app web de gestão e marcação de férias (Angular + Node.js + SQL Server), para conclusão do CTeSP em Desenvolvimento Web e Multimédia no IPCA (pós-laboral).

2023
Full-stack & mobile developer

Programador principal dos produtos da empresa: app de trading multi-plataforma (v5 → v6), ANE de impressão nativa, registo de tempos de produção e app Android de picking - mantendo o papel de consultor.

Hoje
Produto + consultoria + side projects

Duplo papel na empresa e, fora dela, SaaS próprios em produção (+50.000 utilizadores no flagship) sobre homelab self-hosted com CI/CD.

// Números

Sinais, não slides.

1833
testes verdes na maior aplicação
+50.000
utilizadores no produto flagship
98
tabelas migradas para PostgreSQL
81,6%
mutation score em lógica crítica
~640
linhas de SCSS duplicado eliminadas
~10
serviços self-hosted a 0-3 €/mês

// Habilidades

A minha stack.

backend → infra
01

Backend

.NET Core (C#)ASP.NET Web APINode.jsFastify
02

Frontend

Angular 18TypeScriptMaterial + signalsNext.jsReact
03

Mobile

Kotlin nativoJetpack ComposeRetrofitFlex / AIR SDK HarmanANE (Java + Obj-C)
04

Dados

SQL ServerPostgreSQL
05

Infra

DockerTraefikNginx Proxy ManagerGitea CI/CDWireGuard
06

AI / LLM

Claude CodeOllama (local)OpenAI Vision
07

Pagamentos

Stripe (multi-tier)

// Como trabalho

Cinco princípios que não são opcionais.

// 01

Segurança

OWASP por defeito: IDOR, SQL injection, auth, rate limiting, secrets e RGPD. A base, não um extra.

// 02

Quality gates

Testes automatizados, mutation testing ≥70%, complexidade ciclomática ≤10 e BDD com Gherkin.

// 03

Release engineering

Staging e produção, fluxo tag-driven (Gitea com mirror para GitHub) e launch checklists.

// 04

AI-assisted

Claude Code com skills, hooks e agents num vault partilhado. Acelera sem baixar a fasquia.

// 05

Self-hosted

Homelab com Docker, Gitea CI/CD, NPM, WireGuard, PostgreSQL e MSSQL, com backups automatizados.

OWASP por defeito Mutation testing ≥70% Complexidade ciclomática ≤10 BDD · Gherkin RGPD compliance

Histórias de guerra.

// SQL → PG

Migração sem ORM

98 tabelas e ~80 queries de SQL Server para PostgreSQL à mão, com um gate que faz grep ao próprio source para banir T-SQL e impedir regressões.

// k6

Rate-limiter fantasma

70 POSTs seguidos sem um único 429: o k6 apanhou o que os testes de atributos não viam. Testar comportamento, não decoradores.

// SRE

Backup morto há 13 dias

Um backup que falhava em silêncio há 13 dias, detetado e corrigido por monitorização. Um backup nunca restaurado não é backup.

// Trabalho selecionado

O que construí.

12 projetos
// 01 E-COMMERCE · AUTO

RevParts

Loja de peças auto end-to-end: pesquisa por fitment, catálogo, página de produto com galeria, serviço On Demand e backoffice.

Angular 18· .NET 9· SQL Server
Ver projeto →
revparts.pt
RevParts - landing com carro e slogan Where ordinary become unique
// 02 SAAS · FINTECH FLAGSHIP

PersonalFinances

SaaS de finanças pessoais: OCR de recibos, IA de categorização, Stripe multi-tier, tempo real e E2E. +50.000 utilizadores.

Angular 18· .NET 9· Stripe
Ver projeto →
personalfinances.pt
PersonalFinances - landing
// 03 MOBILE · MULTI-PLATAFORMA LEAD

App de trading

App de trading multi-plataforma com integração simultânea a vários ERP. Liderei a evolução v5 → v6. Projeto de empresa (NDA).

Flex / AIR· multi-ERP
Ver projeto →
projeto de empresa
App de trading - miniatura
// 04 ENTERPRISE · AGRO-INDÚSTRIA

Registo de tempos

Registo de tempos de tarefas na produção agrícola (replicação de plantas em estufas): formulários condicionais encadeados e backoffice de análises por datas, plantas e operadores.

Angular· .NET· backoffice
Ver projeto →
projeto de empresa
Registo de tempos - miniatura
// 05 ANDROID · LOGÍSTICA

Picagem de etiquetas

App Android nativa de picking e expedição em armazém grossista: picagem de etiquetas com baixa automática de quantidades, caixas com N plantas, criação de vasos e integração em linhas no ERP PHC.

Kotlin· Jetpack Compose· ERP PHC
Ver projeto →
projeto de empresa
Picagem de etiquetas - miniatura
// 06 SAAS · PRIVACY

SaaS zero-knowledge

Offline-first cifrado. A chave nunca sai do dispositivo; o servidor só guarda blobs opacos. Deploy CI/CD self-hosted.

Next.js 14· Fastify· PostgreSQL
Ver projeto →
app.exemplo
SaaS zero-knowledge - miniatura
// 07 EXTENSÃO NATIVA

ANE de impressão

Air Native Extension que liga AS3 ao código nativo de impressão em iOS (Obj-C) e Android (Java).

Java· Objective-C
Ver projeto →
github.com/…
ANE de impressão - miniatura
// 08 AI · MULTI-INTERFACE

Assistente pessoal

Assistente por Telegram, voz no PC e no carro (CarPlay) e OBD2, com privacidade híbrida: LLM local (Ollama) para dados sensíveis, Claude na cloud para o resto.

Ollama· Claude· Whisper
Ver projeto →
self-hosted
Assistente pessoal - miniatura
// 09 INFRA · DEVOPS

Homelab self-hosted

Infraestrutura production-grade em servidor próprio: VPN, containers e CI/CD a correr em casa, documentado em runbooks.

Ubuntu· Gitea CI/CD· WireGuard
Ver projeto →
home.local
Homelab self-hosted - miniatura
// 10 AI · MEDIA PIPELINE

ContentForge

Pipeline autónomo de tendência a clip curto: núcleo Python (faster-whisper, scoring, render ffmpeg PT-aware) + gestão Fastify/BullMQ e dashboard Angular. Custo de LLM ~0,012 USD/clip via OpenRouter.

Python 3.11· Fastify· Angular 18
Ver projeto →
contentforge
ContentForge - miniatura
// 11 DEVEX · PLATAFORMA

Pipeline multi-agente

Engenharia multi-agente em Gitea self-hosted: vários agentes em paralelo, cada um isolado no seu git worktree, com modelo de propriedade que evita guerras de merge. Cada PR passa por um quality gate com catraca de métricas.

Gitea CI/CD· git worktrees· quality gates
Ver projeto →
gitea · self-hosted
Pipeline multi-agente - miniatura
// 12 ENTERPRISE · RETALHO

Retalho offline-first

Sistema de retalho portátil, constraint-driven: corre de pen USB como binário único, offline-first, com cifragem at-rest e importação de uma base de dados legada.

single-binary· offline-first· encryption-at-rest
Ver projeto →
projeto de empresa
Retalho offline-first - miniatura