Social Publishing Platform for a UK Fitness Franchise
Designed and built a clickable social media planning and approval tool for a Cardiff-based fitness franchise with 38 studios: one content calendar for every studio, a franchisee-drafts-brand-approves workflow, brand checks that flag weight-loss claims and missing ad labels, and a media library that knows which photos and tracks the brand still has the right to use.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, calendar with week, month and list views, approvals, media library and asset detail. Every one of the 24 demo assets opens its own rights record.
Pass, warning or blocked. Weight-loss claims and before-and-after images are blocked and routed to compliance under CAP Code section 13. A brand content lead can override a warning with a reason; a blocked result cannot be overridden or approved.
Clear, expiring, expired, release missing, withdrawn, restricted and needs tagging. An asset is only as clear as its earliest model release or licence expiry, and posts are checked against the publish time.
16 studios with connected accounts, 13 users across 6 roles, 4 campaigns, approval chains with comments, and 24 media assets with 17 model releases and 5 licences.
Tarian's franchisees each ran their own studio accounts with whatever tool they liked, or none, and the brand team in Cardiff sent a monthly content pack as a shared drive folder. Some studios posted photos of members who had never signed a release, one kept using a licensed track months after the licence ran out, and a "lose 10kg in 4 weeks" reel was reported to the ASA. Creator deals were agreed over WhatsApp with no check on ad labels, comments and DMs sat unanswered across about 150 accounts, and nobody could say which studios were actually posting.
Llanw gives the brand one place to plan and approve every post across 38 studios and their Instagram, Facebook, LinkedIn, TikTok, YouTube and Google Business Profile accounts. Franchisees draft and localise, the brand team approves, brand checks run on every caption, and no post is scheduled with an asset whose model release or licence will not cover it on the day it goes out.
A franchise network posts at the speed of its busiest studio manager, but the brand carries the risk for every post. UK advertising, consumer and data protection rules all reach into a class photo with a caption.
The CAP Code, enforced by the ASA, requires marketing to be obviously identifiable. Paid or gifted creator posts generally need a clear, upfront label such as "#ad", and the CMA can now enforce consumer law on hidden advertising directly under the DMCC Act 2024, so the brand has to check what its creators publish.
Fitness marketing sits squarely in CAP Code section 13 on weight control and section 8 on sales promotions. "Drop 5kg before Christmas", before-and-after photos and trial passes without terms all need a compliance review before they reach a feed.
Photos and videos of identifiable members and staff are personal data under UK GDPR and the Data Protection Act 2018. Each person needs a release with a scope and an expiry, members can withdraw it, and under-18s need a parent or guardian to sign.
Music, stock and creator content is licensed for certain networks, organic or paid use and a fixed period. Each network's API has its own permissions, rate limits and quotas that change often, so none of it can be hard-coded into the design.
Mapped 10 roles from the brand content lead and franchisee to members and creators who sign by magic link, and 35 screens across staff, mobile approval and public pages. Modelled posts with per-network variants, versioned brand rules and approval rules, model releases, licences, partnerships with disclosure checks, the inbox and an append-only audit log. Wrote down the rules the design follows: the CAP Code and ASA influencer guidance, CMA hidden advertising guidance, UK GDPR and platform API terms.
Built 5 key screens on a production dashboard kit: the dashboard with KPIs, role-based work list, studio posting health and needs-attention items; the calendar with drag to reschedule and empty queue slots; approvals with per-network previews, brand checks and the approval chain; the media library with rights filters; and asset detail with people, releases and licence. A View as switch shows the brand content lead, a franchisee and compliance. All actions run on local state.
Publishing, comments and insights through the official APIs: Meta Graph API, LinkedIn Community Management API, TikTok Content Posting API, YouTube Data API and Google Business Profile APIs. Media storage and transcoding, music licence records, DocuSign for creator contracts, push notifications for mobile approvals and single sign-on with Microsoft Entra ID or Google Workspace. Plus the full composer, unified inbox, link-in-bio pages, analytics, partnerships, release signing and creator brief pages, with OAuth tokens kept in a secret store.
An asset's rights run until its earliest release or licence expiry. Dragging a post past that date is refused with the reason, a release that expires a week after publish shows as a warning, and the asset page lists every upcoming post that will be out of rights.
Each result says what it found and why: a weight-loss claim needing compliance review, "#ad" placed after the "more" cut instead of at the start, a music licence that covers organic use only, or a missing alt text. Authors fix the post before an approver has to ask.
A franchisee's post goes to the brand content lead, and a warning or a partnership adds compliance to the chain. Request changes and reject need a comment, and posts can only be approved in bulk when every brand check passed.
A location switcher scopes every page, so franchisees see only their own studios while the brand team sees all of them. Studio posting health compares each studio with the target of 8 posts a month and highlights the ones behind, and Welsh studios can post bilingual captions.

Designed and built a clickable marketing automation platform for a Malta-based skincare brand selling across the EU: one contact record with provable consent per channel and purpose, welcome, abandoned cart, post-purchase and win-back journeys that respect caps and quiet hours, and a deliverability dashboard that checks the Gmail and Yahoo bulk sender rules.

Designed and built a clickable no-code landing page builder for a private university in Beirut: faculty teams build course, open day and scholarship pages from brand-locked blocks in English, French and right-to-left Arabic, with fees synced from programme data, live quality checks and an approval workflow with versioning and rollback.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab