Procurement & Bid Writing Virtual Assistant — UK Construction Main Contractor

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

TYPE OF WORK

Full Time

WAGE / SALARY

$5-$8 per hour

HOURS PER WEEK

40

DATE UPDATED

May 5, 2026

JOB OVERVIEW

About us
Buildtonic is a UK main contractor delivering commercial and residential projects: fit-out, conversion, new build, refurbishment, and renovation. We are growing our procurement and bid-writing capability and looking for a sharp, organised VA to own the day-to-day of finding, qualifying and drafting responses to UK construction tenders on Constructionline.
The role
This is not a generic admin role. You will become the operational owner of our procurement and bid-writing pipeline, working directly with the company director. You will:
• Search Constructionline daily for tender opportunities matching our criteria, qualify them against a checklist, and log them into our Notion pipeline database.
• Draft answers to UK Pre-Qualification Questionnaires (PQQs) using a bid library and Claude, then submit to the director for review.
• Maintain our bid library — keeping insurances, accreditations, policies, case studies and standard answers current and well organised.
• Track submission deadlines, manage clarification questions, and chase post-submission feedback.
• Provide light supporting admin: enquiry triage into our Notion pipeline, scheduling, document formatting.
Hours and rate
• 40 hours per week, ongoing engagement.
• Working hours: flexible, but at least 4 hours per day must overlap with UK 8am–6pm (midnight to 6am Manila time will not work).
• Rate: $5–$7/hr depending on experience, paid weekly via Wise or Payoneer.
• Initial 90-day trial period at agreed rate, then a permanent rolling engagement.
You are a strong fit if
• Your written English is excellent — not just functional, but clear, careful, and capable of formal business writing.
• You have 2+ years of remote work experience for UK, US, or AU clients.
• You are comfortable working independently with daily check-ins.
• You are comfortable learning a domain (UK construction procurement) — you don't need to know it on day one, but you must be able to learn it fast.
• You are diligent, detail-oriented, and treat deadlines as sacred.
• You are comfortable using AI tools (Claude or ChatGPT) as part of your workflow.
Bonus, not required
• Prior experience working with a UK construction, surveying, architecture or engineering firm.
• Experience with Notion, Slack, Microsoft 365, and AI-assisted workflows.
• Experience drafting bids, proposals, or formal business documents in English.
Tools you will use
• Notion (project pipeline and bid library)
• Slack (daily comms with the director)
• Microsoft 365 / Google Workspace (email, files, calendar)
• Claude Pro or Teams (AI drafting and review)
• Constructionline (tender search and submission portal)
• Hubstaff or Time Doctor (time tracking with screenshots — required)

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0790
Total Execution Time  0.0804
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,792 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Procurement-Bid-Writing-Virtual-Assistant-UK-Construction-Main-Contractor-1639346
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0707 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1639346
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 931614
 LIMIT 1 
0.0641   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` = 1639346
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-24',ej.date_added) duration_daysDATEDIFF('2026-06-24',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-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1639346' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1639346 
0.0016   UPDATE employer_jobs SET hit_counts '***May-05-2026=749***May-06-2026=107***May-07-2026=78***May-08-2026=69***May-09-2026=40***May-10-2026=29***May-11-2026=20***May-12-2026=29***May-13-2026=24***May-14-2026=13***May-15-2026=16***May-16-2026=23***May-17-2026=15***May-18-2026=14***May-19-2026=17***May-20-2026=19***May-21-2026=21***May-22-2026=11***May-23-2026=9***May-24-2026=12***May-25-2026=10***May-26-2026=15***May-27-2026=14***May-28-2026=19***May-29-2026=15***May-30-2026=11***May-31-2026=9***Jun-01-2026=9***Jun-02-2026=17***Jun-03-2026=14***Jun-04-2026=6***Jun-05-2026=12***Jun-06-2026=3***Jun-07-2026=13***Jun-08-2026=7***Jun-09-2026=8***Jun-10-2026=15***Jun-11-2026=4***Jun-12-2026=4***Jun-13-2026=5***Jun-14-2026=9***Jun-15-2026=11***Jun-16-2026=10***Jun-17-2026=14***Jun-18-2026=20***Jun-19-2026=13***Jun-20-2026=3***Jun-24-2026=1' WHERE job_id'1639346'  
0.0005   UPDATE employer_jobs SET monthly_hits '***May-2026=1407***Jun-2026=198' WHERE job_id'1639346'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1639346' 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` = 1639346 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '931614'
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)