← Selected work

Case study

McDonald’s · Crew engagement platform

From employee campaigns to a mobile-first social platform for 200,000 crew accounts.

I led the full-stack development of an authenticated engagement platform connecting McDonald’s crew across the UK and Republic of Ireland through campaigns, mobile publishing, conversations, polls and prizes.

Role
Lead full-stack developer
Scope
SSO, campaigns, social publishing, moderation and reporting
Timeframe
2016–2022

Using participation to bring crew back to important company information.

OurLounge was McDonald’s online destination for crew training, health and safety information and company news. The engagement challenge was encouraging employees to return regularly enough to see important updates alongside the formal material.

Working with Blue Goose, we began by creating light, enjoyable campaigns and competitions connected to OurLounge. These evolved into a much broader, Instagram-inspired social platform through which crew could share restaurant events, community work and promotions from their phones.

Blue Goose established the visual direction through mobile designs. I translated that work into responsive application behaviour across phone and desktop, then led the technical delivery across authentication, data modelling, the social feed, media processing, campaigns, moderation, notifications, reporting and the SimpleCog administration system.

I carried out most of the development directly, using junior developers for bounded tasks where appropriate. I initially collaborated with an experienced developer on SAML integration, then assumed ownership and later implemented a separate identity connection for the Republic of Ireland service.

200Kcrew accounts held at peak
31Kaverage monthly engaged crew members
72Kreactions recorded from 2019–2022

Small reasons to return, built around measurable participation.

The early campaigns used quizzes, polls, animation and prize draws to make internal updates more engaging and encourage repeat visits to OurLounge.

One recurring example was an advent calendar. Crew unlocked a new animated door each day, earning an additional competition entry for every door opened on the correct date and a further ten entries for completing the full calendar. Blue Goose created the artwork and After Effects animations; I worked with their designer on the format I needed, then integrated and controlled the exported Bodymovin animation in code.

More than 30 campaigns ran across the life of the platform. Early prize draws were exported and processed through an independent randomisation service. Later campaigns incorporated winner selection directly into the administration workflow, always after the current leaver list had been reconciled so eligibility remained accurate.

Polls offered a lighter form of participation. Each person could respond once, view the results after voting and return to them later. Marketing teams could compare response levels and activity across restaurants through the CMS.

30+campaigns delivered
£289Kvalue of prizes distributed
100K+daily visits during peak advent activity

One crew identity, without another registration process.

The platform used OurLounge’s SAML single sign-on so crew could participate with their existing identity rather than creating and verifying another account.

On first authentication, the system created a limited local record from the supplied employee identifier, name, email address, restaurant and role information. Public identity remained deliberately lightweight, showing a crew member’s name, initials and restaurant rather than encouraging extensive personal profiles. Administrative posts could carry clearer role information where it was useful.

Crew could arrive from OurLounge or use a direct platform address. Anyone without an active session was sent through the OurLounge login and returned automatically to their original destination after successful authentication.

OurLounge did not provide a live deprovisioning event, so account lifecycle management was designed around weekly leaver exports. Administrators uploaded the latest file through the CMS, triggering cleanup of local personal data and preventing departed crew from appearing in competition draws. Once their central access ended, they could not authenticate again. Existing contributions remained part of the community record but were anonymised.

Authenticated communityExisting identity. Immediate participation.
Identity flow · UK and Republic of Ireland authentication connected to one crew experience

A familiar feed designed around restaurant life.

Crew could publish directly from their phones using interactions familiar from consumer social products, while the platform retained controls appropriate to an employee community.

Posts supported text, seasonal text backgrounds, single images, galleries, video, polls and campaigns. Links were restricted to administrators. The feed was chronological and remembered where each person had stopped during their previous visit, allowing them to return directly to posts they had not yet seen. Important administrator updates could be pinned.

Content was visible across the community but could also be filtered to restaurant level. Mentions of a person or restaurant could create an in-platform notification and, where enabled, a mobile push notification through OneSignal.

01

Create

Publish text, images, galleries, videos, polls and campaign content from a phone.

02

Continue

Return to the chronological feed at the point reached during the previous session.

03

Connect

Comment, react and receive notifications when a person or restaurant was mentioned.

04

Control

Pin important updates and filter the wider conversation down to restaurant level.

