HAF Hub

Sign in to access the HAF Group control hub.

Private · authorised access only
OTIS Hub  /  Home
Your pinned areas
Ask OTISConnecting…

Ask OTIS

Your OTIS command line. Ask me anything, hand me a task, or attach a file for me to work from. Type / for quick commands like /go, /note or /leads. I'm right here.

Agent Task

The HAF command centre — every task the agents are running, who owns it, where it's stuck, and what needs your call. Tap any card or row to open the full task.

Green — on trackAmber — needs attentionRed — blocked / overdueGrey — parked / not startedPrivate
TaskLeadSupportProjectPriorityStatusRAGProgressNext actionDueApproval

Saves to this browser for now — ask OTIS to wire it to Supabase so tasks are shared across logins and permanent. Subtasks, comments, attachments, notifications and WhatsApp/Telegram approvals come in the next phases.

AgentRoleActiveWaitingBlockedCompleted (wk)Load

Load bands — Light 1–3 · Balanced 4–7 · Heavy 8–12 · Overloaded 13+. OTIS flags any agent who tips into overloaded.

OTIS

Your business operating brain — what needs you, what's moving across the team, and where it's stuck.

Waiting list

Needs your decision

Today's focus

Work in flight

System pulse

Route a task to an agent

Specialists

Seven specialist agents, each reporting into OTIS on Red / Amber / Green / Grey.

OSCAR

Your single front door. Everything personal and business starts with OSCAR — captured, sorted and prepared before business work is handed to OTIS. Calm, private and discreet by default.

Owns
Daily briefPersonal captureDecision queueFollow-upsTop 3 prioritiesClose-day
MVP Personal & business quick-add · follow-ups · daily brief · close-day · route to OTIS.
Sits above OTISPrivacy wall
Personal/private items stay out of the business Hub unless you allow them. No moving money, no final approvals, no sensitive sends without your say-so.
KAY Design · The cleaner

Keeps every HUB system looking like one premium HAF product. KAY sweeps the design every night, aligns anything that has drifted back to the HAF brand standard, and keeps the whole system clean so it never gets messy — always showing the next fix, not just the mess.

Owns
Design alignmentBrand tokensHUB consistencyNightly clean-upDrift auditsTask hygiene
MVP Nightly audit · token alignment · drift report · branch + preview only · flags anything bigger for sign-off.
Reports into OTISJXPA → builds & deploysSource-only, never prod
Never deploys to production and never touches usehaf.co.uk — KAY aligns the source, ships a preview to review, and routes anything bigger up as a decision.
KYLE Finance

The money view. KYLE tracks cashflow, budgets, invoices, costs, revenue, margins, payments and approvals — and always shows the next finance action, not just the data.

Owns
CashflowInvoicesCosts & budgetsMarginsPayment approvalsPLNA subsKNECT margins
MVP Manual cashflow panel · invoice-due list · payment-approval list · weekly money summary · red-flag box.
Reports into OTISFLO → revenue · JXPA → site costsFigures private
Never approves a payment without your sign-off — approvals route up as an OSCAR'S Decision. Finance figures are redacted for non-finance roles.
FLO Data & Analytics

The data truth. FLO turns website, sales, marketing and project numbers into plain-English insight — not just dashboards, but what changed, why it matters and the next action.

Owns
KPI dashboardsWebsite & salesCampaign analyticsEnquiry conversionPLNA & KNECT dataWeekly insight
MVP Manual KPI entry · enquiry count · traffic · sales · social snapshot · weekly insight box.
Reports into OTISBacks NALA & KYLE
NALA must ask FLO for data before judging any campaign. Raw finance records stay redacted unless approved.
MEG Support & Compliance

Keeps the internal business tidy and traceable. MEG owns admin, documents, compliance, checklists, reminders and reusable processes OTIS can lean on.

Owns
Internal adminComplianceDocumentsChecklistsDriver onboardingCleverPaySOPs
MVP Admin task list · compliance checklist · document checklist · follow-up list · missing-info box.
Reports into OTIS
Flags missing info, but never makes a final compliance call without the right provider or your approval.
NALA Marketing & Growth

Owns marketing activity — campaigns, content calendar, socials, email and Manychat. Premium and clean, with every campaign tied to a clear business objective.

