Projetos

Projetos

Uma seleção dos projetos mais recentes, entre engenharia full-stack, integração de IA e desenho de sistemas complexos.

SPA de avaliação de risco e analítica com IA

Funcionalidades principais

  • Filtros avançados por valores e categorias
  • Modelos assentes em IA para categorização de dados
  • Machine learning para avaliação de risco e sistemas de alerta

Resultados

  • 75% de redução no tempo de avaliação de risco
  • 40% de redução em falsos positivos
FinTechPythonFastAPIRabbitMQAngularNestJSAI/MLPostgreSQLDockerKeycloakQwen3

SPA de avaliação de risco e analítica com IA

Desafio

Uma grande instituição financeira debatia-se com processos manuais de avaliação de risco, morosos e sujeitos a erro humano. O cliente procurava também adaptação rápida às tendências de mercado e à regulação, e otimização de custos.

Solução

A Ximplicity implementou um sistema de avaliação de risco assente em IA, integrado com a infra-estrutura existente, que automatiza a análise de dados de clientes e de padrões de transação, suportando múltiplos fluxos de trabalho e integrações de modelos.

Contributo técnico

Desenhei a arquitetura de fluxo de dados para desacoplar as cargas de inferência de IA da aplicação principal, usando RabbitMQ para a orquestração assíncrona entre os serviços de modelo em FastAPI e o backend NestJS. Construí a SPA Angular com pipelines de filtros dinâmicos e dashboards de alerta em tempo real, e integrei o Keycloak para controlo de acessos por perfil entre as equipas da instituição. O sistema foi containerizado com Docker e implementado num ambiente cloud interno com escalabilidade horizontal para os workers de inferência.

Otimização dos fluxos de cuidados ao doente

Funcionalidades principais

  • Melhor experiência do doente
  • Modelos assentes em IA para otimização do agendamento
  • Remarcação automática e mensagens não intrusivas

Resultados

  • 40% de redução nos tempos de espera
  • 25% de aumento na capacidade de atendimento
HealthTechReactNode.jsFastAPINestJSAI/MLMongoDBAWSRedisKeycloakTensorFlowPyTorchYOLOv10Deepseek-r1

Otimização dos fluxos de cuidados ao doente

Desafio

Um prestador de cuidados de saúde enfrentava ineficiências nos seus fluxos de atendimento, o que levava a tempos de espera mais longos e a menor qualidade de cuidados.

Solução

A Ximplicity forneceu CTO-as-a-Service para analisar os sistemas existentes e implementou uma solução de otimização de fluxos que simplificou marcações, admissões, diagnóstico e tratamento sem perturbar os sistemas em uso.

Contributo técnico

Reestruturei fluxos síncronos legados num modelo de orquestração event-driven com NestJS e Redis pub/sub, permitindo remarcações em tempo real sem indisponibilidade. Desenhei o frontend React com uma UX centrada nas marcações, integrei modelos de otimização assentes em TensorFlow através de FastAPI e implementei mensagens não intrusivas ao estilo WhatsApp para a comunicação com os doentes. A plataforma corre em AWS com MongoDB e é protegida por autenticação multi-tenant com Keycloak.

Controlo de qualidade com IA para a indústria

Funcionalidades principais

  • Fluxos MQTT ligados aos sensores
  • Integração de visão computacional e machine learning
  • Troca de dados em tempo real e business intelligence

Resultados

  • 85% de redução na taxa de defeitos
  • 60% de redução nos custos de controlo de qualidade
Industry 4.0AngularPythonComputer VisionMQTTDockern8nMCPNode.jsPostgreSQLYOLOv12Qwen2.5-VL

Controlo de qualidade com IA para a indústria

Desafio

Uma empresa industrial registava taxas elevadas de defeitos e problemas de controlo de qualidade que afetavam a sua reputação e os seus resultados.

Solução

