Technical handover / 01 of 2 · LeadLift OS Walkthrough

Operating system overview code · the ops system steps

This page goes through the LeadLift OS app, one screen at a time. The app is where your team sees its work and moves it on.

Watch Full walkthrough (9 min) Map Full system breakdown For AI Point Claude here
System
LeadLift OS
Unit
1 of 2
Platform
Code · Modal server
Built by
Icarus Growth

▸ The full walkthrough: 9 minutes, every screen of the app

What this does

The app shows each person what waits on them. It holds every client record, the team, and four boards: Editing Pipeline, Scripts, Tasks and Launches. When you move a card, the server posts the news in Slack. Four dashboards show where the work is and who carries it.

The one thing to remember: the app does not refresh by itself. Press Refresh to see a change that another person made. Your own changes show at once.

Where it sits

Step 1 · HereOperating system overviewThe app the team works in
posts
Step 2 · SlackSlack channel systemWhere the system posts

How it works

Open the app at os.leadliftagency.co. The menu on the left has four groups: Index, Leadlift, Operations and Dashboards. The number beside a page counts its open work.

  1. Sign in. Type your email. A 6-digit code comes by email. Type the code. There is no password.
    1. The code works one time. It stops working after one hour.
    2. An Active person on the Team page can sign in. The Team page must have their email.
  2. My Work. This is the home page. It shows what waits on you on every board. It also shows the work you handed on, and who has it now.
    1. Group each list by client, board, stage or due date.
    2. Use the filters and Sort to find one item.
    3. A person who is not on the team uses View as to see the work of one team member.
  3. Clients. This lists every client with status, onboarding stage, media buyer, spend, health and days quiet. Click a client to open the client record.
    1. The buttons at the top open the client's Google Drive folders.
    2. Company, Contract and Delivery hold the account details.
    3. Target Details holds 4 targets. They are cost per lead, leads per week, the share of great or good leads, and the drift limit.
    4. A client goes Active only when all 4 targets are in and confirmed. The database refuses it otherwise.
    5. The Provisioning section shows the setup: Viktor, the Slack channel, the ad account and the Ads Manager link.
    6. The onboarding sections show each step: the contract, the call and the ad account access.
    7. Each submitted onboarding form opens from the client record.
  4. Team. This lists each person with job title, email, Slack id and capacity limit. It counts their clients, open tasks and open edits.
    1. When a person's clients reach their limit, the page shows At capacity.
    2. Click a person to see their load.
  5. Onboarding. This lists every client on the way in. It shows which steps are done and which are late. It also shows each call brief that waits for a check.
  6. Editing Pipeline. This board has one card for each creative, from raw footage to a live ad.
    1. The server scans each client's Raw Footage folder every 12 hours. New footage becomes a card at Footage Received.
    2. To scan now, press Scan for new footage.
    3. Move the card to To Edit. The editor gets the brief.
    4. At Internal Review, approve the edit or send it back to the editor.
    5. At Client Review, the client gets a review link in their Slack channel.
    6. At the Ready To Launch stage, the media buyer takes the ads. Then the card goes to Live.
    7. For each step in detail, open the Editing Pipeline pages.
  7. Scripts. A new script starts at To Write. Then it goes to Internal Review, where Fidel checks it.
    1. If Fidel asks for changes, move the script to Changes Requested.
    2. With Client sends the script to the client.
    3. At Approved, the server makes a card that waits for the footage.
  8. Tasks. This board holds every other job: not an edit, a script or a launch. The stages are Backlog, Blocked, In Progress, Amendments, In Review and Complete.
  9. Launches. One card for each set of ads on its way to Meta.
    1. At Awaiting Prerequisites, the media buyer ticks 5 checks.
    2. The checks are: creative approved, lead sheet made, lead form live, ad account access, and Module 3 done.
    3. Module 3 counts only on a Done-With-You launch.
    4. The launch also holds the questions for the lead form.
    5. Next, the launch goes to Ready To Launch, Uploaded To Meta, Live and Ended.
  10. AI Documentation. This page lists the walkthroughs. Each one has its Loom video and a written version.
  11. Dashboards. Four views of the editing work. On a bar chart, click a bar to see the items behind it.
    1. Creatives: where each creative is now, what is late, and which clients have the most work.
    2. Launch Dates: each creative on its launch date. Red is late, grey is to come, green is ready, blue is live.
    3. Load Distribution: the work that waits on each editor and on each reviewer.
    4. Task Completion: what the team finished in a date range, and what came back for changes.
  12. Refresh. Press Refresh to load the changes that other people made.

