Copywriter — Blog, Social, LinkedIn, Email & Web Copy

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

TYPE OF WORK

Gig

SALARY

$250 per content package

HOURS PER WEEK

TBD

DATE UPDATED

Sep 25, 2026

JOB OVERVIEW

JOB OVERVIEW
WHO WE ARE

Citibin designs and manufactures architectural trash and recycling enclosures — the kind you see outside apartment buildings, business districts, parks, and resort properties, replacing the exposed bins nobody wants sitting out front. We're a Brooklyn-based, 100% woman-owned company founded in 2012. Property managers, developers, HOAs, municipalities, and business improvement districts across the country install our enclosures — along with our public litter baskets, bear-resistant enclosures, and package lockers.

THE ROLE

We need a copywriter who can write one strong blog post and turn it into everything else — social captions, a LinkedIn post, email newsletters, and web copy — without any of it feeling recycled or robotic.

Writing skill is the most important thing about this role, more than any tool or AI experience. It's fine to use AI to speed up research or a first draft. It is not fine to hand us an AI draft with the serial numbers filed off. You need to already know what good writing looks like, be able to tell the difference between real writing and AI slop, and know when to throw a draft out and start over by hand.

You'll start with a blog post, then repurpose it down into shorter formats — this is the core workflow of the role, not a one-off task. Each content package pays $250 and includes: 1 blog post, 4 social posts, 1 LinkedIn post, 4 email newsletters, and web copy — all built from that one blog post.

We write and review the whole package together in one batch for efficiency — but the individual pieces don't go out all at once. They get scheduled and released over time by our media agency, so you're writing content meant to hold up over several weeks, not just for a single publish date.

WHAT YOU'LL OWN

Blog-First Content Cascade — $250 per Package

Write 1 original blog post, grounded in real product knowledge and a clear point of view — not generic industry filler
Repurpose that blog post into 4 social media posts
Repurpose that blog post into 1 LinkedIn post
Repurpose that blog post into 4 email newsletters
Adapt that blog post into web copy (landing pages, product pages, and similar)
Write and submit the full package together for review, even though the pieces will be scheduled out and released over time

Writing Quality

Bring real editorial judgment to every piece — AI can assist, but you're the one d ---------- what's actually good
Write in Citibin's voice: direct, concrete, problem-first — no vague hype, no filler adjectives doing the work instead of real sentences
Flag when a topic or draft isn't working rather than pushing out something mediocre just to hit a deadline
WHAT YOU BRING
Excellent, demonstrable writing skills — this is the single most important qualification for this role
A portfolio of writing samples (blog posts, articles, or similar long-form work) that shows your own voice and judgment, not generic AI output
Comfortable using AI tools to speed up your process, but able to tell when AI output falls short and knows how to fix or rewrite it by hand
Experience repurposing one piece of content into multiple formats (social, LinkedIn, email, web) so it reads native to each, not copy-pasted
Strong command of English grammar, tone, and structure
NICE TO HAVE
Experience writing for a B2B, real estate, property management, municipal/government, or design-adjacent audience
Basic SEO knowledge
Familiarity with content scheduling/publishing tools (you won't be the one executing, but it helps to understand the handoff)
HOW TO APPLY

Start your application with TRASH and include 2-3 writing samples (blog posts, articles, or similar) that show your own voice — plus one sentence on how you use AI in your writing process today.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0156
Total Execution Time  0.0175
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,480 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Copywriter-Blog-Social-LinkedIn-Email-Web-Copy-1737666
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0085 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1737666
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 969165
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1737666
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-27',ej.date_added) duration_days, DATEDIFF('2026-09-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-09-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1737666' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737666 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-24-2026=7***Sep-25-2026=466***Sep-26-2026=102***Sep-27-2026=2' WHERE job_id= '1737666'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=576' WHERE job_id= '1737666'  
0.0006   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1737666' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737666 
0.0016   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '969165'
AND `date_added` >= '2022-06-08' 
0.0005   select * from teasers 
0.0003   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)