A Ximplicity desenhou e implementou um sistema de controlo de qualidade assente em IA que usa visão computacional para detetar defeitos em tempo real durante a produção, e integra orquestração de fluxos via MQTT numa aplicação web profissional e responsiva.

Contributo técnico

Desenhei um pipeline de ingestão de baixa latência que encaminha os fluxos de dados de sensores e de visão via MQTT para um armazenamento time-series em PostgreSQL, alimentando os modelos YOLOv12 e Qwen2.5-VL para classificação de defeitos. Construí o frontend Angular com dashboards de produção em tempo real, integrei o n8n para automação no-code de fluxos e expus uma interface MCP para consultas de processo assistidas por IA. Toda a stack foi containerizada com Docker e orquestrada para deployment em edge nos ambientes fabris.

Inspeções NDT em tubagens de refinaria

Funcionalidades principais

  • Monitorização digital das operações totalmente integrada
  • Modelos de corrosão e analítica de visão computacional
  • Inspeções simbólicas e em gémeo digital 3D

Resultados

  • 90% mais rápida a geração de relatórios
  • Poupanças significativas por ciclo de inspeção
C# AngularPythonThreeJSAI/MLAWSKeycloakPostgreSQLRedisSignalRRabbitMQDocker

Inspeções NDT em tubagens de refinaria

Desafio

Um prestador de inspeções NDT robotizadas precisava de um portal completo para visualizar diferentes fontes de dados NDT sobre gémeos digitais dos componentes inspeccionados e para gerar anotações e relatórios automáticos assentes em analítica e modelos de visão computacional.

Solução

A Ximplicity forneceu CTO-as-a-Service para estruturar o domínio de negócio, definir o modelo de dados e construir uma solução web para gerir todos os dados recolhidos pelo robô, com inspeção simbólica e em gémeo digital 3D dos componentes.

Contributo técnico

Desenhei o modelo de dados da plataforma para lidar com fontes de inspeção heterogéneas — RTR (radiografia em tempo real), Pulsed Eddy Current (PEC) e inspeções visuais — unificadas sob um único esquema. Construí o frontend Angular + Three.js para visualização de gémeos digitais 3D com camadas de anotações, desenvolvi a camada de sincronização em tempo real com SignalR para sessões de revisão colaborativa e implementei modelos de previsão de corrosão em Python. O backend corre em .NET com RabbitMQ para processamento assíncrono, PostgreSQL e Redis para persistência e cache, e Keycloak para controlo de acessos multi-organização (fui responsável pelo modelo de dados, pela especificação técnica e pela camada de integração, e desenvolvi vários serviços centrais; outros serviços foram construídos pela equipa alargada).

Para além da implementação como Senior Full-Stack Engineer, neste projeto desempenhei também os papéis de Scrum Master, UX Designer e Solution Architect. A plataforma continua a crescer em produção e mantenho-me ativamente envolvido na sua evolução a partir da Ximplicity. Esse trabalho significa novos serviços de alto valor, mais qualidade e eficiência na forma como os resultados são produzidos e apresentados, e processos de negócio mais sólidos. Significa também trazer técnicas avançadas de inferência de dados, visão computacional e representação visual: as capacidades sobre as quais assenta o serviço de inspeção, analítica e reporte do meu cliente.

Kuboing — Puzzle 3D em cascata de cubos

Funcionalidades principais

  • Tabuleiro 12×12×24 Z-Up com pontuação por rebentamento e cascata
  • Um único modelo de entrada: teclado, rato, comando e toque
  • Implementações mock e de produção intermutáveis atrás de um único flag de configuração

Resultados

  • Jogável online, gratuito e sem registo
  • Mais de 80% de cobertura de ramos, quality gate sem defeitos
ReactTypeScriptThreeJSReact Three FiberZustandViteNestJSTypeORMPostgreSQLKeycloakDockerWebGL

Kuboing — Puzzle 3D em cascata de cubos

Desafio

