The setting

Skylark sells tickets for independent music venues and comedy clubs through a React and TypeScript web app. You are a frontend TypeScript developer on the checkout team, three people supporting about 900 events a month.

Every mission on this path happens at the same company, so context carries over the way it does in a real job: the data you cleaned in mission two is the data the finance lead questions in mission four.

The missions

1. language fundamentalsstarter

Review the intern's ticket utils before Skylark ships them

Skylark's summer intern rewrote the shared ticket utilities and opened a pull request. QA smoke-tested the branch and filed four odd symptoms, but nobody has connected them to the code yet. The rewrite is scheduled to merge Thursday.

You deliver: A written code review that identifies each defect in the utilities, ties it to a QA symptom, and gives a concrete fix.

Scored on: Finds the real defects, Maps symptoms to causes, Correct fixes, Configuration insight.

Working from: utils_review.md, qa_report.md.

2. component logicstarter

Untangle the SeatPicker component before the Friday on-sale

Skylark's SeatPicker is the component every buyer touches, and support logged five strange behaviors this week. A 2,000-seat on-sale for the Harbor Lights festival goes live Friday, and the team lead wants the component understood before then, not patched blind.

You deliver: A component review mapping all five reported behaviors to root causes in SeatPicker and describing the corrected logic.

Scored on: Root causes found, All five behaviors mapped, Correct fixes described, Clear write-up.

Working from: seatpicker.md, support_notes.md.

3. API integrationcore

Plan the checkout client against the new Payments API

Skylark is moving checkout to the payment provider's new v2 Orders API. Last quarter, a naive retry loop against v1 double-charged 31 buyers during a gateway blip, and refunding them cost a week. Finance is watching this migration closely.

You deliver: An integration review of the current client plus an error-handling plan covering every response case in the v2 spec.

Scored on: Current client defects, Every response case covered, Safe retry policy, Buyer-facing behavior.

Working from: payments_api.md, checkout_client.md.

4. state managementcore

Redesign checkout state before the Harbor Lights flash sale

Three open bugs share a theme: Skylark's checkout state contradicts itself. Seat holds live in two store slices, the hold timer lives in a component, and the order total is stored instead of computed. The Harbor Lights flash sale in three weeks will hit this code with ten times normal traffic.

You deliver: A state redesign proposal that traces the three bugs to structural causes and specifies the corrected store shape.

Scored on: Bug root causes, Single source of truth, Derived, not stored, Actionable migration.

Working from: store_shape.md, bug_reports.md.

5. testsstretch

Write the test suite that pins down Skylark's promo pricing

Pricing bugs are the ones that make the papers. Skylark's promo pricing module has no tests, and finance found checkout totals that disagree with the published pricing rules. You have been asked to write the test suite that becomes the module's specification, and to document where the current code fails it.

You deliver: A written test suite for the promo pricing module with exact expected values, flagging every case the current implementation fails.

Scored on: Exposes the fee-discount bug, Exposes the negative total, Exposes the expiry boundary, Suite completeness.

Working from: pricing_rules.md, pricing_code.md.

How the scoring works

Each deliverable is graded against the rubric written for that mission. Separately, every mission on every path is graded on how you used AI, against the same four criteria:

  • Understood the task. The learner framed the goal for the assistant clearly instead of pasting the brief and hoping.
  • Grounded in the material. The learner directed the assistant into the provided files and based the work on them, not on invented facts.
  • Verified the output. The learner checked claims, numbers, or coverage against the source material before submitting.
  • Iterated with judgment. The learner refined weak parts of the draft with specific follow-ups rather than accepting the first answer.

Both scores, with the work behind them, go on your proof profile. That is what makes a claim like "I can use AI for javascript and typescript" something an employer can check.