Course Creation Accountability Group — Cohort 1
Build Know How
Build Know How
Cohort 1 · internal

Course Creation Accountability Group

Your task list, your modules, and the cohort's progress in one place. Pick your name and enter the four-digit PIN Oana sent you.

{{ err }}

This page is for the cohort only — please don't share the link or your PIN. Lost your PIN? Message Oana on WhatsApp.

{{ celebrationEl }}
Build Know How
Build Know How
Cohort 1 · do not share
{{ syncLabel }}
{{ roleLabel }}

{{ greeting }}

One live, usable, tested course by 25 October, with evidence for the next version. Tick a task when it is genuinely done — nothing here is a percentage guess, and only you can tick your own list.

Launch window
{{ daysToLaunch }}
days · live by Sun 25 Oct
My plan tasks
{{ pctAll }}%
{{ doneAllLabel }}
My module work
{{ pctMod }}%
{{ doneModLabel }}
Next session
{{ nextLabel }}
{{ nextFocus }}
My projected launch
{{ projLaunch }}
{{ slipLabel }}
Things to finalize before our next Wednesday meeting

{{ wCountLabel }}

{{ wSubLabel }}
{{ w.ref }}
{{ w.t }}
{{ w.gateLabel }}
{{ w.due }}
My accountability partner
{{ partnerName }}
{{ partnerNote }}
Test + launch wave
{{ waveNote }}
You test your partner's course and they test yours. Anything beyond that is optional.
How every Wednesday runs
{{ c }}
Working agreement
Eight commitments every cohort member accepted in M0.
Protect confidentiality.
Open every call with your 60–90 second status round.
Show evidence, not percentages.
Give useful feedback.
Escalate issues within 48 hours.
Respect scope.
Promote authentically.
Use testimonials only with explicit consent.

Where the cohort is

Everyone sees everyone. Module work is shown as a share of your own modules, so five modules and seven modules compare fairly. This is not a race — it is how we spot who needs help before Wednesday.

Creator
Course
Partner
Plan
Modules
Overdue
{{ r.name }}
{{ r.course }}
{{ r.partner }}
{{ r.pctAll }}%
{{ r.pctMod }}
{{ r.overdue }}
01 — The plan

Your tasks, milestone by milestone

The current milestone is open; the rest are folded away until you need them. Each milestone ends in a gate — if a gate is ticked after its date, every date after it moves by the same number of days, so your plan stays honest instead of staying tidy.

{{ t.id }}
{{ t.name }}
Gate
{{ t.dueLabel }}

{{ t.desc }}

{{ ideaCountLabel }}
You've just passed a milestone. Congrats!
{{ m.exit }}
02 — Your modules

Ten tasks, once per module

Your course has its own modules with its own names, so this list is built from your course form. Name three to six modules there and the ten tasks below repeat for each one, all due by the production gate on 4 October.

{{ t.id }}
{{ t.name }}
{{ t.dueLabel }}

{{ t.desc }}

01
Module 1 — your module name goes here
R.01 · Module objective
R.02 · Lesson map
R.03 · Teaching content
R.04 · Media creation
R.05 · Learner activity
R.06 · Instructions
R.07 · Accessibility
R.08 · Quality check
R.09 · Peer review
R.10 · Module complete

This is an example. Fill in your course form and these ten tasks appear once for every module you name, with your own module titles.

03 — Cadence

Wednesdays, 90 minutes

This calendar shows the shared cohort plan — the dates that apply to almost everyone. Axèle and Esther start producing later in October and follow their own shifted dates, which appear in their own task lists, not here. Weekly through October, then two November reviews and monthly support to February. Every session has one focus and you leave with one commitment.

{{ zoneHeading }}
{{ z.flagEl }}
{{ z.day3 }} {{ z.time }}
Wednesday cohort call
Date that matters to everyone
Done
Hover a marked day for the detail.
{{ mo.label }}
{{ d }}
{{ c.day }}
{{ c.mark }}
{{ i.date }}
{{ i.title }}
{{ tooltipEl }}
04 — Facilitator · visible to Oana only

Feedback, slippage, and what everyone is building