Letting a phone upload feel simple without treating the original file simply.

Images and videos arrived from a wide range of phones, formats and connection speeds. The publishing interface needed to remain understandable while the server performed the heavier work.

Uploaded photographs were corrected for orientation, resized, compressed and converted into the responsive variants required by the feed. User limits protected the platform from unsuitable files, while administrators retained greater flexibility for official content.

Video files were sent through an API to a specialist encoding service, converted into a consistent MP4 format and saved back to the platform. Smaller uploads displayed progress during processing. For longer jobs, the person could leave and receive a notification when the video was ready and the post had appeared.

Media was served from a cookieless asset subdomain, keeping requests lighter and separating delivery of high-volume public assets from application interactions.

Automated checks backed by accountable human review.

Crew posts appeared immediately when they passed automated language and sentiment checks. Potential problems failed safely into review rather than disappearing or being published unchecked.

If content triggered a rule, it was accepted but withheld from the feed. The author received a clear message that it had been sent for review, and administrators were alerted through a dedicated CMS queue. Crew could also report content themselves, while administrators could remove posts or suspend an account.

Human review was important because automated rules inevitably produced false positives—including harmless expressions of excitement. The CMS preserved the underlying moderation data and activity history so administrators could understand why something had been flagged rather than making decisions without context.

A crew-facing community supported by a purpose-built operational system.

The SimpleCog CMS gave the marketing team control over the platform without requiring developer involvement in everyday publishing, campaigns or moderation.

Administrators could create and schedule multiple content types, target or pin important posts, run campaigns and polls, review reported content, suspend accounts and manage competition draws.

Reporting covered active users, sessions, campaign participation, post and video engagement, reactions, comments, polls, restaurant activity, prize distribution and return visits. Teams could filter results by dates, campaigns and locations before exporting them for further analysis.

The reporting definition behind the headline engagement figure was deliberately concrete: an engaged crew member was a unique person who loaded the feed and viewed at least one post they had not previously seen.

9,797crew posts recorded by May 2021
1,757comments recorded by May 2021
557images and videos in the May 2021 snapshot

Preparing for the moment everybody opens the same door.

Campaign launches created predictable surges far beyond everyday feed activity, particularly during the advent calendar when crew across both territories returned each day.

I combined load testing with careful application optimisation, caching and controlled background media processing. The challenge was not social-network scale in the abstract; it was ensuring that authentication, entry recording, winner eligibility and content delivery remained dependable when a campaign concentrated a large audience into a short period.

Security mattered for the same reason. The platform combined workforce identity, user-generated content and prizes of material value, so access, eligibility, administrative actions and data removal needed clear controls and traceability.

Six years of service, followed by a controlled close.

The platform operated in evolving forms from 2016 until 2022, when McDonald’s replaced OurLounge with Workplace as part of a wider global strategy.

The change was a corporate platform decision rather than a response to this product’s performance. Before closure, final reports were produced, required information was archived and the remaining platform data was removed in a controlled way.

  • Reach: as many as 200,000 active crew records held at one time across the UK and Republic of Ireland.
  • Engagement: an average of 31,000 crew members returned each month and viewed new feed content.
  • Participation: campaigns, polls, posts, comments and reactions created repeat reasons to visit.
  • Continuity: identity, leaver reconciliation and anonymisation kept access and community records aligned throughout the product’s life.

For a global exhibition in Las Vegas, I built an installed web application that helped McDonald’s gather structured insight from event delegates and prospective restaurant managers.

Rather than presenting a conventional form, the application led people through an animated story about attracting and motivating restaurant teams, placing short questions at relevant points and ending with a film. Blue Goose supplied the visual assets; I created the application, transitions and data-capture experience across several staff-guided iPads.

The venue provided reliable connectivity, so responses could be submitted directly. Staff introduced the experience and the application explained how names, email addresses and answers would be used for follow-up.

Consumer-style interactions need enterprise-grade boundaries.

The platform succeeded by making participation feel familiar while quietly handling the less visible requirements of an employee community: authentication, lifecycle management, media processing, moderation, eligibility, reporting and reliable campaign delivery.

It demonstrates the kind of full-stack work I most enjoy—taking a clear creative direction, understanding the operational realities behind it and building the complete system required to make the experience dependable at scale.