Owns
Marketing calendarSocial planCampaignsContent & captionsEmail / ManychatPLNA · KNECT · Shop
MVP Manual content calendar · post log · campaign-ideas list · approval queue · weekly review.
Reports into OTISAsks FLO for data
No childish styling, weak copy or clutter. Judges performance on FLO's numbers, not vibes.
JXPA Sites & Development

Owns site management and development progress — tracking sites, contractors, planning, documents, costs and next actions, with each site kept separate.

Owns
Site overviewDev progressContractorsPlanning actionsDocumentsBlockers
MVP Site list · action list per site · blocker list · document checklist · weekly site update.
Reports into OTISCosts → KYLE
Always shows next action, owner and deadline. Flags planning or cost risk early; sends financial questions to KYLE.
DEV CTO Support

Technical brain behind the Hub build — backlog, Cloudflare Pages, GitHub, Supabase, API and integration planning, security and developer handoff notes.

Owns
Hub backlogCloudflare / GitHubSupabaseAPI planningSecurity checksDeploy checks
MVP Keep the Hub secure before live data · simple working versions before deep integrations · clear handoff notes.
Reports into OTISPending install
Work affecting live data, access, security, payments or public pages must be approved through OSCAR first. Provisioning is with the platform team — this tile goes live the moment DEV is installed.

OSCAR'S Decision Queue

Every approval from every agent lands here as a row. OSCAR prepares it; you decide. Nothing commits on your behalf.

Red — OSCAR'S DecisionAmber — Waiting / infoGreen — ScheduledGrey — CompletedBlack — Private
PrioritySourceDecision neededAreaDeadlineContactStatusNext action
No decisions in the queue yet. As the agents come online, approvals from OTIS, KYLE, FLO, MEG, NALA, JXPA and DEV appear here — newest and Red at the top.
Per row, OSCAR can:ApproveHoldAsk for infoScheduleTelegramWhatsAppZoomReject

Buttons and the full field set (ID, travel / ETA checks, calendar, approval log) are built on preview. Live send, Map ETAs and calendar sync wire in once their keys are added — no faked actions.

To Do List

Synced from OSCAR — your personal assistant. Personal items stay private to you; only business tasks route into OTIS.

No tasks yet. As OSCAR comes online it drops your day-to-day straight in here — diary, follow-ups, reminders and errands.

HAF Shop

Your live product & pricing table for THE HAF SHOP. Edit any cell, add or remove rows, then Save. Seeded with the Simark draft — fill in your cost & retail prices and OTIS will load the rest into the shop.

SKUItemTypeCost £Retail £StatusNotes

Saves to this browser for now — ask OTIS to wire it to Supabase so the table is shared across logins and permanent.

Live Work Queue

What OTIS and the agents are doing right now, by traffic light. Red waits on your approval, amber is queued, green is in motion.

Approvals

Row-by-row decisions OTIS and the agents need from you. High-risk actions are held as "Waiting for Brent" automatically.

Task IDTitleAgentCategoryPriorityTypeRiskAddedStatusAction

Today's Priorities

Your daily command list. Connects to OSCAR for live scheduling later.

Top 3 today

Set by you & OTIS

Business & work blocks

Personal & meetings

Follow-ups

Waiting on other people

Private Notes

Permanent and temporary instructions OTIS should remember — brand rules, build rules, pricing notes, private thoughts. Stored on your device in V1.

Your notes

System Health

A read-out of the HUB, sites, database and connected services. Live checks land here as each is wired up.

Services

Placeholder status — live pings coming

Agent Projects

Every active project, by group — owner and next action.

Marketing

Run by NALA

Live

Finance & Legal

Private, sensitive controls — company structures, banking, investor and legal. Nothing here executes without your approval.

Private Finance Mode

This area is locked. It holds company structures, banking, investor and legal controls. Unlock to view.

Overview

Run by JXPA

Awaiting feed
Sites & devRun by JXPALast synced: —
Sites
— vs last 30d
Deploys 30d
— vs last 30d
Uptime
— vs last 30d
Open Issues
— vs last 30d
Deploys
Awaiting data
By site
HUBKNECTPLNALauncShop
Uptime
Data

Site Status