Feedback inbox
{{ fbUnseenLabel }}
Nothing submitted yet. Every submission arrives here as “name — date”, closed, marked Not Seen.
{{ fl.k }}
{{ fl.v }}
Testimonial photo
{{ f.photoEl }}
Status
Overdue across the cohort
Past its due date and not ticked. Dates include each person's own timeline shift.
Nobody is behind. Rare and worth saying out loud on Wednesday.
{{ o.name }}
{{ o.count }} overdue
Module load — is it deliverable?
Each person's module deadlines are spread across their own production window. Anything under 1.6 days per module is flagged — that is a scope conversation, not an effort conversation.
No course forms in yet, so there is nothing to assess.
{{ fe.name }}
{{ fe.count }}
{{ fe.note }}
Projected launch dates
Each person's own date, re-calculated from the gates they have actually closed. A gate ticked late moves every date after it.
{{ l.name }}
{{ l.launch }}
{{ l.note }}
Course forms submitted
No course forms yet. Each new submission overwrites the last, so this always shows the current version.
{{ c.name }}
updated {{ c.updated }}
{{ c.mainTitle }}
{{ c.nicheTitle }}
ICP{{ c.icp }}
Modules{{ c.modules }}
Wiring this to Cloudflare
Right now every tick, course form and feedback entry is saved in the browser it was typed in — good enough to demo on Wednesday, not good enough for a real cohort view. Same stack as the summit hub: Pages + one Worker + D1, and R2 for testimonial photos.
Three things to do
1 · Create the D1 tables on the right and seed participant from plan-data.js.
2 · Put the Worker on groups.buildknowhow.net/Course-Creation-C1/api/*. It checks name + PIN against participant.pin_hash and sets a signed cookie carrying pid and role.
3 · In store.js, swap each localStorage line for the fetch already written in the comment above it.
The rule that matters: the Worker must take pid from the cookie, never from the request body. That is what stops one person ticking another person's tasks. Only role=facilitator may read the feedback table or write a timeline shift.
D1 schema
participant(pid PK, name, pin_hash,
  role, topic, shift_days DEFAULT 0)

progress(pid, task_id, done INT,
  done_on TEXT, hours REAL, note TEXT,
  PRIMARY KEY(pid, task_id))

course(pid PK, main_title, niche_title,
  icp, modules_json, updated_at)

feedback(id PK, pid, submitted_at,
  unclear, stuck, rating INT,
  quote, quote_name, wants_video INT,
  consent INT, other,
  photo_key, status DEFAULT 'Not Seen')
Photos go to R2 as testimonials/<pid>/<id>.jpg; D1 keeps only the key. Video testimonials are not stored — the form just records who is willing and you follow up yourself.
Is D1 enough?

Yes — comfortably, and it is the right choice rather than a compromise. Sixteen people × roughly 170 tasks each is about 2,700 rows in progress, plus 16 course records and a few hundred feedback rows over six months. That is a few megabytes against a 10GB ceiling, and the whole cohort dashboard is one indexed query. D1 also gives you 30-day point-in-time recovery, which matters more here than raw capacity: if someone bulk-unticks their list by accident you can wind the table back.

The rule to hold: D1 stores facts and keys, never files. Testimonial photos go to R2 and D1 keeps the object key. Putting images in the database is what turns a fast table into a slow one.

Four things to get right

Index for the read you actually do. progress(pid, task_id) as primary key covers the personal list; add INDEX(done) for the cohort roll-up.

Add cohort_id now. When this becomes a paid product you want cohort two in the same database, not a second deployment. Retrofitting a tenant column later is the expensive version.

One write path. D1 is single-writer; at this scale that is irrelevant, but keep every write behind the Worker so ticks can't race.

Weekly export. A scheduled Worker dumping JSON to R2 costs nothing and means the cohort's six months of evidence survives any mistake, including mine.

© 2026 Build Know How · Course Creation Accountability Group, Cohort 1 · internal, please don't share
Privacy
My course

What you are building

Saving replaces what you sent last time, field for field, and rebuilds your module task list. Change your module names later and the tasks follow — anything you have already ticked stays ticked.

Course modules
Three to six. Numbered for you.
{{ moduleCapNote }}
{{ m.num }}
{{ courseHint }}
Privacy · plain language

What we store about you, and why

What is saved

Your name and your four-digit PIN. Which tasks you have ticked and when. The time you record against a task and the note you write with it. Your course form — title, who it is for, your module names. Ideas you park for the next version. Feedback you send to Oana. That is everything.

Why

Only to run this group: to keep your plan dated correctly, to build your module task list, and so that Oana can see before Wednesday who needs help. The time and notes exist to make the next version of this programme realistic — not to judge anyone's pace.

Who can see it

Everyone in this cohort sees the shared progress table — names, course titles, and how far along each person is. Oana additionally sees your course form and your feedback. Your parked ideas are yours alone. Nothing is shared outside this group, nothing is sold, and there is no advertising or tracking of any kind on this page.

Where it lives, and for how long

In a private database on Build Know How's own Cloudflare account, plus a copy in your own browser so the page works offline. It is kept while the cohort runs and for the review afterwards, then deleted. Ask Oana at any time to see everything held about you, to correct it, or to delete it — and it will be done.

Two honest cautions

The PIN keeps things tidy; it is not bank-grade security, so please do not put anything confidential in a note. And never paste a learner's personal details into this page — keep those in your own course platform.

Version 2 · only you see this

Ideas for the next version

Anything you decided not to build now goes here, so it is not lost and not in your way. Everything you have parked is listed underneath.

{{ ideaHint }}
{{ ideaCountLabel }}

Nothing parked yet. The first one usually arrives the moment you cut something.

{{ i.category }}
{{ i.title }}
{{ i.when }}

{{ i.detail }}

Feedback · goes only to Oana

Tell me what to fix

Sent — thank you. It is in Oana's inbox marked Not Seen, and it will shape next week's list. You can send another any time.

Every field is optional. Send it half-finished if that is what you have — this group is a proof of concept, and the awkward feedback is the useful kind.

This week's session
1 = wasted my time · 5 = worth clearing the evening for
Testimonial — only if you want to
A photo of you (JPG or PNG)
{{ photoLabel }}