shouldivibecodeit

Should I vibe codeTeachable?

Online course platform for creators to sell lessons, coaching, and digital products

Selling a course means owing access to it for years. Your side project does not have years in it.

?

Their verdict, the Starter price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-03.

Can you build it?asked by canivibecodeit.com ↗KINDAweekend project · multi-day
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usABSOLUTELY NOTthe thing you break isn’t code.

The honest answer

why the verdict is what it is

Stripe Checkout makes taking the money easy and safe. What is neither is everything after: entitlements, refunds, chargebacks, and a video library that has to still be there in 2029.

What actually breaks

not "if". the specific failures.

  • Video hosting costs that arrive monthly forever against a payment that arrived once, three years ago
  • Signed media URLs that expire, on content someone bought lifetime access to
  • A chargeback at day 110 with no record that the buyer ever watched anything
  • The bus factor, which is one, on a library students are told will be there next year
  • Storage lifecycle rules that quietly move the 2027 cohort's videos to a tier that takes hours to restore
and then, at 3am

Someone emails about the course they bought in 2027. They have the receipt. They have the login. What they do not have is lesson four, because eighteen months ago you moved the bucket to cheaper storage, the lifecycle rule archived anything untouched for a year, and lesson four is the one nobody had opened. It is retrievable, in twelve hours, for a fee. Their message is polite. It is also completely reasonable, and there is no support team standing between it and you.

Is that you?

the verdict is a default, not a law

ship it if
  • The course is free, and access is a link rather than an entitlement
  • Payment is one-off through hosted checkout and the content is a zip file they download and keep
  • The obligation ends at the point of sale because they now hold the files
don’t ship it if
  • You are promising ongoing or lifetime access to streamed content
  • The videos live only in your infrastructure
  • You have not budgeted hosting for the full period you are promising
  • A chargeback would find you with no evidence of delivery

If you build it anyway

the checklist, then the prompt that enforces it

  1. Sell downloads rather than streams where you can. A file the buyer holds ends your obligation; a stream extends it for years.
  2. Never store card data. Hosted checkout only, and keep the processor's receipt as your evidence of sale.
  3. Log every lesson view with a timestamp. This is the delivery evidence that decides a chargeback dispute.
  4. No storage lifecycle rules on purchased content, ever. Cheap storage that takes twelve hours to read is not storage for something someone paid for.
  5. Write the access promise down precisely — 'lifetime' or '24 months' — and price the hosting for that period before you sell one seat.
  6. Signed URLs are short-lived by design, so the player must refresh them. Test that a lesson opened for two hours does not die mid-video.
the guardrail prompt
Before you write any code that sells access to content, apply these and push back if I ask you to break them.

1. Ask me first what access I am promising and for how long. Make me write the
   exact words — 'lifetime', '12 months' — into the README, then tell me what
   hosting that content for that period costs. A one-time payment against an
   open-ended obligation is the core problem with this project.
2. Prefer selling downloadable files over streaming. Explain that when the
   buyer holds the file, my obligation ends at the sale, and when they do not,
   it continues for as long as I promised.
3. Never let card data touch my server. Hosted checkout only.
4. Log every content view with user, lesson and timestamp, and retain those
   logs for at least 180 days. Tell me this is the evidence that answers a
   chargeback, which can arrive four months after the sale.
5. Do not apply storage lifecycle or archival rules to purchased content. If I
   ask for cheaper storage, refuse for anything a customer has paid for and
   explain restore latency.
6. Media URLs must be signed and short-lived, and the player must refresh them
   mid-session. Write a test for a session longer than the token lifetime.
7. Entitlement checks fail closed. An error denies access rather than granting
   it.
8. Build refund handling before launch, including what happens to access when
   a refund is issued.
9. Write a paragraph in the README titled 'what happens if I stop' that says
   how buyers get their content if this shuts down. If I cannot answer it,
   tell me I am not ready to sell.
10. Then tell me $39 a month is less than the storage bill plus one dispute,
    and that the platform is also the thing that outlives my interest.
paste this before you build — not after something breaks27 lines · 1737 chars

That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.

their build prompt ↗

Or don’t build it

the boring option, and the way back out

just pay for it

If you are charging for it, buy it. $39 a month buys hosting, a player, entitlement, refunds and dispute evidence — and, more importantly, it keeps working during the year you lose interest in the course but your students have not. The obligation outlasts the enthusiasm; the platform is how you honour it.

$39/mo is cheaper than your weekend.

your exit plan, if you already built it

Give every buyer a downloadable copy at purchase, so shutting down is an inconvenience rather than a breach of what you sold. Keep content in a plain bucket with a documented layout and the enrolment list exportable as CSV, so moving to a real platform is an upload and an import rather than a rebuild.

prior art · someone already did this
Moodle

Mature open-source learning management system; powerful but heavier than Teachable.

Questions

How long can a chargeback actually arrive after the sale?

Card scheme rules commonly allow 120 days from the transaction or from the expected delivery date, and for a course sold as ongoing access the clock can be read generously. That is why view logs matter: months later, the only thing that distinguishes a delivered course from an undelivered one is a record that they watched it.

What if I sell it as a downloadable bundle instead?

Then most of this verdict evaporates, which is why it is the first SHIP IT condition. The buyer holds the files, your hosting obligation ends at download, disputes are answerable with a delivery log, and shutting the project down harms nobody who paid you.

sources
  • PCI DSS — official standards library
  • Stripe — how Checkout reduces your PCI scope
did you build it?

Every week, someone ships something they shouldn’t have.

New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.

also on the regret index
KajabiABSOLUTELY NOT

Courses, community, email and payments. Pick one to vibe code. Not four with a checkout attached.

last reviewed 2026-08-03 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice