Courses, professors, payments and pages: the build plan (5 November 2026)

This plan covers everything in three inputs, and we build all of it:

The open product questions left from October are decided here too, and built.

Nothing is cut, nothing is left for later, and nothing waits on a launch date. Three rules make that possible:

The wireframe is the design base. Every screen is aligned with how LinkedIn does it, or, where LinkedIn has nothing similar, with Maven, Outschool, Coursera, Google Classroom and Google Meet. Those are design references only; nothing connects to them.

Related notes:

Nothing is built yet: no branches, no code.

The one-minute version

Courses are how Thnkrr makes money. A professor gets a personal invite and sets up a profile and a course in about ten minutes. Meanwhile, our team clears them:

Once all three are done, the Verified badge goes on and the course can be published.

Each course can be "open" (students enrol straight away) or "by application" (our team picks, with a waitlist). A place is paid for in one of three ways:

The parent always agrees to the classes being recorded.

Live classes run inside Thnkrr on Amazon's Chime video service. That covers host controls, breakout groups, polls, Q&A and live captions. Every recording stays on our own storage.

Students also get:

Partners see a read-only page of outcomes. It never includes messages, work or names.

The email's page and profile changes are built too:

What people pay for: Thnkrr before and after

Thnkrr stays free. Nobody pays to use the network, and there is no premium tier, no ads and no paid features. Money buys exactly one thing: a place for one student in one course. A place is $249 for the first course (the default from the CEO's outline; staff can change any price). It covers the whole course.

Who pays:

The money goes to Thnkrr, and Thnkrr pays the professor and the teaching assistants through the app. Card details stay with Stripe, the payment company, and never touch Thnkrr.

How students get a place:

WhoThnkrr todayAfter courses arrive, without payingWhat a paid place gives them
StudentProfile, connections, posts, mentors, school page. All freeAll of that, plus a Courses page to browse courses and professors. They can follow professors and pages. If they choose to show the college they'll attend, it links to that college's pageFor that one course: the live classes with the professor, the recordings for 60 days, the reading list and handouts, coursework with feedback from the teaching assistant and two groupmates, the class discussion, the Q&A board, a group workspace, a list of classmates they can connect with, a certificate that stays on their profile for good, and the partner's fast-track code when there is one
ParentGets one email asking them to agree to their child joining Thnkrr. No accountA parent account (sign in with an email link or a passkey) showing their children's coursesPays by card, Apple Pay or Google Pay. Gets receipts, class times, attendance, assignment names and progress, and consent records. Can withdraw and ask for a refund, and choose their notifications, including texts. Never sees their child's work
SchoolIts students and teachers use Thnkrr free. Its page shows About and PeopleIts page can post to followers. Its teachers can see which students take coursesBuys a block of places on one bill, paid by bank transfer, cheque or card, with its own order reference on the bill. A teacher picks which students get the places. Parents pay nothing
Professor or teaching assistantHas no place on ThnkrrA profile with photo, title, university, bio and a Verified badge, plus a college page that lists them(They don't pay.) They build and teach the course, and Thnkrr pays them through the app
Partner universityNothingNothingA read-only outcomes page and its reports. Never messages, work or names
Thnkrr teamRuns safety and schoolsInvites professors, clears them, approves courses, sets pricesReviews applications, sends school bills, issues refunds and codes, pays professors, runs partner reports. All with buttons in the app

Recording is separate from paying. Every class is recorded, for safety and so students can catch up. However the place is paid for, a parent agrees to recording before the student's first class.

Settings instead of questions

Every policy number lives in one staff "Settings" screen with a default. Changing one is a click, recorded in the audit trail, and never needs a code change. Some settings can be set per course or per partner, where that makes sense.

SettingDefaultPer course / partner?
How students get inOpen (first come, first served) or By applicationPer course
WaitlistOn; a freed place is offered for 48 hoursPer course
Places per class group; groups per course30; 2Per course
Price$249Per course; schools can have their own price
School billFor students actually enrolled, sent a set number of days before the first class (default 7)Per school order
Parent's checkout link holds the place for48 hours—
Refund ruleFull before class 1, half before class 2, none afterPer course
Who can pay for themselvesStudents aged 18 or over—
Free placesA number per course, given after a hardship check, by codePer course
Partial scholarship$99, 6 per course (the wireframe's assumption)Per course
Join opens15 minutes before the class—
Can join without recording consentNo—
Breakout group size and minimum5; at least 4 students, or 1 student with a teaching assistantPer course
Recordings kept60 days after the course endsPer partner
Coursework kept12 monthsPer partner
Watching a recording counts as attendingAt 80% watchedPer course
Finishing the course3 of 4 classes, plus all 4 pieces of courseworkPer course
Peer feedback; video answersOn; on (the spec says switch off if checking them gets too heavy)Per course
File answersUp to 25 MB, PDF and images—
Video answersUp to 2 minutes—
Grades released byThe teaching assistant grades; the professor or course admin releasesPer course
Verified badge lasts24 months, then a re-check—
Follower counts shownPages on, adults on, students offThree switches
Classmates can find each otherDuring the course and for 30 days after—
Texts to parentsOff unless the parent turns them onPer parent
Live captionsOnPer course
Partner reports30 days after the last class; groups smaller than 10 hiddenPer partner
Longest video in a post5 minutes—
Original video files kept30 days, unless they're evidence—
Occasional-bully check3 refused messages in a week puts the person in front of a moderator—

Who does what while we test

We run the whole thing ourselves, first on the laptop and then on dev.thnkrr.com:

None of this needs anyone outside the team, and every outside service has a test mode we set up ourselves:

ServiceHow we test it
PaymentsA Stripe account in test mode, opened by us: test cards, test bank transfers, test invoices, test payouts and test tax. The live mode needs the company's details later
VideoReal Chime rooms on dev, in our AWS account; fakes on the laptop
CaptionsOur own speech-to-text (already running), plus Amazon Transcribe on dev
Texts to parentsAmazon's text messaging in its sandbox, which sends only to our own verified phones
Signing agreementsOur own "type your name and agree" signing, with its evidence log. A signing-company adapter (such as Dropbox Sign) uses that company's free test mode
Background checksOur own "checked under contract" record, which staff fill in. A check-company adapter (such as Checkr) is built and tested against its fake until the company has an account
Emaildev.thnkrr.com already sends only to our own addresses

Every AWS step (turning on Chime, Transcribe, texting, and the new recordings storage) is done with Adarsh's go-ahead for each command, as always.

We also add a pnpm db:seed:courses command, on the same pattern as the rich demo data. It fills dev with:

Decisions we've made

These are ours to make, and easy to change. Each becomes a numbered decision (D-93 onward) when it's built.

  1. Professors and teaching assistants join by personal invite from the team screen (D-89), then set themselves up in about ten minutes. There is no public sign-up.

  2. New account kinds: "professor" and "partner viewer". A teaching assistant is a "professor" account with the teaching-assistant role on a course, or an existing mentor account added as course staff. A person's account kind stays fixed for good (D-64).

  3. A professor is cleared by four steps, which staff track in the app:

    • identity
    • background and registry checks, including state clearances such as Pennsylvania's Act 153
    • a signed agreement and the code of conduct
    • payout details

    The founder's "we handle verification under contract" is the built-in way to clear the checks: staff record the result. A check company can do it instead, through its adapter.

  4. The Verified badge is a shield next to the name, separate from the school tick students already have. Clicking it says "Verified by Thnkrr: background and identity checked, [month year]". It never says "safe". It goes on when every step is clear, and comes off by itself when the re-check is due. It's for professors, teaching assistants and mentors.

  5. Professors can draft before they're cleared, but can't publish, see students or teach until the badge is on.

  6. The professor submits a course and a course admin publishes it (the wireframe's open question 18). The course admin sets price, places, class groups, free places and the partner tag.

  7. A partner tag ("Curriculum by [partner]") shows once staff have approved that partner. It's the university name in text, with no logo.

  8. Parents get accounts. They sign in with an emailed link or a passkey and have a dashboard. Parents who never sign in still get everything they need by email, with single-use links, as the consent email works today (D-68).

  9. Live video runs on Amazon Chime, behind our own adapter. Chime carries only sound and picture. Chat, raised hands, polls, Q&A and breakout moves go through our own server, so every message is checked before anyone sees it. That needs a new live connection from the browser to our server; today the app only checks for updates every 30 seconds.

  10. Breakout groups are separate Chime rooms, each one recorded. Our server only lets a group open with at least 4 students, or 1 student with a teaching assistant. A student can never be alone on video with one adult.

  11. Captions:

    • Recordings get captions from our own speech-to-text (already running) as a WebVTT file.
    • Live captions use Amazon Transcribe. Naman to OK: D-70 says every AI model we deploy runs on Bedrock, and Transcribe isn't Bedrock. With it, we switch on AWS's account-wide setting that stops Amazon keeping or learning from the audio. The accessibility standard (WCAG AA) asks for live captions.
  12. Recordings go to their own locked storage, encrypted with their own key, and expire on the settings above. The video company keeps no copy.

  13. Payments, all through Stripe behind adapters:

    • Hosted checkout for parents.
    • Invoices from the app for schools.
    • Stripe Connect for paying professors and teaching assistants.
    • Stripe Tax, switched on per state when needed.
    • Codes kept in our own tables.
  14. School places are given out by a teacher choosing students from the class list, with a seat counter. A school can also hand out single-use place codes, if it prefers.

  15. Free places and scholarships: the student uploads a hardship document with the application; staff review it and issue a code. The document is kept only until the review is done.

  16. Coursework answers can be written, a file (PDF or images, up to 25 MB) or a 2-minute video.

    • Files go through a new document check. Each page is turned into a picture and run through the picture checks, and its text through the writing check.
    • Videos go through the existing video pipeline, where a person reviews every one.
    • Only the course staff and our team ever see a submission.
  17. Peer feedback: two groupmates give feedback using set prompts, and it's checked like any comment. It's anonymous to the student who receives it, but never to our team.

  18. Each course gets a class discussion, a separate Q&A board (questions, upvotes, answered and unanswered filters, the professor's answers highlighted) and surveys (before the course, a two-question check-in after each class, and an end-of-course survey).

  19. Group workspace for each group of five:

    • a shared plan document that everyone can edit at once
    • a task list
    • a group chat
    • a slot for their presentation

    Everything in it is checked, and the screen says that course staff can read it (the wireframe's open question 15).

  20. Certificates go into "Verified achievements" on the profile, with an "Add to your profile?" prompt where Add is the main button. Each one has a check page.

  21. Fast-track codes: staff generate them per partner and give them to students who finish. Redemptions are tracked.

  22. Partner reports show totals only:

    • enrolled, finished, applications, and joining the partner's programme
    • by area and by household-income band, where the student chose to answer an optional question on the application
    • a safety summary

    Any group smaller than 10 is hidden. Messages, coursework and recordings are left out by how the report is built, not by a filter.

  23. Following:

    • Anyone can follow a page or a professor.
    • A student's followers are their connections, so strangers can't follow a child.
    • Students follow their own school's page automatically, and can unfollow.
  24. Follower counts: three switches (pages, adults, students), with numbers rounded the LinkedIn way. Students start off until Obsinto answers; the switch is one click.

  25. Page posts:

    • A school page's admins can post.
    • College pages are posted to by our team.
    • Posts are checked, and shown to followers newest first, with no ranking.
  26. "Programs and courses" is the first tab on every page. It lists that school's Thnkrr courses and any outside programmes our team adds, such as a college's summer programme.

  27. A college page appears by itself once at least one verified professor or mentor lists that university.

    • Title: "Professors and mentors from [School] on Thnkrr".
    • The name in text on an optional accent colour, with no logo.
    • Staff can hide one, or set its colour.
  28. Our two college lists are merged into one, so mentors, professors, committed colleges and college pages all point at the same college.

  29. Classmates can see each other's basic card and connect across schools, during the course and for 30 days after. The invitation shows the reason, adults are never suggested, and the usual rule holds: no messages until both accept.

  30. Courses becomes the fifth item in the student menu (after Feed, Mentors, Network and Messages). Mentors, teachers, professors and parents get it in their own menus.

  31. The open October questions, decided:

    • A student's account is marked "graduated" after high school, and they can switch to a mentor account when they start college, checked like any new mentor.
    • Teachers need a school email, or to be vouched for by their school's page admin.
    • A mentor's unlisted college is added when we verify the mentor.
    • Someone under review is hidden from suggestions and search, and can't like or accept requests.
    • The occasional-bully check and the video settings are as in the Settings table.
    • A school's students join through the school's own join link (D-89), a few classes at a time.
    • A person checks every photo and video before anyone else sees it (D-9, as today).
    • Only the Child Safety Lead and the Grievance Officer can ban. A moderator can suspend for up to 7 days. The person is always told why, except in child-safety and intimate-image cases (as built).
  32. Every outside supplier sits behind an adapter, and nothing in our database or screens depends on one (next section).

Every outside supplier is replaceable

Chime, Stripe, Transcribe and anything else we bring in are suppliers. We plug them in, and we can unplug them. Swapping one for the best alternative must never need a database change, a new screen, or a rewrite outside one folder.

The app already works this way for files, email, the AI writing check, picture checks and video captions. Each has one small interface in our own words, one file per supplier, and a fake that the tests run every day:

The courses work follows the same pattern, with six rules.

  1. One interface per job, in our words. Code outside the adapter never loads a supplier's library, and that includes the website. The classroom screen talks to our own VideoRoom interface, and only the Chime adapter loads Chime's library. We draw our own classroom screens rather than using Chime's ready-made kit.

  2. No supplier names in the database.

    • Tables are named for our things: payments, class_rooms, recordings, background_checks.
    • Where we must find the supplier's copy again, a row carries provider (plain text, such as "stripe") and provider_ref (the supplier's ID, as opaque text). Nothing else.
    • Amounts are our own cents and currency, and statuses are our own words.
    • Raw supplier messages go in a short-lived log for fault-finding only.
  3. Our own records are the truth. Our tables hold:

    • who is enrolled
    • holds, refunds and payouts owed
    • attendance and grades
    • when a recording expires
    • each check's result
    • who has the Verified badge

    A supplier only confirms that something happened, and its messages are translated at the door into our own events: "payment succeeded", "refund done", "school bill paid", "payout sent", "class ended", "recording ready", "check clear", "agreement signed".

  4. We keep our own copy, in open formats:

    • recordings as MP4
    • captions as WebVTT
    • certificates and partner reports as PDFs we make ourselves
    • calendars as standard .ics files
    • signed agreements as a PDF with our own evidence log
    • our own copy of every bill
  5. Every adapter has a fake, and one shared test every real adapter must pass. The laptop, the dev demo data and the automatic tests use the fakes. Choosing a supplier is one setting.

  6. The swap test. Replacing a supplier touches only its adapter file, one setting, and at most a one-off copy of files. It never touches a table, a screen or another module.

JobOur interfaceSupplier we start withBest alternativesWhat we keep ourselves
Live video rooms and breakout roomsVideoRooms (server), VideoRoom (browser)Amazon Chime SDKLiveKit (their cloud or our servers), Daily, Zoom Video SDKEach room, who joined and left when, who's allowed in
RecordingRecorderChime recording, with the pieces joined into one fileLiveKit Egress, Daily recordingThe MP4 and its expiry
Live captionsLiveCaptionsAmazon Transcribe through ChimeOur own speech-to-text server; others only with Naman's OK (D-70)—
Captions after classtranscriber (exists)whisper.cpp on our serverAmazon TranscribeThe WebVTT file
Live chat, hands, polls, Q&A, breakout moves, the shared documentLiveChannelA live connection from our own serverWebSockets, Amazon's WebSocket gateway, AppSyncEvery message and edit, in our tables, checked
Parent paymentsPaymentsStripe hosted checkoutAdyen, Braintree, PayPal, SquareAmount, status, place, refunds
School billsInvoicesStripe InvoicingQuickBooks Online, Xero, Bill.comThe order: places, price, order reference, paid or not
Paying professors and teaching assistantsPayoutsStripe Connect ExpressTipalti, Wise, Gusto contractor paymentsWho is owed what, for what, and when it was paid
Sales taxTaxStripe TaxAvalara, TaxJarTax charged on each payment
Background checksChecks"Checked under contract" (staff record the result)Checkr, Sterling, First AdvantageEach check's type, result, date and expiry
Signing agreementsSignaturesOur own type-and-agree signingDropbox Sign, DocuSignThe signed PDF and its evidence log
Texts to parentsTextsAmazon End User MessagingTwilio, VonageEach text sent, and the parent's opt-in
Checking uploaded documentsDocumentCheckPages turned into pictures, then our picture and writing checksAny document-scanning serviceThe check result
Certificates and report PDFsPdfMakerOur own on our serverAny PDF toolThe record and its check code
Calendar feed(no supplier)The .ics open standard——
Files, email, writing checks, picture checksExisting interfacesS3, SES, Bedrock, RekognitionAs in the 10 October auditUnchanged

What a swap really costs. No data moves and no tables change, but the new adapter still has to be written: about one to two weeks for video, about a week for payments, a few days for the rest. The fakes and shared tests add about a week up front, and they save time straight away, because nobody needs a real Chime room or a real card to work on the app.

Where this changes our own safety rules

Thnkrr's founding rules (docs/13, docs/03, docs/04) were written to keep children safe. Several of these features cross them. We build each one deliberately, with its own protection, and the lawyer and Obsinto get the list. All of it goes into the decision log.

The build, in order

Each part is finished and tested (laptop first, then dev.thnkrr.com) before the next one leans on it. The video work starts in parallel with parts 2–6, because it's the biggest piece.

Part 0 · Foundations

Part 1 · Professors and teaching assistants (wireframe D1, E6)

Part 2 · Building and publishing a course (D2, D3, E1)

Part 3 · Finding and joining a course (A1–A6, E2)

Part 4 · Parents (C1, C2)

Part 5 · Money (E3, E7)

Part 6 · Taking the course (B1–B3, B5–B9, D4, D6, D8)

Part 7 · The live classroom (B4, D5, X2)

Part 8 · Finishing (B10, E7)

Part 9 · Reports and partners (D7, E5, F1)

Part 10 · Moderation for courses (E4)

Part 11 · Pages and profiles

Part 12 · The October decisions

Part 13 · Across everything (X1, X3–X5, K1)

Part 14 · Community Guidelines in the app

The wireframe, screen by screen

Changes to every screen:

FrameHow we align it
FA, FB, FC, FD, FE, FF (flow maps)Redrawn to match the build above, with both ways in (open and by application) and all three ways to pay
A1 Courses pageLinkedIn Learning cards (cover, length, professor with badge, Save), filter pills, a one-line heading. Seats left shown as plain text, with no "only 3 left" pressure. No ratings or viewer numbers. "Covered by your school" label
A2 Course pageMaven's order and the box that stays in view. Professor card open, with badge, Follow and a link to their profile. Syllabus download. A note that the certificate goes into Verified achievements. Schedule in your own time zone
A3 ApplicationLinkedIn Easy Apply-style three-step form. Fix the limits to the spec: a 140-character goal and a 600-character paragraph
A4 Application statusEvery state, also shown as a status on each card in My Courses (LinkedIn "My Jobs → Applied")
A5 Parent checkoutConsent inside Thnkrr, then Stripe's own page. Only the wallet the device supports. Free-place and school-paid versions. The phone version of the consent step drawn. The link lasts 48 hours (the frame says 72)
A6 ConfirmationOne "Add to calendar" menu, plus a "Classmates in this course" strip with Connect and the reason
B1 My CoursesLinkedIn Learning "My Library" tabs. A date, not a ticking countdown
B2 Course homeGoogle Classroom tabs, kept the same on phones (scrollable). Announcements as LinkedIn post cards
B3 Session pageThe plan's times jump to that point in the recording. Poll results replay
B4 Live roomGoogle Meet layout, as in Part 7. One right-hand panel, not two. Drawn with about 30 people. Breakout marker. A proper phone layout
B5 AssignmentGoogle Classroom's "Your work" card and Turn in, with written, file and video tabs. Peer feedback with set prompts. Rubric view
B6 Class discussionLinkedIn post cards ("…see more"), a "Start a post" box, one-tap Report, private reactions, pinned posts, the "only you can see this while it's checked" card
B7 Q&A boardCoursera-forum style: upvotes (shown when the count switch allows), answered and unanswered filters, the professor's answer highlighted, a "similar question" check
B8 SurveysOne question per screen on phones. The 0–10 scale in two rows
B9 Group workspaceFive members, a shared plan document that everyone edits at once, tasks with no per-person counts, group chat, presentation slot, and the "course staff can read this" line
B10 CertificateLinkedIn's "Licenses & certifications" card, the "Add to profile" prompt, the check page and the fast-track code card
C1 Parent dashboardAs drawn, plus "Paid by [School]" receipts and the notifications table
D1 Professor onboardingThe ten-minute setup screens first, then the clearance tracker running alongside. The professor sees what's left and who's doing it
D2 Professor dashboardAs drawn, plus the set-up checklist
D3 Course builderTeachable and Udemy-style tabs, with all the builders in Part 2
D4 Class listGoogle Classroom's People view, plus "paid by school or parent". Download without contact details, logged
D5 Live controlsZoom and Meet host controls, plus "Remove from class"
D6 MarkingGoogle Classroom's to-review view: rubric, feedback, Return, Return all, late tag
D7 Reports and D8 AnnouncementsAs drawn. No time-spent-per-student tracking
E1 Course catalogueAs drawn, plus copying a course and approving partner tags
E2 Applications reviewAs drawn
E3 Enrolment and paymentsAs drawn, plus school orders and payouts
E4 ModerationInto the existing review list, with the new sources and the response-time measure
E5 Partner reporting, F1 Partner pageAs drawn, with small groups hidden and the fixed line
E6 Professor and teaching assistant managementAs drawn, using the clearance tracker and Verified switch
E7 Fast-track codesNot drawn in the wireframe. Needs drawing: generate, assign, redemption list
X1 Empty statesAll of them, plus the professor's first-run states
X2 Live room errorsAll six states, plus the "Ready to join?" screen. Remove "follow up through course messages": there are no direct messages
X3 NotificationsLinkedIn rows and a dot. No grade shown in the notification. Every event type the spec lists, plus "classmate wants to connect" and "new course from a professor you follow"
X4 Time zones, X5 AccessibilityAs drawn
K1 ComponentsReuse the app's parts. Add the Verified shield, the "Paid by school" tag, the follower count, the college colour band and the error colour

Screens to draw that the wireframe doesn't have:

Testing

Each part is tested as it's built:

End-to-end journeys we run on dev with real test-mode suppliers:

How big it is

Rough sizes, in person-weeks of work, to help plan who does what. Not a launch date.

PartPerson-weeks
0 Foundations, adapters, settings, live connection3–4
1 Professors, clearance, badge3
2 Course builder and catalogue4
3 Finding and joining, applications4
4 Parents2.5
5 Money3–4
6 Taking the course (including the shared document)7–8
7 Live classroom, with breakouts, polls, Q&A and captions12–16
8 Finishing1.5
9 Reports and partners3
10 Moderation for courses2
11 Pages and profiles4
12 October decisions2
13 Across everything2
14 Community Guidelines page0.5
Testing, stress tests, releases4
Totalabout 58–66

What it costs to run

ItemCost
Live video (Chime: call, recording, joining the pieces)About $4–5 per hour-long class of 30 students plus 3 teachers. Each recorded breakout room adds about $0.25 per 20 minutes. AWS credits pay
Live captions (Transcribe)About $0.60 per class hour
Captions on recordings$0 (our own tool)
Storing recordingsUnder $1 a month per course
Parent payments (Stripe)2.9% + 30¢: $7.52 on a $249 place
School bills (Stripe Invoicing)About 0.4% of the bill (to confirm for the US); bank transfer is small, cheques are free
Paying professors (Stripe Connect)$2 per active person per month, plus 0.25% + 25¢ per payout
Sales tax (Stripe Tax)0.5% per sale, only in states where it's switched on
Texts to parents (Amazon)About a cent per text in the US, plus a monthly number fee (to confirm)
Signing agreements$0 with our own signing; a signing company's fees only if we switch to one
Background checks$0 when done under contract; per-check fees from a check company if used

For scale: one course of 60 places at $249 brings in $14,940. Stripe takes about $450 of that if every place is paid by a parent.

Reply to the founder on video (draft)

Agree it with Naman before sending.

Video. We recommend keeping it inside Thnkrr using Amazon's Chime, as you suggested. There are no outside links. Only enrolled students and the course's teachers can get in, the professor starts and ends the class, and every recording, including small-group breakouts, goes straight to our own storage. Nobody else keeps a copy.

Cost. About $5 for each hour-long class of 30 students plus the professor and two assistants, including recording and live captions. Our AWS credits cover it. At 10 courses a month it's roughly $600 a month; at 50, about $3,000.

Effort. The full classroom, with host controls, breakout groups, polls, Q&A, captions and phones, is the biggest single piece of the courses work. It's about 12–16 weeks of one person's work, and we start it alongside everything else.

What else we looked at. Zoom keeps recordings on its own servers first. Two smaller video companies would be billed as real money, not covered by AWS credits, and would add another company handling children's video. Amazon's other video service can't fit a class of 30.

Can we change it later? Yes. We're building it so the video company can be swapped without changing anything students or professors see.

Risks

Sources

Inputs

Video

Payments

How big platforms do it

●  Have your own?

// Publish your own markdown.

Write your own
Courses, professors, payments and pages: the build plan (5 November 2026) · DocHouse