# The Content Calendar

**Live version:** recruitergtm-calendar.vercel.app. Open it before you build, so you know what you are aiming at.

**Where to run it:** Claude Code, or the Claude app with a project folder.

**You do not need this file.** Everything below the line is the prompt, and it is the same text that is on the slide. Copy it from either.

---

You are building me a mini app called the Content Calendar. One HTML file, runs in the browser.
No database, no login, no server, no API key.

The job: I never decide in advance what I am posting, so I stop posting. This app decides the week
for me, lets me approve what I like, and puts it on a calendar with a date against it.

STAGE 0 - READ WHAT I ALREADY HAVE. Look for brand.json in this folder and use my colours, logo and
font. If it is missing, ask me for them and write brand.json yourself. Then ask me ONE question and
store the answer: what do I recruit, in one phrase, for example "fintech sales" or "construction".
Every topic you ever suggest gets written around that phrase, so never ask me again.

STAGE 1 - BUILD IT. One index.html, CSS and JS inline. Two halves.

  LEFT, THE QUEUE. Three states and only three, the same three my task system uses:
    idea       = in the queue, no date on it yet
    scheduled  = has a date, so it shows on the calendar
    posted     = published, ticked off
  A topic enters as a suggestion awaiting my approval, becomes an idea when I approve it, becomes
  scheduled the moment I put a date on it. Each card shows the hook line, the channel and the pillar.
  Channels: LinkedIn, newsletter, YouTube, Skool, podcast, other. Pillars, five of them, each with
  its own colour: Market insight, How it works, Opinion, Story, Proof with numbers.
  A box to add my own topic straight into the queue.

  RIGHT, THE CALENDAR. Four weeks, Monday to Friday, this week first, today's cell outlined. Each
  scheduled post sits in its day, colour-coded by pillar, showing the hook and the channel. Click one
  to mark it posted, which greys it and strikes it through. Empty weekdays say "nothing planned" in
  faint text so the gaps are obvious from across the room.

  UNDER THE CALENDAR, the counts: planned this week, planned across four weeks, posted, and one count
  per pillar. Any pillar sitting at zero turns amber. Under that, one sentence naming the pillars with
  nothing planned, because that is the gap my audience notices first.

STAGE 2 - THE SUGGEST BUTTON, which is the reason I would open this. One button, "Suggest this week".
It proposes five topics, one per weekday, Monday market insight, Tuesday how it works, Wednesday
opinion, Thursday story, Friday proof with numbers. Every topic is written around the phrase I gave
you in Stage 0. It weights towards the pillars I have been quietest on over the last four weeks, and
it never suggests a title already in my queue or already posted. Each suggestion shows WHY it picked
that one, naming the real count, for example "you have posted nothing under Opinion in four weeks".
I approve the ones I like and bin the rest. Approved ones drop into the queue with no date, and I
give each a date when I am ready.

Be honest with me about what that button is. It is a bank of angles plus the gaps in my own plan, not
a model writing fresh ideas. So also give me a second button, "Brief for Claude", that copies out a
prompt containing my niche, everything I have planned or posted in the last four weeks, and my count
per pillar, asking for five new topics weighted to my quiet pillars, one per weekday, with the rules
that it must not invent statistics or client names and must not repeat anything on my list. I paste
that into Claude and bring the answers back into the queue. Say on screen which button does which.

STAGE 3 - HOW IT BEHAVES.
  Everything saves to the browser as I type. Closing the tab loses nothing.
  An export button that downloads the lot as CSV.
  It opens in under a second and works on my phone. If a choice makes it heavier, take the other one.
  Keyboard: Enter adds the topic I am typing.

STAGE 4 - THE RULES YOU DO NOT BREAK.
  Never write the posts. This plans the week, it does not draft the content.
  Never invent a statistic, a client name or a result inside a suggested topic. Angles only.
  Never suggest a topic I have already got. Check the queue and the posted list every time.
  No streaks, no badges, no motivational lines. I am running a business.

STAGE 5 - PROVE IT WORKS. Fill it with one sample week, clearly labelled, with a button that clears
it. Then use it yourself: press suggest, approve two, date them, check they appear on the right days,
check the pillar counts and the gap sentence update, and mark one posted. Fix what is awkward before
you show me. Tell me the three things you would add next and wait for me to pick.

STAGE 6 - PUT IT ONLINE. Walk me through Vercel one step at a time, waiting after each: free account,
npm i -g vercel, vercel from this folder, then vercel --prod. Confirm the address opens. If it asks
for a login, deployment protection is on, so tell me where to switch it off. This one holds my own
plan rather than a client's, so ask whether I want it private, and set that up if I do.
