How I'd build Curriculum Builder
I'd ship this as a Next.js frontend with a Python FastAPI backend, Postgres for the data layer, Stripe for billing, and Claude's API for the curriculum generation engine. The rough estimate is 150 development hours plus 30-40 for infrastructure, testing, and deployment - so closer to 200 billable hours total at this complexity. That's being honest about scope.
Day-by-day plan
Day 1: Provision the auth schema using Clerk for OAuth and session management, then build the multi-tenant tenant model with proper row-level security on Postgres. Day 2: Wire Stripe billing across the three pricing tiers, handle webhook reconciliation, and test the subscription state machine. Days 3-4: Build the course creation flow - CRUD endpoints for courses, modules, and lessons, plus a React form UI with real-time preview. Day 5: Integrate Claude's API to generate curriculum outlines from a course topic; add a human-review-and-edit interface before publishing. Day 6: Ship the student-facing course delivery UI, progress tracking, and lesson completion logic. Day 7: Build the creator dashboard with cohort analytics, student engagement metrics, and export-to-PDF functionality. Day 8: Automated test coverage on the API (pytest), integration tests on critical paths (payment, curriculum generation), and manual QA of the onboarding flow. Day 9: Deploy to AWS via Dockerized services, set up CloudWatch alerts, and configure Resend for transactional email. By day 10, the product is live and I'm monitoring for errors and performance issues.
What's hard about this build
The main technical risk is curriculum quality. Claude generates plausible outlines quickly, but they're often generic or miss domain-specific nuance. You'll need a UI that makes human editing frictionless - editing should be faster than starting from scratch, or users abandon the tool after the free trial. The second risk is multi-tenant data isolation; a misconfigured Postgres policy or a forgotten WHERE clause on tenant_id tanks security and kills the business legally. Third is payment state reconciliation; Stripe webhooks sometimes arrive out of order, and you need idempotent event handlers or billing breaks. Finally, course structure is deceptively hard. Do you allow flexible nesting, or do you constrain to course > module > lesson? Constraints make development faster but limit market fit; flexibility trades speed for appeal.
What's fast because of AI
Claude accelerates three things here. First, scaffolding the entire FastAPI CRUD layer for courses, modules, and lessons takes maybe two hours of prompting and refinement instead of a day of manual writing. Second, test coverage that would normally take three days can be written and reviewed in four hours - Claude enumerates edge cases I'd miss (timezone issues on lesson deadlines, subscription state transitions, refund scenarios) and generates tests for all of them. Third, copywriting for the product UI comes from Claude in coherent drafts, which saves back-and-forth with marketing. Debugging API issues also compresses dramatically; I paste a stack trace and Claude narrows the problem to a three-line fix in a database query or Stripe webhook handler.
How I'd hand it off
I'd record a 20-minute Loom walkthrough of the admin and creator dashboards, then write a runbook covering deployment, secret management, monitoring alerts, and the process for adding features or fixing bugs. You'd have 30 days of async support via Slack or email to catch any issues post-launch. I'd transfer all credentials through a secure vault, provide documentation for your team on codebase structure and key design decisions, and leave the Linear workspace organized with backlog items for the next phase of features.