Full-Time Executive VA / Chief of Staff for DTC Retention Agency (Must Be AI-Fluent)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

WAGE / SALARY

$1500 / mo

HOURS PER WEEK

TBD

DATE UPDATED

Apr 28, 2026

JOB OVERVIEW

ABOUT US

We're Boring Ecom, a retention agency for DTC subscription brands on Shopify.
We help our clients keep more of the customers they already paid to acquire (email,
SMS, cancel flows, subscription strategy on Skio / Stay AI / Recharge). The CEO
runs the agency and needs a right hand to take everything off his plate that
isn't strategy, sales, or client work.
This is not a "answer some emails for 4 hours a day" VA role. This is a
full-time, 40+ hour, heavy-lift Chief of Staff role. If you want easy, keep
scrolling. If you want to be the operational backbone of a fast-growing
agency and learn how a real DTC business runs, read on.

WHAT YOU'LL OWN

Agency Operations & Admin

- Pull weekly and monthly client reports following our SOPs (Skio, Stay AI,
Recharge, Shopify Analytics, Klaviyo)
- Manage invoicing and accounts receivable through ---------- : send invoices,
follow up with clients on overdue payments, maintain the invoice calendar
- Manage employee and client contracts, SOWs, and our internal file system
(keep it clean, named consistently, easy to find)
- Manage the CEO's calendar: schedule client calls, internal meetings, block
focus time, prevent double-bookings
- Triage the CEO's inbox: flag what needs his attention, reply to the rest
using templates and your judgment

Client Operations
- Onboard new clients: request Shopify / Klaviyo / Skio / Stay AI / Recharge
/ GA4 access, send welcome packets, schedule kickoff calls
- Prep the CEO before every client call: pull the latest reports and have them
ready so he walks in loaded
- Turn Fireflies / Granola meeting transcripts into action items, log them in
ClickUp, send recap emails to clients
- Triage client Slack channels and emails: flag what needs the CEO, answer the
rest with our templates
- Build the shell of monthly business reviews and QBRs (you do the data pull
and slide structure, CEO fills in strategy)

Bookkeeping & Accounting
- Categorize transactions, reconcile accounts, capture receipts
- Prepare monthly P&L and cash flow snapshots for the CEO
- Coordinate with our external CPA at tax time
- Track contractor payments and 1099 documentation

LinkedIn Management (CEO's account)
- Schedule and post 4-5 LinkedIn posts per week (we have a content system and
Claude skill that drafts them, you finalize and schedule)
- Reply to comments and DMs in the CEO's voice
- Engage daily with target accounts (founders, DTC operators)

Internal Team Ops
- Keep ClickUp clean: create tasks, set due dates, chase status updates,
produce a weekly capacity report
- Onboard new contractors: NDAs, access, payment setup
- Update SOPs and our Claude skills library when processes change

Sales Support
- Format proposals and SOWs on-brand
- Follow up on open proposals and warm leads
- Pre-call research on prospects (their store, current subscription setup,
retention stack) before every discovery call

CEO Leverage
- Light personal admin and travel booking
- Receipt and expense capture
- Weekly portfolio dashboard so the CEO sees all clients at a glance
WHAT WE NEED (NON-NEGOTIABLE)
- Heavy experience using AI (specifically Claude) to build processes,
SOPs, and skills. You should be able to write a Claude skill from a
Loom video of a workflow. This is the most important requirement.
- 3+ years as an executive VA, ops manager, or chief of staff for a
US-based business
- Strong written English. You'll be writing on behalf of the CEO daily.
- Comfortable with ---------- , Shopify admin, Klaviyo, ClickUp, Slack,
Google Workspace, Fireflies, LinkedIn
- Bookkeeping experience (QuickBooks or Xero)
- Available for 40+ hours per week with at least 4 hours of daily
overlap with US Eastern Time
- Detail-obsessed. If a client has an overdue invoice, you notice
before we do. If a contract is missing a signature, you catch it.
- High agency. You don't wait to be told what to do once you understand
the system.

NICE TO HAVES
- Experience in a marketing agency or DTC ecommerce environment
- Familiarity with Skio, Stay AI, or Recharge
- Experience writing on LinkedIn

WHAT YOU GET
- Full-time, long-term role (we want you here for years, not months)
- Competitive Salary
- 13th month pay
- Paid Philippine holidays
- Direct mentorship from the CEO on AI, ops, and how a real agency runs.
This role will turn you into one of the most operationally skilled VAs
in the Philippines.
- Annual performance review with raises tied to results

HOW TO APPLY
Send a message with the subject line: "Boring Ops [Your First Name]"
In your message, include:
1. A 60-90 second Loom video introducing yourself and walking through one
process you've automated or improved using Claude or another AI tool
2. Your resume
3. One sentence on what you think the hardest part of this role will be
4. The phrase "I read the whole post" at the bottom so we know you did

Applications without a Loom and without that phrase will not be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0370
Total Execution Time  0.0382
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,521,768 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Time-Executive-VA-Chief-of-Staff-for-DTC-Retention-Agency-Must-Be-AI-Fluent-1634057
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0314 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1634057
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 929157
 LIMIT 1 
0.0237   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1634057
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-21',ej.date_added) duration_daysDATEDIFF('2026-06-21',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1634057' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1634057 
0.0017   UPDATE employer_jobs SET hit_counts '***Apr-28-2026=705***Apr-29-2026=98***Apr-30-2026=66***May-01-2026=21***May-02-2026=17***May-03-2026=12***May-04-2026=15***May-05-2026=5***May-06-2026=5***May-07-2026=5***May-08-2026=12***May-09-2026=4***May-11-2026=9***May-12-2026=10***May-13-2026=8***May-14-2026=4***May-16-2026=3***May-18-2026=6***May-19-2026=2***May-20-2026=5***May-21-2026=1***May-22-2026=14***May-24-2026=2***May-25-2026=2***May-26-2026=2***May-27-2026=1***May-28-2026=1***May-29-2026=4***May-30-2026=2***May-31-2026=1***Jun-01-2026=16***Jun-02-2026=9***Jun-03-2026=1***Jun-04-2026=6***Jun-05-2026=1***Jun-06-2026=3***Jun-07-2026=1***Jun-08-2026=1***Jun-09-2026=2***Jun-11-2026=2***Jun-12-2026=3***Jun-15-2026=1***Jun-18-2026=3***Jun-19-2026=2***Jun-20-2026=1***Jun-21-2026=1' WHERE job_id'1634057'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=867***May-2026=173***Jun-2026=53' WHERE job_id'1634057'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1634057' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1634057 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '929157'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)