JXPA
SiteStatusLast deployUptimeErrors
Feed: Sites & dev

Project management

Run by JXPA

Awaiting feed
Projects trackerRun by JXPALast synced: —
Active
— vs last 30d
On Track
— vs last 30d
At Risk
— vs last 30d
Done 30d
— vs last 30d
By status
PlanActivRevieDone
On track
Activity
Awaiting data
Data

Project Board

JXPA
ProjectOwnerStatusDueProgress
Feed: Projects tracker

Pipeline enquiries

Run by JXPA

Awaiting feed
Enquiry pipelineRun by JXPALast synced: —
New
— vs last 30d
Qualified
— vs last 30d
In Progress
— vs last 30d
Won 30d
— vs last 30d
Enquiries
Awaiting data
By stage
NewQual.Prop.WonLost
Conv. rate
Data

Pipeline

JXPA
CompanyStageValueOwnerNext
Feed: Enquiry pipeline

KN Capital

Run by MILO

Control panel
Aggregated viewRun by MILOAll sub-sections
AUM
— vs last 30d
Positions
— vs last 30d
Portfolio P/L
— vs last 30d
Committed Capital
— vs last 30d
Sub-sections
Capital MgmtMILO
AUM
Positions
Trade JournalMILO
Trades 30d
Win Rate
InvestorsMILO
Investors
Committed
PipelineMILO
New
Qualified
ProjectsMILO
Active
On Track
Container CollectiveMILO
Members
Containers

HAF Co

Run by OTIS

Control panel
Aggregated viewRun by OTISAll sub-sections
Waitlist
— vs last 30d
Shop Orders
— vs last 30d
Active Members
— vs last 30d
Open Jobs
— vs last 30d
Sub-sections
HAF KNECTJAKO
Signups
Activations
WaitlistFLO
Total Signups
New 30d
HAF PLNAJUDD
Signups
Active Drivers
X-TiersOTIS
Accounts
Active
AnalyticsOTIS
Page Views
Events 7d
HAF JobsJAKO
Open Jobs
Done 30d
StorageOTIS
Units
Occupancy
HAF ShopNALA
Products
Orders 30d
FeedbackMEG
Avg Rating
Responses
MembersMEG
Members
Active
CleverPayKYLE
Volume 30d
Transactions

Web Analytics & Funnel Tracking

Live page views and the HAF funnel — visitor → signup → activation — across www / launch / KNECT / PLNA.

Live
Window

Conversion funnel

Loading…

Traffic by site

Loading…

Traffic by source (UTM)

Loading…

Top campaigns

Loading…

Top pages

Loading…

Most-clicked CTAs

Loading…

Device & location

Loading…

Product funnels (KNECT · PLNA · Freight · Business · Driver)

Loading…

Anonymous, HAF-owned analytics. No personal, payment or compliance data is stored in events. Raw rows are never public — the HUB reads aggregate numbers only.

HAF KNECT

Live KNECT waiting-list sign-ups.

Total sign-ups
KNECT list
PLNA list
Loading live count…

HAF KNECT — Waitlist

Every sign-up captured across the HAF sites — full detail, row by row.

DateNameCategoryInterestAreaPhoneEmailStatusPriorityMailchimpSource

HAF PLNA

Run by JUDD

Live

HAF X — Tier Framework

KNECT · PLNA · Freight Forwarding · Business Accounts — the back-office view of the pricing, fees and rebates. Reads the configurable tier model; live counts fill in as accounts are created.

V—

HAF Jobs

Run by JAKO

Awaiting feed
Jobs & booking feedRun by JAKOLast synced: —
Open Jobs
— vs last 30d
Active
— vs last 30d
Completed 30d
— vs last 30d
Avg Job Value
— vs last 30d
Jobs — 30d
Awaiting data
By status
OpenActivDoneCanc.
Completion
Data

Live Jobs

JAKO
RefStatusRouteValuePosted
Feed: Jobs & booking feed

Dispatch Board

JAKO
DriverVehicleRouteETAStatus
Feed: Jobs & booking feed

HAF Feedback

Run by MEG

