The player around a class is a sitting's work: lessons in order, resume where you stopped, notes with timestamps, a project log and a streak. What a Skillshare membership sells is the library, thousands of classes from more than 9,000 teachers, recorded, edited and licensed to the site, which no prompt can produce. The useful build is a tracker for free courses (YouTube playlists, open courseware), which gives structure and a record of your projects but none of the classes.
Before you buildSkillshare has a 7-day trial and no free plan on the pages we read. MIT OpenCourseWare and freeCodeCamp are free, and a tracker like this makes them easier to stick with.
Build me a personal class tracker to follow free video courses the way I would use Skillshare. Requirements: - Python 3.12 + FastAPI serving plain HTML pages with a little vanilla JS on http://127.0.0.1:4930. `python -m classes` starts it. - Add a course by pasting a YouTube playlist URL. `yt-dlp --flat-playlist --dump-single-json` (metadata only, never download video) fills title, channel, lesson order, durations and thumbnails into sqlite3 at ./data/classes.db. Also accept a list of URLs, one per line, for open-courseware pages. - Lessons play in an embedded YouTube player (IFrame Player API). The page saves the position every 10 seconds and resumes there; a lesson counts as watched at 90% of its length. - Notes: press N while watching to save a Markdown note at the current timestamp. Notes list with time links that seek the player and export to ~/ClassNotes/<course>.md. - Progress: show course percentage, the next lesson, minutes left and a weekly streak; a week counts at 60 minutes of watching, a setting in .env. - Projects: each course has a dated project log with image attachments saved under ./data/projects/<course>/, because the projects are the part worth keeping. - Learning paths: group courses into ordered paths such as "Illustration basics", drag to reorder, and show the next lesson of every path on the home page. - Single user. No accounts, no telemetry, local-first. Outbound calls: yt-dlp metadata fetches and the YouTube player itself, both named in the README. - Out of scope: downloading or re-hosting videos, recommendations, a community, certificates and a mobile app. - README: free sources to try (MIT OpenCourseWare, freeCodeCamp, channel playlists), the YouTube terms caveat for embedded playback, and a plain note that this tracks classes and does not replace Skillshare's catalogue.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Skillshare.
Add search to the class tracker in this folder. Requirements: - Index every note and project entry in a SQLite FTS5 table and add a search box on the home page with results grouped by course, showing a snippet and the timestamp. - Clicking a note result opens the lesson at that time. - Rebuild the index with `python -m classes reindex` and keep it updated when notes change. - Add tests for search, quoting and deleted notes. Update the README.
Add path drafting to the class tracker in this folder. Requirements: - `python -m classes draft "watercolour basics"` asks an OpenAI-compatible endpoint (LLM_BASE_URL, LLM_MODEL, LLM_API_KEY in .env) for 8 search phrases and an order of topics, then uses `yt-dlp "ytsearch5:<phrase>"` to list candidate playlists with channel and length. - Write the candidates to drafts.md with links; nothing is added to the database until I paste a URL into the add form myself. - Say in the README that the model's suggestions are leads to check, not recommendations.
Add a weekly summary to the class tracker in this folder. Requirements: - `python -m classes weekly` prints and, if NTFY_TOPIC is set in .env, sends minutes watched, lessons finished, notes taken and the next lesson of each path for the last 7 days. - A launchd plist and a systemd timer that run it on Sunday at 18:00. - Stay silent if nothing was watched and the streak is already broken. - Update the README.
A subscription to a whole catalogue of creative classes costs less than buying single courses, and the classes sit in one place with teachers people already follow and projects to post. The free material exists but is scattered, so what people are paying for is someone having already picked and ordered it.
Estimate · Runs locally for free and the courses it tracks are free. The build is token usage on your agent plan, against $167.88 a year for the annual membership.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free trial | $0 | $0 | 7 days of full access for new paid subscribers; payment details required. |
| Membership | — | $13.99 | Unlimited access to classes with no ads, on web and in the iOS and Android apps, with offline viewing, subtitles, transcripts, learning paths and certificates. |
| Teams | custom | — | Company access sold on a separate Skillshare for Teams page, per user and billed yearly. |
New subscribers get a 7-day free trial; payment details are required and the card is charged when it ends.
Not really. A subscription to a whole catalogue of creative classes costs less than buying single courses, and the classes sit in one place with teachers people already follow and projects to post. The free material exists but is scattered, so what people are paying for is someone having already picked and ordered it. The prompt on this page builds the closest honest substitute.
About $13.99 a month on the Annual membership plan, $167.88 a year (checked 2026-10-20).
The classes themselves: thousands of titles from more than 9,000 teachers; Learning paths curated by Skillshare, and certificates and badges for finishing them; Class projects and the community that gives feedback on them; Offline viewing, subtitles and transcripts in the app; Classes with no ads, which the pricing page promises. If any of those matter to you, keep paying.
Yes: MIT OpenCourseWare (free), Khan Academy (free), freeCodeCamp (open source).