Member platforms age in their own way.
The client is a Portuguese national travel association. Their member platform — the website, the back-office, the member-restricted areas — had grown over years of incremental change. The brief: corrective and evolutionary maintenance, with the platform staying reliable as the tourism sector itself shifted around it.
This is a different shape of engagement to a startup MVP. The constraint isn't speed — it's continuity. The platform has to keep working through library upgrades, language version bumps, and the kind of regulatory changes that ripple through tourism.
What we shipped, in order.
A back-office connected to Mailchimp; PDF export for member documents; member management; billing administration; asynchronous queues for the long-running tasks; member-restricted areas; AWS S3 integration for member-uploaded assets; user and permission management.
The work was paced for a non-technical customer. No surprises in the release notes. Every change came with the documentation the in-house team would need if Runtime wasn't there.
A boring stack on a deliberate substrate.
Member platforms have small audiences and long lifecycles. The stack reflects that — proven, supported, the kind of choices that don't trip an in-house team three years later.
Four years, no drama.
The engagement ran from 2016 to 2020 — four years of steady evolution. The platform didn't fall over during peak booking seasons, the back-office grew with the membership, and the in-house team always had what they needed to step in.
Handed back, still serving members.
The codebase is theirs. The platform is still serving members. Long engagement, clean handover.