Awaiting feed
Feedback captureRun by MEGLast synced: —
Avg Rating
— vs last 30d
Responses 30d
— vs last 30d
NPS
— vs last 30d
Open Issues
— vs last 30d
Rating trend
Awaiting data
Score dist.
1★2★3★4★5★
NPS

Recent Feedback

MEG
DateRatingSourceSentimentComment
Feed: Feedback capture

Themes

MEG
TopicCountSentimentLast seen
Feed: Feedback capture

HAF Members

Run by MEG

Awaiting feed
Members storeRun by MEGLast synced: —
Members
— vs last 30d
Active
— vs last 30d
New 30d
— vs last 30d
Churn
— vs last 30d
Growth 30d
Awaiting data
By plan
FreeLitePlusPro
Active %
Data

Member Directory

MEG
NamePlanJoinedStatus
Feed: Members store

Recent Joins

MEG
NameDateTypeSource
Feed: Members store

CleverPay

Run by KYLE

Awaiting feed
CleverPay APIRun by KYLELast synced: —
Volume 30d
— vs last 30d
Transactions
— vs last 30d
Pending
— vs last 30d
Flags
— vs last 30d
Volume 30d
Awaiting data
By status
OKPend.FlagFail
Success rate
Data

Recent Payments

KYLE
DateAmountTypeStatusRef
Feed: CleverPay API

Compliance

KYLE
ItemRiskStatusAction
Feed: CleverPay API

Social

Run by NALA

Control panel
Aggregated viewRun by NALAAll sub-sections
Total Followers
— vs last 30d
Posts 30d
— vs last 30d
Avg Engagement
— vs last 30d
Reach 30d
— vs last 30d
Sub-sections
Business SocialNALA
Followers
Posts 30d
PersonalNALA
Followers
Engagement
Content PlanNALA
Planned
Scheduled
ConnectionsNALA
Channels
Connected

Content Plan

Run by NALA

Awaiting feed
Content calendarRun by NALALast synced: —
Planned
— vs last 30d
Scheduled
— vs last 30d
Published 30d
— vs last 30d
Drafts
— vs last 30d
Publishing
Awaiting data
By platform
IGTikToXBlogYT
On schedule
Data

Upcoming Content

NALA
DatePlatformTopicFormatStatus
Feed: Content calendar

Cort Co

Run by CORT

Control panel
Aggregated viewRun by CORTAll sub-sections
Members
— vs last 30d
Revenue
— vs last 30d
Content Views
— vs last 30d
Active Leagues
— vs last 30d
Sub-sections
Cort TVCORT
Views 30d
Subscribers
Cort ClubCORT
Members
New 30d
Cort XCORT
Leagues
Players
Cort ShopCORT
Orders 30d
Revenue

Cort TV

Run by CORT

Awaiting feed
Cort TV analyticsRun by CORTLast synced: —
Views 30d
— vs last 30d
Watch Time
— vs last 30d
Subscribers
— vs last 30d
Uploads
— vs last 30d
Views 30d
Awaiting data
Top content
Ep1Ep2Ep3Ep4Ep5
Completion
Data

Top Content

CORT
TitleViewsWatch timeLikesPublished
Feed: Cort TV analytics

Cort Club

Run by CORT

Awaiting feed
Membership systemRun by CORTLast synced: —
Members
— vs last 30d
Active
— vs last 30d
New 30d
— vs last 30d
Renewals
— vs last 30d
Members
Awaiting data
By plan
BasicPlusVIP
Retention
Data

Member Activity

CORT
NamePlanJoinedLast activeStatus
Feed: Membership system

Cort X

Run by CORT

Awaiting feed
League platformRun by CORTLast synced: —
Leagues
— vs last 30d
Players
— vs last 30d
Matches 30d
— vs last 30d
Active
— vs last 30d
Matches
Awaiting data
By league
Div1Div2Div3Cup
Active
Data

Standings

CORT
LeaguePlayerWDLPts
Feed: League platform

Cort Shop

Run by CORT

Awaiting feed
Cort ShopifyRun by CORTLast synced: —
Products
— vs last 30d
Orders 30d
— vs last 30d
Revenue
— vs last 30d
AOV
— vs last 30d
Revenue
Awaiting data
By category
EquipApparAcc.Other
Conv. rate
Data

Recent Orders

