Inspiration

Learning Codex from an empty composer can be intimidating. Codex can inspect repositories, edit files, run tests, use a browser, and connect tools—but new learners still need a safe, concrete first move.

Sidequest turns that first move into a guided apprenticeship: choose a bounded outcome, ask Codex, watch the real project change, verify the result, reflect, and carry the workflow into the next task.

What it does

Sidequest is a local-first Codex apprenticeship with an interactive companion app. Each mission teaches a practical workflow through outcomes, exercises, evidence requirements, and reflection.

Sidequest 5.6 — The Ship Loop adds:

  • Prompt Clinic for improving unclear requests
  • Flight Recorder for recording evidence provenance
  • Ship with Sites for deployment readiness
  • Browser Proof for verifying the real served app
  • Safe Automations for designing bounded schedules and running local dry runs
  • Package the Workflow for creating a reusable $sidequest-ship-loop skill
  • Final Flight for assembling a local practice credential
  • Judge Mode for a concise offline walkthrough

The project distinguishes practice from verified evidence. It never pretends that a dry run activated a real automation, and it treats thread automations accurately as a Codex product capability—not a GPT-5.6 API feature.

How we built it

We started from an existing Sidequest repository and preserved its pre-extension baseline before adding the Build Week curriculum. The extension was developed in small phases with separate commits, automated tests, documentation, screenshots, and browser verification.

The app is built with zero-dependency HTML, CSS, and JavaScript, supported by a Node.js standard-library development server. Learner progress is persisted locally, with export and import support. Deterministic receipts make the practice workflows replayable without API billing.

Codex was used throughout the build to inspect the repository, edit the app, run tests, operate the browser, verify the served identity, check responsive layouts, and package the evidence.

Challenges we ran into

The hardest challenge was preserving honest evidence in an existing project. Sidequest existed before Build Week, so we kept the original baseline identifiable while documenting the new curriculum as an extension.

We also had to ensure that successful-looking demos did not overclaim. A local dry run is not a real automation. A deployment receipt is not universal hosted proof. A practice credential is not accredited certification.

Safety required careful boundaries around external writes, destructive actions, secrets, private resources, retries, cancellation, and approval. The interface explains why unsafe automation proposals are rejected instead of silently allowing them.

Accomplishments that we're proud of

We built a complete, playable apprenticeship around the real Codex workflow—not a static tutorial.

We are proud that Sidequest includes:

  • A coherent six-phase Build Week extension
  • 282 passing automated tests
  • A deterministic Flight Recorder and receipt system
  • Responsive desktop and mobile layouts
  • Browser, keyboard, persistence, accessibility, and console-health checks
  • Safe automation design with explicit approval boundaries
  • A reusable Ship Loop skill
  • A public hosted app and public demo video
  • Judge Mode separated from learner progress

What we learned

Evidence is a product feature. A prompt is not a workflow, a dry run is not an active automation, local proof is not hosted proof, and a practice credential is not certification.

The most reliable Codex workflows are bounded, observable, reversible, and easy to cancel. Learners should always understand what Codex may change, how success will be verified, what happens when something fails, and where approval is required.

What's next for Sidequest — The Ship Loop

The next step is to replay the reusable Ship Loop skill against a fresh project and verify another hosted candidate. Any external mutation or recurring automation should remain behind an explicit approval boundary.

Built With

Share this project:

Updates