Developer role · technical exercise

One ticket, one hour

Below is a short brief on our systems and then a problem to work through. Write up how you would handle it and send it back to us within the hour. There is no model answer and nothing to install - we are interested in how you think, not in catching you out.

Please draft in Word, Google Docs or a text file and paste back in at the end. This page saves what you type on your own device as you go, but a browser is a browser - do not risk an hour's work to it. When you are finished, press Copy my answers and paste into your reply, or use Download as a text file and attach it.

01How a licence application moves

Members apply through our portal, our staff assess the application, and the systems in between move the work along and keep the member informed. Each box is a separate product with its own login - nothing here is a monolith, and the joins between the boxes are where the work lives.

1 · Identity 2 · Front end 3 · Data 4 · Glue 5 · Outward Memberstack Who the member is. Login, plan, access. The member portal React + Vite on Vercel. The screens + the form. Supabase Postgres. The record of the application. Zapier Moves data between the systems. Fails quietly. customer.io Sends the member email. Decides when, on triggers. Where staff do the work SharePoint + Excel Staff assess the licence. Feeds the AM dashboard. files the application status change triggers the member's email The join is the fault line. "The application didn't show up" can mean any of five things. Four of the five are not in the portal's code - and the glue is the step with the least visibility.

02What each system does

You are not expected to have used any of these. Several are niche. Read the shape, not the brand names - the last column is the part worth noticing.

SystemWhat it doesWhat it is, technicallyIf something is wrong here
The member portal The member-facing web app. Where a member logs in and submits a licence application. React + Vite, hosted on Vercel. Ordinary development - code, deploys, previews.
Supabase Stores the member and their application. The actual record. Hosted Postgres, with an API and a web console. Queryable directly. Tells you whether the data exists at all.
Memberstack Membership and identity - signup, login, plan, what a member is allowed to see. Third-party SaaS. Configured, not coded. A permissions fault can look exactly like missing data.
Zapier The glue. Moves records between the portal, SharePoint and customer.io when something happens. No-code automation. Each "Zap" is a trigger plus steps. Can be switched off, erroring or throttled without anyone being told.
customer.io Sends members email as their application progresses. Decides when, based on triggers. Lifecycle messaging SaaS. Campaigns and templates. "I was never notified" lands here, not in the portal.
SharePoint + Excel Where our staff actually assess a licence. Feeds an internal reporting dashboard. Microsoft 365. A business process, not a product we build. Staff work here all day. Changes affect their routine.
Code and data we build and deploy Third-party tools, configured rather than coded

03Two things worth knowing

Built by several people over several years

Different contractors, different conventions, thin documentation, some of it out of date. That is the normal state of it, not a crisis - and it is the environment the role exists to work in.

The automation work is being handed over

The Zapier automations and customer.io were set up by a contractor whose engagement finished in October 2026, and handover documentation is still being compiled. So "who do I ask about this?" is a real question here, with a less tidy answer than you would like.

Part one · start here

The ticket

A member emails to say their licence application did not show up in the portal. Nobody else has reported it. It is your ticket.

Walk us through how you would handle it, from that email to the moment you are confident it is sorted.

Your own words, your own structure. There is no required format and no length we are looking for - a page is plenty. Tell us what you would actually do.

Write it however makes sense to you. Bullets are fine.

Spend about 25 minutes here. Finish this part before you open part two - part two changes the situation, and we would rather see your first instinct than a revised one.

Paste into a reply to us, or attach the text file. Printing to PDF (Ctrl/Cmd + P) also works and will include every part.