CORT
DateOrderItemsTotalStatus
Feed: Cort Shopify

Business

Run by OSCAR

Awaiting feed
Calendar + tasksRun by OSCARLast synced: —
Today
— vs last 30d
This Week
— vs last 30d
Open Tasks
— vs last 30d
Approvals
— vs last 30d
This week
MonTueWedThuFri
Done %
Activity
Awaiting data

Business Schedule

OSCAR
TimeEventLocationType
Feed: Calendar + tasks

Tasks

OSCAR
TaskPriorityDueStatus
Feed: Calendar + tasks

Personal

Run by OSCAR

Awaiting feed
Personal calendarRun by OSCARLast synced: —
Today
— vs last 30d
This Week
— vs last 30d
Reminders
— vs last 30d
Notes
— vs last 30d
This week
MonTueWedThuFri
Done %
Activity
Awaiting data
Data

Personal Schedule

OSCAR
TimeEventLocationType
Feed: Personal calendar

Business

Run by KYLE

Control panel
Aggregated viewRun by KYLEAll sub-sections
Revenue MTD
— vs last 30d
Transactions
— vs last 30d
Campaigns Live
— vs last 30d
Conversion
— vs last 30d
Sub-sections
MarketingNALA
Campaigns
Reach 30d
Finance & LegalKYLE
Revenue
Transactions

Business

Run by NALA

Awaiting feed
Buffer / Meta GraphRun by NALALast synced: —
Followers
— vs last 30d
Posts 30d
— vs last 30d
Engagement
— vs last 30d
Reach
— vs last 30d
Growth
Awaiting data
Channels
IGLIXFB
Eng. rate
Data

Business Channels

NALA
PlatformFollowersPostsEng %
Feed: Buffer / Meta Graph

Recent Posts

NALA
DatePostReachLikes
Feed: Buffer / Meta Graph

Personal

Run by NALA

Awaiting feed
Personal socialRun by NALALast synced: —
Followers
— vs last 30d
Posts 30d
— vs last 30d
Engagement
— vs last 30d
Reach
— vs last 30d
Growth
Awaiting data
Channels
IGTikToXYT
Reach
Data

Channels

NALA
PlatformFollowersPostsEng %
Feed: Personal social

Recent Posts

NALA
DatePostReachLikes
Feed: Personal social

Social Connections

HAF social accounts.

HAF Storage

Run by OTIS

Awaiting feed
Storage recordsRun by OTISLast synced: —
Total Units
— vs last 30d
Occupied
— vs last 30d
Vacant
— vs last 30d
Occupancy %
— vs last 30d
Occupancy
Unit types
StdCont.LargeCold
Revenue trend
Awaiting data

Unit Overview

OTIS
UnitTypeSizeStatusSince
Feed: Storage records

Container Stock

OTIS
ContainerLocationConditionAssigned
Feed: Storage records

HAF Shop

Run by NALA · Live · Shopify

KN Co

Run by MILO

Control panel
Aggregated viewRun by MILOAll sub-sections
Ventures Active
— vs last 30d
Cleans Jobs 30d
— vs last 30d
Cleans Revenue
— vs last 30d
Active Clients
— vs last 30d
Sub-sections
KN CleansMILO
Jobs 30d
Revenue
KN VenturesMILO
Active
In Pipeline

KN Cleans

Run by MILO

Awaiting feed
KN Cleans bookingsRun by MILOLast synced: —
Jobs 30d
— vs last 30d
Revenue
— vs last 30d
Active Clients
— vs last 30d
Avg Job
— vs last 30d
Jobs 30d
Awaiting data
By type
End-TReg.One-oComm.
Utilisation
Data

Upcoming Jobs

MILO
DateClientLocationTypeStatus
Feed: KN Cleans bookings

Clients

MILO
NameJobsRevenueLast job
Feed: KN Cleans bookings

KN Ventures

Run by MILO

Awaiting feed
Ventures trackerRun by MILOLast synced: —
Active
— vs last 30d
In Pipeline
— vs last 30d
Invested
— vs last 30d
Live
— vs last 30d
Pipeline
IdeaEvalActivLiveExit
Invested
Activity
Awaiting data
Data

Ventures

MILO
NameStageInvestedStatusOwner
Feed: Ventures tracker

