-
Little Forest LTD Jul 2023 - present
Full-stack Engineer
LEAF is a multi-tenant platform that universities and public-sector organisations use to
crawl, inventory, score and fix their entire web estate. Harvard, UC Irvine and Edinburgh
are among the institutions running on it. I work across seven services: a React front end,
an Express gateway, a Flask core API, separate authentication, AI and rendering services,
and a distributed crawler on Kubernetes, with Elasticsearch, PostgreSQL, Redis and Celery
underneath. Most of what I do sits where those services meet, and I own features from the
database migration out to the interface.
I've built most of what the company actually sells: Stripe and wire-transfer billing with
tiered limits, a token system for AI-assisted PDF remediation, a policy engine with
approvals and audit trails, and around sixteen reports over Elasticsearch, from
accessibility and security headers to certificate expiry and a composite LEAF Score, each
one drillable from domain down to a single page.
The scale is the interesting part: millions of pages per client, thousands of subdomains,
and domains shared between tenants who must not see each other's data. I moved the crawler
fleet onto Kubernetes with queue-driven autoscaling, cleared a worker deadlock and the
memory limits behind it, and took the cluster from about four nodes down to two or three.
I measure before I optimise. A quota endpoint that timed out at twelve seconds turned out
to be loading huge JSON columns through the ORM rather than running a bad query, and it
now answers in under a millisecond.
I'm also the one on the weekly client calls. I listen to what is not working, turn it into
something scoped, and say what we should build next and what can wait. That conversation
shapes the product as much as any of the code above. We deliver with AI in the loop, using
Claude Code and Copilot as part of the workflow rather than as a novelty.
React · TypeScript · Flask · Celery · Elasticsearch · PostgreSQL · Redis · Kubernetes
-
Tallus 2021 - 2023
Founder
My own microgreens company, supplying restaurants in Figueira da Foz. The engineering
was the greenhouse itself: I built a web app running on a Raspberry Pi that ran the
whole thing, controlling irrigation, lighting, ventilation and humidity. It managed
itself from a schedule and sensor readings, and I could take over from the app
whenever I wanted to.
That turned a job needing daily attention into a reliable weekly harvest, and let one
person run the lot, from the growing to dealing with the restaurants.
Flask · PostgreSQL · Raspberry Pi · Shell
-
Switch, S.A. 2020 - 2021
Junior Software Engineer
A payments gateway, where an outage costs merchants money from the moment it starts.
I worked on the core processing API: authorisation, payment, settlement, refunds and
reconciliation. Correctness matters there as much as uptime, because every one of
those steps has to still agree with the others at the end of the day.
With two colleagues I also built the company's first Android application, integrating
that API on payment terminals and working to the PCI PIN Security Requirements.
Django · React · Kotlin · PostgreSQL · RabbitMQ · Docker
-
Alert Life Sciences Computing 2018 - 2019
Junior Software Engineer
Clinical software, used by people with a patient in front of them. I worked mainly on
the inpatient care side of the web application, keeping it running and turning what
hospitals asked for into features that met the rules a medical product has to follow.
A good part of my time went on moving the product off Flash and onto JavaScript and
Angular, screen by screen, without disrupting the hospitals already using it.
AngularJS · ActionScript 3 · Java
-
University of Porto 2014 - 2018
BSc Computer Science Engineering
Faculty of Sciences. I was part of NUCC, the computer science student group, and ran the
logistics for UPDATE, a two-day run of workshops and talks for the department.