Skip to content

Build and launch with OpenCode

Build, test and publish a useful app.

6 lessons

Your lessons

  1. Set up OpenCode and protect your credentials

    Understand the agent, model and app; choose an existing supported connection or manual practice; verify a local file and keep credentials out of published code.

    Continue
  2. Open the starter app and run it locally

    Create a three-file Task Tracker, serve it over HTTP, and prove that tasks persist only in this browser's localStorage.

  3. Define one useful feature with acceptance criteria

    Turn one user action into a FEATURE.md brief with 4–6 checkable criteria, then review an OpenCode plan before any code changes.

  4. Implement, inspect the diff, and troubleshoot locally

    Implement the agreed FEATURE.md, map every git diff hunk to a criterion, verify by hand, and fix the keyboard-focus defect that re-render causes.

  5. Choose Cloudflare Workers or Pages

    Pick Workers with static assets or Pages from current official behaviour, write a decision note, and preview locally on the matching port — without deploying yet.

  6. Deploy, verify live, and submit redacted evidence

    Deploy the tracker to a public https URL, keep secrets off the client (zero secrets for this app), re-run acceptance criteria live, and submit self-reported proof pending review.

Download starter files ↓

Your project

Build, test and publish a useful app.

Submit the live Task Tracker you built in this module: a public https URL, a short explanation of the feature and your contribution, and the checks you ran with what you observed. Tasks stay in the visitor's browser localStorage for that origin; they are not a shared server. Do not paste API keys, .env / .dev.vars, account emails, or billing. Saving stores self-reported evidence pending review. It is not an automated pass, a certificate, or instructor approval.

Check your work
  • Public https URL

    The submitted URL uses https and is not localhost, a private host, or a file path. A second device can open it.

  • Feature verified live

    Each FEATURE.md criterion has a pass/fail and one observed result recorded against the live URL, not only localhost.

  • Storage described honestly

    The explanation states that tasks live in browser localStorage for that origin, are not synced, and that a reviewer starts with an empty list.

  • No client secrets

    No API key, token, or password appears in the URL, explanation, checks, or screenshots. This app uses zero secrets unless a real server token was set with wrangler secret put or Pages Encrypt.

  • Keyboard and console

    A keyboard-only pass is described, and the live console had no errors and no OpenRouter, xAI, or other model-API calls from the page.

  • Evidence is self-reported

    The learner treats the save as pending review: not URL-fetched, not certified, and not a claim of instructor approval.

Open to everyone. Sign in only to save your progress and project evidence.

Sign in to save your progress