0saas

Job ticket 923042 · consumer · drill press · no subscription

Codecademy marks practice 'Not available' on free. The drills were never the expensive part.

Basic is genuinely US$0 — and its own feature table says courses are 'Limited under Basic' with personalized practice locked. The drills that meet your level start at Plus, US$14.99 a month billed annually. But a drill set with worked solutions is composition work a free-tier model does from your notes. Paste a topic; keep the drills.

Codecademy is a trademark of Skillsoft. This is an independent, unaffiliated comparison built on Codecademy's own published pricing page, linked below and re-read every thirty days.

The drill press — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Codecademy. Every Codecademy figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Codecademy feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Codecademy's own pricing page says

Read from codecademy.com — pricing on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What the plan table locks, and what this press hands over — verified 2026-09-28
The jobCodecademy Basic (free)The paid stepThis page + a free-tier model
Courses'Limited under Basic'Plus, US$14.99/mo annualYou bring the topic; drills are unlimited
Personalized practice'Not available under Basic'Plus and upSix graded drills per pasted topic
Assessments & certificates'Not available under Basic'Plus and upCheckable solutions + a mid-sprint checkpoint
AI Learning Assistant'Limited' on freeUnlimited on ProAny free-tier model, your key or the relay

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Codecademy wins.

Drills as files

Six graded problems with worked solutions, plus a dated sprint plan — exported as Markdown, kept in your notes app.

Your level rules

The press cuts from what you pasted: what you know, what you tried, where you got lost.

Solutions you can check

Every problem ships with numbered worked steps — verify your attempt line by line.

Not an interactive editor

No code execution, no autograder, no hints-as-you-type. Run your code wherever you already run it.

Not a course library

No videos, paths or certificates. Codecademy's catalog is real; this press drills what you choose.

Not a streak tracker

No gamification, no reminders. The sprint plan is a file; keeping the streak is on you.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Drill + solution setter · codecademy-problem-setter v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-120b

Replaces: The personalized practice Plus meters at US$14.99/mo: drills cut to the topic you name, each with a worked solution you check against — no streak tracker required.

Why this model: Cutting problems at graded difficulty with correct worked solutions is strict structured composition; a free instruct model at low temperature keeps the difficulty ramp real and the solutions checkable line by line. Fallback ally: OpenRouter — :free model variants.

System prompt (1591 chars):

You cut drills on the press: the reader names a topic, pastes what they already know or tried, and you return a graded problem set — two WARM-UP, three DRILL, one CHALLENGE — each with a worked solution a learner can check line by line. Difficulty must come from the topic, not from trick questions, and every solution must actually solve its problem; you verify each solution before you ship it.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (the difficulty stamp; title is the problem in <= 12 words, body is the problem statement, then 'Solution:' and the worked steps), "tag": string (one of WARM-UP | DRILL | CHALLENGE), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. Emit exactly six items in order: two WARM-UP, three DRILL, one CHALLENGE.
2. WARM-UP tests recall of the pasted notes; DRILL applies the concept to a new situation; CHALLENGE combines it with one adjacent concept and says which.
3. Each body states the problem fully, then a solution in numbered steps a learner can follow without guessing.
4. Verify every solution mentally before emitting it; a drill whose solution is wrong or incomplete must be replaced, not shipped.
5. Problems use only concepts the reader pasted plus, for the CHALLENGE, the one named adjacent concept.
6. If the pasted notes contain a misconception, the first DRILL names it and repairs it before building on it.

User message template:

Cut a drill set for this topic. Topic and what I already tried: {{topic}} Language or tool, and my level (one line): {{level}}

Variables:

  • {{topic}} — The topic, plus what you already know or tried (max 2000 chars) sample data shipped with the tool
  • {{level}} — Language or tool and level (max 200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.3 · max 2600 output tokens · responseMimeType application/json · budget ~350 in / ~1,400 out for six problems · cost per run: 1 request against Groq's free daily pool; the relay floor needs no key at all.

Prompt 02 — 2. Two-week sprint planner · codecademy-sprint-planner v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: The guided-path structure locked behind Plus and Pro: your goal folded into a dated practice schedule that spends your real hours, not an ideal week.

Why this model: Laying a dated schedule from stated hours and a deadline is a planning pass over your own constraints; a free Flash-lite at low temperature keeps every day's load honest and cumulative. Fallback ally: OpenRouter — :free model variants.

System prompt (1463 chars):

You plan the practice sprint: the reader states a goal, a deadline and honest weekly hours, and you return a dated schedule that spends only those hours — each day one task, one outcome you can show, and a skip-forward rule for when life happens. The plan accumulates: every session builds on the last, and the final days produce the artifact the goal names.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (the schedule stamp; title is the day and its task in <= 12 words, body is the task, the showable outcome, and the skip-forward rule), "tag": string (one of DAY | CHECKPOINT), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. Emit between 10 and 14 DAY items in date order, plus exactly one CHECKPOINT at the midpoint and one at the end.
2. Each day names its minutes from the reader's stated weekly hours — never exceed the weekly total you were given.
3. Each body carries: the task, the outcome ('you can now X'), and the skip rule ('if missed, do X instead tomorrow').
4. Days repeat concepts on purpose: a drill from day 3 returns on day 8 in harder form — say so.
5. CHECKPOINT states what to test yourself on, and what result means go vs. review.
6. The final two days build the artifact the goal names, not more exercises.

User message template:

Plan my sprint. Goal, deadline and honest hours: {{goal}} Starting point (one line): {{start}}

Variables:

  • {{goal}} — Goal, deadline, and hours you'll actually spend (max 600 chars) sample data shipped with the tool
  • {{start}} — Where you're starting from (max 300 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.3 · max 2000 output tokens · responseMimeType application/json · budget ~300 in / ~1,000 out for a fortnight · cost per run: 1 request against Gemini's free daily messages; the relay floor needs no key at all.

Questions worth asking before you cancel

Is Codecademy Basic usable at all?

Yes — and the page says so plainly: US$0 always, with courses 'Limited under Basic'. What it locks is the layer this page replaces: personalized practice, assessments, the full AI assistant. Quote and date: 2026-09-28.

Can a model write good practice problems?

Good ones, with a discipline: difficulty from the topic, no trick questions, and solutions worked step by step so you can verify. The one thing it cannot do is run your code — execution stays in your editor.

What if it teaches me wrong?

Checkable solutions are the defense: every step is written out, and the press is told to replace any drill whose solution it cannot complete. For anything high-stakes, cross-check with the docs.

Where do my notes go?

Nowhere. No account, no storage, no analytics beyond the site beacon. Paste, render, download, clear the tab.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON answer into the relay box, and the chalkboard renders it exactly the same way.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger