■ TWODIO

TRABALHO

Casos de estudo de trabalho para clientes e de produtos próprios.

Cliente empresarial · via One Totem (Espanha) · Engenheiro Full-Stack · 2023 →

Integração SAP ↔ BigCommerce

Middleware que mantém produtos, tabelas de preços e encomendas consistentes entre SAP e BigCommerce, em milhares de SKUs.

DESAFIO
O SAP é a fonte de verdade do catálogo, dos preços e das encomendas, mas as vendas acontecem no BigCommerce. Qualquer desvio entre os dois significa preços errados ou encomendas que não chegam ao ERP.
SOLUÇÃO
Desenhei a lógica de middleware no Alumio para sincronizar produtos, tabelas de preços e encomendas entre os dois sistemas, com o SAP como fonte de verdade.
RESULTADO
Integridade de dados entre o ERP e a loja em milhares de SKUs.
SAPBigCommerceAlumioREST APIsNode.js

Cliente empresarial · via One Totem (Espanha) · Engenheiro Full-Stack · 2023 →

Portal B2B à medida

Um portal de compras em Next.js para regras de negócio que as plataformas SaaS standard não suportavam.

DESAFIO
Os compradores B2B precisavam de regras de negócio específicas que as plataformas de comércio SaaS prontas a usar não oferecem.
SOLUÇÃO
Construí o portal em Next.js num monorepo Turbo, com uma camada de API em Node.js/Express que implementa as regras de negócio à medida.
RESULTADO
Um portal moldado à forma como o negócio realmente vende, em vez de o negócio se adaptar à plataforma.
Next.jsReactTypeScriptTurborepoNode.jsExpress

PROLIPOL.PG · produto para empresas e gabinetes de contabilidade em Portugal · Programador web & desktop · 2018 – 2020

PMESalarios — SaaS de processamento salarial

SaaS de processamento salarial e RH para empresas e gabinetes de contabilidade portugueses — regras de RH, processamento de salários e integração com os web services da Autoridade Tributária.

DESAFIO
O processamento salarial é feito de regras de negócio, e os resultados têm de chegar à Autoridade Tributária (AT) no formato que ela exige.
SOLUÇÃO
Ajudei a evoluir o produto em .NET (VB.NET e depois C#): implementei regras de RH e de processamento salarial, uma camada de dados Dapper / Unit of Work para operações em massa e a integração com os web services SOAP da AT.
RESULTADO
Empresas e gabinetes processam salários e comunicam com a AT numa só ferramenta — e eu fiquei com conhecimento sólido de regras de RH e de integrações SOAP.
VB.NETC#ASP.NETSQL ServerDapperSOAP

Cliente empresarial · via One Totem (Espanha) · Engenheiro Full-Stack · 2023 →

Loja headless multi-canal

Arquitectura headless com Vue Storefront (Alokai), GrapheneHC e Amplience — incluindo correcções no core do Vue Storefront que desbloquearam o checkout multi-canal.

DESAFIO
O checkout multi-canal estava bloqueado por bugs no próprio core do Vue Storefront, não no código do projecto.
SOLUÇÃO
Diagnostiquei e corrigi os bugs bloqueantes no core do framework e integrei a loja numa stack composable com GrapheneHC e Amplience.
RESULTADO
Checkout multi-canal a funcionar, numa stack que o cliente pode evoluir peça a peça.
Vue Storefront / AlokaiGrapheneHCAmplienceVue.jsTypeScript

TWODIO · infraestrutura própria · Fundador & engenheiro · 2026

Plataforma self-hosted de produção

A plataforma onde este site corre: Docker, Traefik com TLS automático, CI/CD com Gitea Actions e servidor de email próprio.

DESAFIO
Correr várias aplicações, um CMS, uma newsletter e email corporativo sem facturas SaaS por utilizador nem dependência de fornecedor.
SOLUÇÃO
Uma VPS endurecida com contentores Docker atrás do Traefik (Let’s Encrypt automático), PostgreSQL, Gitea + Actions para CI/CD, email Stalwart com SPF/DKIM/DMARC, Payload CMS e Listmonk.
RESULTADO
Deploy a cada push, email que chega à caixa de entrada e backups nocturnos — a um custo mensal fixo.
DockerTraefikLinuxGitea ActionsPostgreSQLStalwartPayload CMSListmonk

Os nomes de clientes são omitidos quando os contratos o exigem — terei todo o gosto em explicar os detalhes numa chamada.

■ VAMOS TRABALHAR JUNTOS

TEM UM PROJECTO
OU UMA VAGA?

Integrações, plataformas B2B, funcionalidades de IA — ou um engenheiro sénior para a sua equipa. Diga-me do que precisa.