KN Capital Management

Run by MILO

Awaiting feed
Portfolio feedRun by MILOLast synced: —
AUM
— vs last 30d
Positions
— vs last 30d
P/L MTD
— vs last 30d
Cash
— vs last 30d
P/L trend
Awaiting data
Allocation
EquitBondsCashAlt.
Cash %

Holdings

MILO
AssetValueAlloc %P/LLast
Feed: Portfolio feed

Allocation

MILO
ClassValueTarget %Actual %
Feed: Portfolio feed

Trade Journal

Run by MILO

Awaiting feed
Trade logRun by MILOLast synced: —
Trades 30d
— vs last 30d
Win Rate
— vs last 30d
Net P/L
— vs last 30d
Open Positions
— vs last 30d
P/L daily
Awaiting data
Win/Loss
WinLossB/E
Win rate
Data

Recent Trades

MILO
DateAssetSideEntryExitP/LStatus
Feed: Trade log

Investors

Run by MILO

Awaiting feed
Investor CRMRun by MILOLast synced: —
Investors
— vs last 30d
Committed
— vs last 30d
Called
— vs last 30d
Distributed
— vs last 30d
Commitments
Comm.CalleDistr
Called %
Activity
Awaiting data
Data

Investor List

MILO
NameCommittedCalledReturnStatus
Feed: Investor CRM

Updates Due

MILO
InvestorTypeDueStatus
Feed: Investor CRM

Pipeline Enquiries

Run by MILO

Awaiting feed
Enquiry pipelineRun by MILOLast synced: —
New
— vs last 30d
Qualified
— vs last 30d
In Progress
— vs last 30d
Won 30d
— vs last 30d
Enquiries
Awaiting data
By stage
NewQual.Prop.WonLost
Conv. rate
Data

Pipeline

MILO
CompanyStageValueOwnerNext action
Feed: Enquiry pipeline

Project Management

Run by MILO

Awaiting feed
Projects trackerRun by MILOLast synced: —
Active
— vs last 30d
On Track
— vs last 30d
At Risk
— vs last 30d
Done 30d
— vs last 30d
By status
PlanActivRevieDone
On track
Activity
Awaiting data
Data

Project Board

MILO
ProjectOwnerStatusDueProgress
Feed: Projects tracker

Container Collective

Run by MILO

Awaiting feed
Collective recordsRun by MILOLast synced: —
Members
— vs last 30d
Containers
— vs last 30d
Occupancy
— vs last 30d
Waitlist
— vs last 30d
Occupancy
Member types
SoleSMECorp.Non-p
Growth
Awaiting data
Data

Members

MILO
NameContainersJoinedStatus
Feed: Collective records

Vamo Sports Co

Run by VAMO

Control panel
Aggregated viewRun by VAMOAll sub-sections
Bookings 30d
— vs last 30d
Courts
— vs last 30d
Utilisation
— vs last 30d
Members
— vs last 30d
Sub-sections
Vamo PadelVAMO
Bookings 30d
Courts

Vamo Padel

Run by VAMO

Awaiting feed
Booking systemRun by VAMOLast synced: —
Bookings 30d
— vs last 30d
Courts
— vs last 30d
Utilisation
— vs last 30d
Members
— vs last 30d
Bookings
Awaiting data
Court util.
Ct1Ct2Ct3Ct4
Utilisation
Data

Court Schedule

VAMO
DateCourtTimePlayerStatus
Feed: Booking system

Settings

Your account, privacy and Hub preferences.

Profile
Name
Account
Access level
Signed out
Security & privacy
Privacy modeHide sensitive figures in shared views
Emergency Lock ModeImmediately hide Finance & Legal and Private Notes
Auto-logoutLock the Hub after 15 minutes idle
On
Two-factor (2FA)Add a one-time code on top of your password
PasswordChange the password for this account
Notifications & preferences
Approval alertsTell me the moment something needs sign-off
Default landingOpen this page on sign-in
Control Home
Home Screen

Switch on the pages you want pinned to your Control Home overview. Changes save instantly.

Connections

Connect HAF's social accounts — Instagram, TikTok, Facebook, LinkedIn — so posts and enquiries flow through here. We'll wire these up next.

Access log