The moving parts

These are the parts behind the app. LeadLift owns the server workspace and the Slack workspace.

Starts from
A person who opens the app and signs in with an emailed code
Runs on
The app runs on Cloudflare. The server runs in Fidel's Modal workspace.
Keeps its data in
LeadLift's database on Supabase: clients, team, cards, scripts, tasks, launches, steps, forms and calls
Posts to
Nothing by itself. A card move tells the server, and the server posts in Slack.
Shows in the app
15 screens: 13 in the menu, plus the client record and the page for one walkthrough
Timer
None. The app reads the data when it opens and when you press Refresh.
Talks to
Supabase (the database and the sign-in) · Resend (the code email) · Cloudflare (hosts the app) · the server on Modal (the Scan button and approved scripts)
Good to know (as of 12 Oct)
• Nobody at LeadLift has signed in yet. Each person signs in once, to prove that the code email arrives.
• All cards, scripts, launches and steps today belong to test clients. Icarus Growth deletes them after the last checks.
• An error in the app shows only on your screen. Nothing goes to #sentry. Tell the person who looks after the system.
• My Work shows nothing under "waits on others" until people move cards in the app.
• Load Distribution calls the reviewer's load "SMM Load". In the video, Sheni says this name will change.

What you can safely change

Green: change it in the app. Amber: ask Claude in the LeadLift code folder, then check the result. Red: do not change it. Call us.

GreenA client's details and targets. Type them on the client record. Tick the confirmed box, then set the status to Active.
GreenA person on the Team page. Change the name, job title, email, Slack id, capacity limit or status.
GreenThe cards on the four boards. Move a card, and set its owner, due date and notes. Tick the 5 checks on a launch.
GreenThe walkthroughs. Add or change them on the AI Documentation page.
AmberThe rule that a client goes Active only with 4 confirmed targets. The ops system plan set this rule. Claude changes the rule and its test together. Then try to set a test client to Active.
AmberA field that the app cannot change yet. The app writes only the fields on its own list. Claude adds the field to the list and its test. Then a developer releases the app.
RedThe sign-in. This means the code email, the sign-in allow list and the sign-in settings. If one of them breaks, nobody can sign in.
RedThe tables and their fields. The server, Make, the onboarding form and the Claude connector read them. A changed name stops those parts.
RedThe stage names on each board. The Slack messages and the Claude connector look for the exact names. A renamed stage stops its message, and nothing reports it.
RedThe server's web address. Three database rules and every saved Claude connector use it. If the server moves, the board messages stop with no error.
RedThe database keys. They are in three places: the settings file, Modal and Cloudflare. Change all three together, or the app and the server stop.

What connects to this

This tab shows what puts data into the app, and what reads the moves you make in it.

◀ Comes in from

  • A person on the team
    Every screen starts when a person signs in.
  • Onboarding
    A Whop payment makes the client record and its onboarding steps. The onboarding form adds the answers.
  • Editing Pipeline
    The footage scan makes new cards on the board.

Goes out to ▶

  • Slack channel system A card move posts in the right channel.
  • The server on Modal The Scan button and an approved script call it.
  • The Claude connector It reads and moves the same boards. Only Fidel has a link today.

Reporting, Fathom calls and the Claude connector have no walkthrough yet. The System Map lists them.

If something looks wrong

The code email does not come.
Look in your spam folder. Then ask a team member to check that the Team page has you as Active, with this email.
You see old work, or a card in the wrong stage.
Press Refresh. The app does not reload by itself.
A client will not go Active.
Fill in all 4 targets and tick the confirmed box. The database refuses Active without them.
A save shows an error.
Only your screen shows it. Send a screenshot to the person who looks after the system.
My Work is empty under "waits on others".
This is normal until people move cards in the app. Each move names the person who made it.
No Slack message came after a move.
Look in #sentry and #pipeline-errors. The Slack channel system page tells you more.
You cannot break this for good. Each change to the code is a saved version. A developer can put back the last working version of the app or the server with one command.

Call us if nobody can sign in, or a save fails for every person.
Jargon buster
Card
One piece of work on a board: a creative, a script, a task or a launch.
Stage
The column that a card sits in. Each board has a fixed list of stages.
Client record
The page for one client. Every other screen links back to it.
Targets
The 4 numbers that the team checks a client's results against.
Capacity limit
The most clients that one person should hold.
Server
The program that runs LeadLift's automations. It runs on Modal.
Viktor
An AI assistant in Slack. It connects to a client's ad account.