I’m a backend engineer based in Porto, Portugal, currently working at Mercedes-Benz.io.
Most of my work is in Java, Kotlin, and Spring Boot, with AWS, Kafka, SQS, PostgreSQL, and Kubernetes. I also work with TypeScript and Node.js.
I’m interested in senior backend and platform roles focused on distributed systems, reliability, and developer tooling.
- Backend: Java, Kotlin, Spring Boot, TypeScript, Node.js, PostgreSQL, and Redis
- Messaging: Kafka, SQS, transactional outbox, idempotency, retries, and contract testing
- Platform: AWS, Kubernetes, GitOps, observability, and security automation
I built this TypeScript package after tracing an intermittent notification bug to a mismatch between SQS competing consumers and GraphQL subscription fan-out.
- One abortable SQS poller with local fan-out to every matching subscriber
- AWS SDK v3 client injection, standard and FIFO publishing, and explicit lifecycle management
- Tests for concurrency, unsubscribe, duplicate delivery, malformed messages, and shutdown
- Direct-SQS limits documented clearly: one consuming server process, with the database used for reconciliation after reconnects
View the repository · Install from npm · Read the design notes
I built Webhook Relay to explore the failure cases behind webhook delivery: accepting an event durably, handling duplicates, retrying failed requests, and replaying dead letters.
- Transactional PostgreSQL outbox with Kafka-compatible Redpanda transport
- HMAC-signed, at-least-once delivery with idempotent worker claims
- Full-jitter retries, durable dead letters, replay APIs, and SSRF controls
- OpenAPI documentation, Prometheus metrics, structured logs, containers, and integration tests
View the repository · Read the v0.1.0 release notes
- I maintain a fork of graphql-sqs-subscriptions as a compatibility path for an existing project using AWS SDK v3.
- I added opt-in request and response controls, with end-to-end tests, to httpexpect’s default formatter.
I write about backend reliability at guesser.dev.