O 3D em tempo real no browser e um produto cliente-servidor de nível de produção costumam demonstrar-se em separado, e raramente pelo mesmo engenheiro. Queria um único artefato que provasse ambas as coisas ao mesmo tempo — e que fosse honesto quanto ao seu âmbito, porque a parte mais difícil de um projeto a solo é mesmo terminá-lo.

Solução

O Kuboing é um puzzle 3D casual-competitivo: as peças caem sobre um tabuleiro 12×12×24 em Z-Up, o jogador encaixa-as, liga cores, provoca rebentamentos e encadeia a cascata. React e Three.js movem o cliente, enquanto NestJS e PostgreSQL movem a API, e na camada de integrações usei o padrão facade, que traz uma implementação mock a par da real — é isso que permite à demo online funcionar sem qualquer base de dados por trás. Como demonstração adicional, o estado de jogo é gerido de forma reativa com um padrão de estado local, e a versão de produção acrescenta uma camada de segurança: autenticação e identidades com Keycloak, persistência em PostgreSQL e uma camada de abstração sobre TypeORM. A construção com Vite completa a demonstração de uma solução multiplataforma.

Jogar Kuboing

Gratuito e sem registo — dedique-lhe uns minutos, aqui mesmo no seu browser.

Contributo técnico

Este é meu do princípio ao fim: a ideia, o game design, a direção artística, a UX, o cliente, o servidor e o deployment. Começou como gamebook antes de ser código: identidade, elevator pitch, plataformas-alvo e toda a mecânica de queda, encaixe, ligação, rebentamento e cascata, até à pontuação que faz um combo parecer merecido. Um jogo casual joga-se todo na legibilidade dos seus primeiros sessenta segundos, e isso é um problema de design muito antes de ser de engenharia.

O cliente é React e TypeScript com Three.js através de React Three Fiber, o estado de jogo gerido com Zustand e um ciclo de render sem alocações por frame, para que um telemóvel de gama média mantenha a taxa de imagens. O tabuleiro é 12×12×24 num mundo Z-Up, e é isso que torna honesta a leitura espacial e exigente o trabalho de câmara. A UX multi-dispositivo é um único modelo de entrada expresso de quatro formas — teclado, rato, comando e gestos táteis — sobre um layout em que o tabuleiro 3D e o HUD essencial são sempre os protagonistas e tudo o resto vive em drawers e overlays. A API é NestJS com TypeORM e PostgreSQL, autenticada com Keycloak, documentada com OpenAPI e assente num contrato genérico de paginação, filtragem e ordenação a que as tabelas do frontend se ligam directamente. Cada fronteira de integração expõe uma facade abstrata com duas implementações intermutáveis, mock e real, escolhidas por um único flag de ambiente.

A restrição que me impus foi que tudo tinha de ficar ao alcance de um único programador: unidades pequenas de responsabilidade única, JSDoc em cada superfície pública, i18n desde o primeiro ecrã em vez de acrescentada depois, design tokens para que todo o aspeto mude a partir de um só ficheiro, e cobertura de ramos acima de 80% imposta pela build e não por boas intenções. É esse o verdadeiro propósito do projeto. Não que um browser saiba desenhar cubos, mas que uma só pessoa consiga levar um produto da ideia até um sistema cliente-servidor publicado, testado e documentado sem cortar precisamente naquilo que o torna um produto.

Sou designer e programador full-stack. Comecei a escrever videojogos em criança, nos anos oitenta, em microprocessadores Z80. Várias décadas depois mantenho a mesma paixão e, sempre que o meu trabalho como senior developer em produtos profissionais o permite, construo um jogo por puro prazer. Este é um deles. Espero que goste.

Como programador experiente, estou comprometido com a comunidade e contribuo com projetos open source próprios.

Descobrir mais projetos

Vamos construir algo grande

Tem um projeto em mente? Gostava de o conhecer e explorar como o posso ajudar.