Skip to content


Searching with Bloom Filters

I built a search engine for my sites — it’s small, fast, private, and doesn’t require a server. Then I tried to explain it to a generalist audience in less than 15 minutes. View the Searching with Bloom Filters talk slides and the @pacote/bloom-search module on NPM.

  • BOLT Talks (March 18, 2021 · Online)


Frontend test automation seems hard but it’s only as hard as you make it. Are you bogged down by endless component tests and still not sure your application won’t break? I talk about the advantages of testing your frontend from the perspective of the people using it, and bust some myths about unit testing and the supposed convenience of shallow component rendering. View the @testing-library talk slides.

When Engineers Pair with Product Managers

How do you get engineers more involved in business decisions? How do you make product managers more aware of delivery opportunities and difficulties? How can they meaningfully challenge each other? A conversation with Neha Datt, Ali Asad Lotia and Luís Rodrigues around the benefits of stepping outside our comfort zone for a closer collaboration between engineering and product management roles.

More Tests, Less Work

Writing tests can be tricky. How do you ensure appropriate coverage yet keep things straightforward and maintainable? Generative (or property-based) testing frameworks exist to reinforce your tests with hundreds of randomised checks, but they require changing your test design mentality. This talk introduces fast-check and its underpinnings, and suggests strategies to help you make the most of it immediately.

  • Expert Talks (February 6, 2020 · Porto, Portugal)
  • Pixels Camp (March 22, 2019 · Lisbon, Portugal) (video)
  • Tech Mate (May 22, 2018 · Lisbon, Portugal)
  • require(‘lx’) (April 18, 2018 · Lisbon, Portugal) (video)
  • Expert Talks (April 10, 2018 · Lisbon, Portugal)

More My Type: React Applications in TypeScript

An overview of the benefits of using typed languages when working with React and React Native, with examples in TypeScript, building using Webpack, Babel and the TypeScript compiler, a comparison with standard PropTypes and Flow, common caveats, and strategies for migrating your existing applications.

  • Tech Along (January 30, 2020 · Lisbon, Portugal)
  • Pixels Camp (September 30, 2017 · Lisbon, Portugal)
  • change.log (July 26, 2017 · Lisbon, Portugal)
  • require(‘lx’) (June 29, 2017 · Lisbon, Portugal) (video)
  • Expert Talks (April 18, 2017 · Lisbon, Portugal) (video)
  • Microsoft OSCAMP (April 5, 2017 · Lisbon, Portugal) (video)

Inverting the Universe

WordPress, business, and bears.

  • WordPress Porto Meetup (March 3, 2017 · Porto, Portugal)

Designing Developing for Humans

Think UX is a designer’s job? Think again. Everybody has a responsibility to provide their visitors with an excellent experience, and sometimes a pretty interface and smooth animations aren’t enough to save your site, your app, or your business. UX goes beyond your device’s screen—CPUs, slow networks, random number generators and the economy may well conspire to ruin your day.

  • Pixels Camp (October 8, 2016 · Lisbon, Portugal) (video, slides)
  • Landing.Festival 2016 (June 4, 2016 · Lisbon, Portugal)
  • WordCamp Porto 2016 (May 14, 2016 · Porto, Portugal)

React + Redux + WP REST API

  • WordPress Lisboa Meetup (June 6, 2016 · Lisbon, Portugal)

Introducing B3

  • WordCamp Lisboa 2015 (May 4, 2015 · Lisbon, Portugal)